Umbruch beim Programm schreiben

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

sorcerer999

Betreff: Umbruch beim Programm schreiben

BeitragSa, Mai 05, 2007 13:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo
Ich habe eine einfaches Problem, habe aber selber keine Lösung gefunden.
Ich schreibe gerade ein PBM Spiel.
Dabei erzeuge ich eine Config-Datei aus einem 15x45er Dim-Feld.
Der Befehel sieht so aus:
WriteLine stream, ship(x,0)+","+ship(x,1)+","+ship(x,2)+","+ship(x,3)+.....+ship(x,45)
Die Zeile ist ewig lang.
Kann man in Blitz 3D eine Zeile umbrechen, etwa in der Art von:
WriteLine stream, ship(x,0)+","+ship(x,1)+","+ship(x,2)+"," _
+ship(x,3)+....


Grüße Kai

Abrexxes

Betreff: Re: Umbruch beim Programm schreiben

BeitragSa, Mai 05, 2007 13:36
Antworten mit Zitat
Benutzer-Profile anzeigen
shipi = 0

For i = 1 to schiffe
buf1 = shipi+1
buf2 = shipi+2

WriteLine stream, ship(x,shipi)+","+ship(x,buf1)+","+ship(x,buf2)
shipi = shipi +3
next

[/quote]

Christoph

BeitragSa, Mai 05, 2007 13:38
Antworten mit Zitat
Benutzer-Profile anzeigen
du kannst auch (soweit ich weiß) mit ql:chr(13) einen Zeilenumbruch einfügen.

StepTiger

BeitragSa, Mai 05, 2007 13:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Chr(13)+Chr(10)
Um es förmlich richtig zu machen Wink
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.
 

Krümel

BeitragSa, Mai 05, 2007 13:46
Antworten mit Zitat
Benutzer-Profile anzeigen
einen Zeilenumbruch gibt's meines Wissens nach leider nicht.
aber in deinem Fall würde ich lieber mit WriteInt bzw writeFloat die Werte in die Datei schreiben, dann kannst Du später mit ReadInt (ReadFloat) die einzelnen Werte wieder auslesen ohne den Stringwert, den du mit ReadLine bekommen würdest mühsam auseinandernehmen zu müssen.

Wenn du trotzdem writeLine verwenden willst kannst du es auch so machen:

for t=0 to 45
a$=a$+ship(x,t)
if t<45 a$=a$+","
next
WriteLine stream,a$

Christoph

BeitragSa, Mai 05, 2007 13:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Krümel, es gibt einen Zeilenumbruch -.-

Look:

Code: [AUSKLAPPEN]
File=writefile("bla.txt")
WriteLine File, "Hallo, "+chr$(13)+chr$(10)+"wie gehts?"
Closefile File
  • Zuletzt bearbeitet von Christoph am Sa, Mai 05, 2007 13:58, insgesamt einmal bearbeitet

Smily

BeitragSa, Mai 05, 2007 13:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Doch man kann einen Zeilenumbruch mit chr$(10) + chr$(13) schreiben.

Aber man kann auch einfach mehrere Writeline-befehle bzw eine Schleife verwenden.

for y = 0 to 45
writeline fileout, ship(x,y)
next
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

Christoph

BeitragSa, Mai 05, 2007 14:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Doch man kann einen Zeilenumbruch mit chr$(10) + chr$(13) schreiben.

Andersrum, oder?

Der Editor zeigt bei mir zwei Kästen an, wenn ich erst chr(10) und dann chr(13 ) mache.
 

sorcerer999

BeitragSa, Mai 05, 2007 14:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo
Das mit A$ sieht sehr gut aus.
Es geht bei dem Zeilenumbruch nicht um einen Umbruch in dem Text in dem String, sondern darum, die Zeile in Blitzbasic, die den String schreibt in 2 Zeilen zu bekommen. Dann sieht man das Ende gleichzeitig mit dem Anfang.
In Visual Basic macht man das mit einem Unterstrich (so wie in meinem Beispiel oben).
Das mit a$ macht es aber noch wesentlich übersichtlicher.

Danke
Kai
 

sorcerer999

Betreff: PS.

BeitragSa, Mai 05, 2007 14:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Kommas sind wichtig, da ich die Werte mit der Funktion Zahlausstring (Robs Tutorial) und meiner Textausstring wieder auslese.
Grüße und Danke nochmal
Kai

Smily

BeitragSa, Mai 05, 2007 14:15
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn du blos zahlen in den Variablen hast, geht es auch einfacher

Code: [AUSKLAPPEN]
Fileout = Writefile("data.dat")
for c = 0 to 45
  writeint fileout, ship(x,c)
next
closefile  fileout


Filein = Readfile("data.dat")
for c = 0 to 45
  ship(x,c) = Readint(filein)
next
closefile filein


Die funktion zahlausstring brauchste hier net ^^

Gruß, Smily0412
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org
 

sorcerer999

BeitragSa, Mai 05, 2007 14:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Stimmt schon, die Textzeilen gehen mit textausstring, der Rest mit writeint.
Aber mit Writeline habe ich eine lesbare Datei (Zahl,Zahl,Zahl.....)
Das Projekt ist ein PlayByMail Spiel für 8 Player mit je max. 15 Schiffe.
Mit den Zeilen schrieb ich die Config, Ergebnis und Host Dateien.
Es ist einfach einfacher (bei Programmieren und später), wenn ich den Inhalt lesen kann.
Grüße
Kai

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group