Dateien schreiben
Übersicht

![]() |
TheProgrammerBetreff: Dateien schreiben |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi.
Wenn ich Dateien schreibe, sieht das filgendermaßen aus: Code: [AUSKLAPPEN] file = Writefile(...) writeline file,... writeline file,... ... closefile file WriteLine fängt aber immer eine neue Zeile an. Gibt es einen Befehl, der die Daten in der selben Zeile weiter schreibt? |
||
aktuelles Projekt: The last day of human being |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
mit writestring | ||
[BB2D | BB3D | BB+]
|
![]() |
TheProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aha...Danke!!! ![]() |
||
aktuelles Projekt: The last day of human being |
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
nope - code einen eigene funktion und benutze writebyte dazu... | ||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
- Zuletzt bearbeitet von TheShadow am Sa, Apr 10, 2004 13:22, insgesamt einmal bearbeitet
![]() |
wunderkind |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] ; Save strings
f = WriteFile("text.txt") ; create file WriteString(f,"STRINGNUMMEREINS") WriteString(f,"stringnummerzwei") CloseFile(f) ; Read saved strings f = OpenFile("text.txt") Print(ReadString(f)) Print(ReadString(f)) CloseFile(f) While Not KeyHit(1) Wend End |
||
Edlothiol |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das funktioniert, ist jedoch nicht das gleiche wie WriteLine ohne Zeilenumbruch. WriteString speichert nämlich vor dem String noch seine Länge als normalen Integer. Um normalen Text ohne Zeilenumbruch zu schreiben, muss mans so machen wie TheShadow sage, z.B. so:
Code: [AUSKLAPPEN] Function WriteText(txt$,file)
Müsste so klappen, ich habs aber nicht getestet. So wird jedes Byte einzeln in die Datei geschrieben.
For i = 1 To Len(txt) WriteByte Asc(Mid(txt$,i,1)), file Next End Function |
||
![]() |
wunderkind |
![]() Antworten mit Zitat ![]() |
---|---|---|
Damit fehlt dir aber die Länge, die du zum Laden wieder brauchst. WriteString() speichert sie gleich mit, die Länge (s. dein Beitrag).
Das Ganze müsste dann z.B. wie folgt nachgebildet werden: Code: [AUSKLAPPEN] f = WriteFile("test.txt")
WriteText("STRINGNUMMEREINS",f) WriteText("stringnummerzwei",f) CloseFile(f) f = OpenFile("test.txt") Print(ReadText(f)) Print(ReadText(f)) CloseFile(f) WaitKey() End Function WriteText(txt$,f) WriteByte(f,Len(txt$)) For i = 1 To Len(txt$) WriteByte(f,Asc(Mid(txt$,i,1))) Next End Function Function ReadText$(f) l = ReadByte(f) For i = 1 To l s$ = s$ + Chr$(ReadByte(f)) Next Return s$ End Function |
||
Edlothiol |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Arghl.
So einen Befehl gibts doch schon, (fast) das Gleiche macht WriteString. Nur speichert er die Länge als Int und nicht als Byte. Nochmal seine Frage: Zitat: Gibt es einen Befehl, der die Daten in der selben Zeile
Und dazu ist mein Code viel besser geeignet. Fertig.
weiter schreibt? |
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hier werden so viele Versionen gepostet ohne das jemand weiß,
was genau wie und warum gerade so oder so abgespeichert werden soll! Oder habe ich da was verpasst? Ein paar Info´s darüber würden da wirklich nicht schaden! |
||
[BB2D | BB3D | BB+]
|
Edlothiol |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
TheProgrammer hat Folgendes geschrieben: WriteLine fängt aber immer eine neue Zeile an.
Gibt es einen Befehl, der die Daten in der selben Zeile weiter schreibt? ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group