Eine Codezeile auf zwei Zeilen verteilen
Übersicht BlitzBasic Beginners-Corner
WipffinderBetreff: Eine Codezeile auf zwei Zeilen verteilen |
Mi, Feb 12, 2014 15:16 Antworten mit Zitat |
|
---|---|---|
Hallo zusammen
Ich bin neu in diesem Forum kenne BlitzBasic aber bereis seit einiger Zeit. Nun bin ich auf ein Problem gestossen. Ich möchte einem string einen sehr langen Text zuweisen. Nun könnte man alles auf eine Zeile schreiben. Es wäre aber viel übersichtlicher wenn man den Text auf mehrere Zeilen im Code verteilen könnte. SuFu hat leider nichts ausgespuckt, aber vielleicht habe ich nur die falschen Begriffe gesucht. BlitzBasic: [AUSKLAPPEN]
|
||
Matthias |
Mi, Feb 12, 2014 15:21 Antworten mit Zitat |
|
---|---|---|
Hay Wipffinder.
Willkommen im Forum. Du kannst Strings Addieren. Code: [AUSKLAPPEN] textchen$ = "bla bla bla bla bla bla bla bla bla" textchen$ = textchen$ +" bla bla bla bla bla bla bla bla bla" Mfg Matz. |
||
Wipffinder |
Mi, Feb 12, 2014 15:25 Antworten mit Zitat |
|
---|---|---|
Danke für die sehr schnelle Antwort!
Stimmt das geht. Aber geht das "eleganter"? Sonst mache ich es so |
||
Matthias |
Mi, Feb 12, 2014 16:54 Antworten mit Zitat |
|
---|---|---|
Nein. Leider nicht.
Unter BlitzMax geht das mit .. Aber unter BlitzBasic leider nicht. |
||
BladeRunnerModerator |
Mi, Feb 12, 2014 17:26 Antworten mit Zitat |
|
---|---|---|
Die Standard IDE kann das nicht, aber schau Dir mal IDEal an, die IDE hat einen line-wrapping-mode. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Wipffinder |
Mi, Feb 12, 2014 18:36 Antworten mit Zitat |
|
---|---|---|
Gut, versuche mal IDEal | ||
Dottakopf |
Do, Feb 13, 2014 15:44 Antworten mit Zitat |
|
---|---|---|
Defenetiv IDEAL.. mit der Standard IDE sollte man auf keinen fall Blitzbasic 3D Coden.
Nimm dir die Zeit IDEAL zu konfigurieren. Ohne das ist coden absolsut bescheiden. |
||
Rechtschreibfehler gelten der allgemeinen Belustigung! |
Thunder |
Do, Feb 13, 2014 23:22 Antworten mit Zitat |
|
---|---|---|
Dann willkommen im Forum! Was für ein Glück, dass noch manche den Weg hierher finden
Nein, BlitzMax kann das auch nicht. Tatsächlich ist es so, dass weder BB noch BMax erlauben, ein Stringliteral auf mehrere Zeilen zu verteilen. Es wäre natürlich nützlich. Über IDEal kann ich nichts sagen - außer, dass es mir unbequem war. Umwege direkt in BB sind: - Das was Matthias schon gesagt hat ist wahrscheinlich am hilfreichsten. Selbst wenn es sehr viel Text ist kannst du den Code auch in eine eigene Codedatei auslagern und mit Include laden. Code: [AUSKLAPPEN] txt$ = "abcdefghijkl"
txt = txt + "mnopqrstuvwxyz" Möglich wäre aber auch: - In einer Datei oder - in Data-Blöcken speichern und von dort laden: BlitzBasic: [AUSKLAPPEN]
|
||
- Zuletzt bearbeitet von Thunder am Do, Feb 13, 2014 23:53, insgesamt 2-mal bearbeitet
BladeRunnerModerator |
Do, Feb 13, 2014 23:33 Antworten mit Zitat |
|
---|---|---|
Bmax:
Code: [AUSKLAPPEN] SuperStrict
Local s:String = "bla" + .. "Blub" |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Thunder |
Do, Feb 13, 2014 23:51 Antworten mit Zitat |
|
---|---|---|
Du verkettest zwei Strings mit Plus, das ist nicht unbedingt das, wonach Wipffinder gefragt hat, aber es ist wahrscheinlich der beste Umweg. Ich editiers dazu, dass ich meine Vorschläge anders gemeint hab. In D gibts z.B. dreifache Anführungszeichen:
Code: [AUSKLAPPEN] string x = """ hier beginnt ...
... ... und hier endet der string"""; Wollte nur sagen, dass es sowas in BB und BMax nicht gibt. O_o mein tausendster Beitrag, möge das Portal noch lange überdauern! |
||
Wipffinder |
Fr, Feb 14, 2014 17:30 Antworten mit Zitat |
|
---|---|---|
@Thunder
BlitzBasic: [AUSKLAPPEN] Local file = ReadFile("langer_string.txt") Super Lösung, genau das was ich brauche! Nun noch eine kleine weitere Frage. Muss man den stream file unbedingt wieder mit CloseFile() schliessen? Oder schliesst sich der stream falls man einen neuen öffnet? Zur Info, ich öffne in meinem Prog sehr häufig eine Datei. |
||
DAK |
Fr, Feb 14, 2014 17:34 Antworten mit Zitat |
|
---|---|---|
Schließen ist schon gut, weil wenn du das nicht tust hat dein Programm einen Lock auf der Datei bis dein Programm geschlossen wird. Dadurch kann kein anderes Programm die Datei überschreiben oder löschen.
Beim öffnen eines neuen Streams wird der Alte nicht automatisch geschlossen. Man könnte ja z.B. mehrere Streams parallel offen haben wollen. |
||
Gewinner der 6. und der 68. BlitzCodeCompo |
Wipffinder |
Fr, Feb 14, 2014 17:39 Antworten mit Zitat |
|
---|---|---|
Zitat: einen Lock auf der Datei
Heisst das, dass die Datei für einen Schreib/Lesezugriff geöffnet ist ohne dass sie in den RAM geladen wird? Die anderen Load Befehle von B3D schreiben die geöffnete Datei in den Arbeitsspeicher glaube ich zumindest (LoadTexture, LoadMesh, LoadSound etc.) |
||
Thunder |
Fr, Feb 14, 2014 18:20 Antworten mit Zitat |
|
---|---|---|
ReadFile, OpenFile und WriteFile sind Befehle, mit denen du direkt auf Dateien arbeiten kannst und sie liefern einen Handle auf einen Stream zurück.
Die Datei wird nicht in den RAM geladen, wenn sie gelesen wird, sondern stückweise von der Festplatte über den Stream gelesen. Je nachdem welche Einheiten du lesen willst, stehen dir ReadByte, ReadShort, ReadInt, ReadFloat, ReadLine und ReadString zur Verfügung. Solange du den Stream auf eine Datei nicht schließt und dein Programm läuft, kannst du die Datei im Normalfall nicht über ein anderes Programm löschen (also im Explorer z.B.) und auch nicht schreibend auf sie zugreifen. Wenn du du den einen Stream nicht mehr brauchst und dann einen anderen in derselben Variable öffnest: BlitzBasic: [AUSKLAPPEN] Local file = ReadFile("langer_string.txt") dann geht dir der erste Handle verloren und der Stream bleibt offen, bis dein Programm beendet ist. Es ist also nicht nur eine Sache des guten Stils, dass man Sachen, die man aufgemacht hat, auch wieder schließt Edit: Und wenn dein Programm häufig eine Datei öffnet, solltest du dir überlegen, ob sie nicht offengelassen werden kann. Nur, wenn es das Programm nicht unnötig komplizierter macht. |
||
Wipffinder |
Fr, Feb 14, 2014 18:50 Antworten mit Zitat |
|
---|---|---|
Danke! Nun verstehe ich die ganze Sache besser. | ||
DAK |
Fr, Feb 14, 2014 19:48 Antworten mit Zitat |
|
---|---|---|
@Häufig eine Datei öffnen: Ich würd mir da eher Gedanken darum machen, ob man die Datei wirklich so oft auslesen muss oder ob es nicht genügt, die Datei ein Mal ganz auszulesen und die Daten davon dann in ein Array oder ein paar Variablen zu packen.
Dann bäuchtest du es nicht die ganze Zeit offen haben und auch nicht so oft öffnen. |
||
Gewinner der 6. und der 68. BlitzCodeCompo |
Übersicht BlitzBasic Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group