Text am ende der Datei schreiben?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

blackmaster

Betreff: Text am ende der Datei schreiben?

BeitragFr, Jan 05, 2007 13:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
wisst ihr vieleicht mit welchem befehl ich ein text am ende der Datei schreiben kann?
Ich hab das so versucht:

Code: [AUSKLAPPEN]
WriteLine Datei, Texte$


aber so wird die ganze Datei überschrieben Crying or Very sad

Es wäre sehr nett, wenn mir einer Helfen könnte.
Vielen Dank!

Gruss Markus

5k41

BeitragFr, Jan 05, 2007 13:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
file = Writefile("datei.txt")
Seekfile file,FileSize(file)
Writeline file,"blub"
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
 

blackmaster

BeitragFr, Jan 05, 2007 13:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke dir,
es geht aber trotzdem nicht, wenn ich das ausführe, dann sind die andere texte verschwunden in der datei und der Neue Text ist dann in der Datei.
Woran kann das liegen?

Gruss Markus

StepTiger

BeitragFr, Jan 05, 2007 14:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Laughing

Fangen wir mal an:

WriteFile überschreibt die vorher vorhandene Datei. OpenFile wäre hier also sinnvoller.
FileSize fragt nach dem Dateipfad, nicht nach dem Stream einer geöffneten Datei.

Dürfte also so aussehen.

Code: [AUSKLAPPEN]
file$="datei.txt"
stream=OpenFile(file$)
SeekFile stream,FileSize(file$)
WriteLine stream,blabla$
CloseFile stream


Dürfte funktionieren.
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.
 

BlitzBasic303

Betreff: RE:

BeitragFr, Jan 05, 2007 14:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm also wenn du es nicht einfacher hinbekommst könntest du mit ReadLine jede Zeile erstmal auslesen und dann mit WriteLine jede Zeile wieder schreiben, so würde es auf jeden Fall funktionieren.

(Zur Beispiel:)
Code: [AUSKLAPPEN]

File=openfile("File.ini")
Line1=readline(File)
Line2=readline(File)
...
WriteLine File,Line1
WriteLine File,Line2
...


Mfg

Blitz303

5k41

BeitragFr, Jan 05, 2007 14:09
Antworten mit Zitat
Benutzer-Profile anzeigen
sorry, war quick n dirty, die Zeile: FIleSize(file) muss FileSize("datei.txt") heißen!

MfG

~edit~
verdammt war ich langsam Wink
hier ne kleine Funktion dazu:
Code: [AUSKLAPPEN]

WriteAtEndOfFile "datei.txt","blub"

Function WriteAtEndOfFile(filename$,strg$)
   file = OpenFile(filename$)
   SeekFile file,FileSize(filename$)
   WriteLine file,strg$
   CloseFile file
End Function
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
 

BlitzBasic303

BeitragFr, Jan 05, 2007 14:19
Antworten mit Zitat
Benutzer-Profile anzeigen
@5k41: Mmmh also damit wirds nicht in eine neue Zeile geschrieben sondern nur hinten an die letzte Zeile dran
Meine Lösung dazu:
Code: [AUSKLAPPEN]

WriteAtEndOfFile "datei.txt","blub"

Function WriteAtEndOfFile(filename$,strg$)
   file = OpenFile(filename$)
   SeekFile file,FileSize(filename$)
   LineLast$=ReadLine(file)
   WriteLine file,strg$
   CloseFile file
End Function

StepTiger

BeitragFr, Jan 05, 2007 14:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist irgendwie eine ziemlich sinnlose Lösung. ReadLine wartet auf die Zeichenabfolge 13->10 (Ende der Zeile, Beginn neue Zeile)
Nutzt man also beim Schreiben immer WriteLine, so ist ReadLine vollkommen zwecklos. (wird es bestimmt auch so sein, da ja nichts mehr kommt, wenn man am Ende der Datei ist.)
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.

5k41

BeitragFr, Jan 05, 2007 14:27
Antworten mit Zitat
Benutzer-Profile anzeigen
also bei mir funktionierts auch nur mit meiner Lösung...

MfG
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
 

BlitzBasic303

Betreff: RE:

BeitragFr, Jan 05, 2007 14:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Es funktioniert aber... So:
Code: [AUSKLAPPEN]

WriteAtEndOfFile "datei.txt","blub"

Function WriteAtEndOfFile(filename$,strg$)
   file = OpenFile(filename$)
   SeekFile file,FileSize(filename$)
   WriteLine file,Chr(10)+strg$
   CloseFile file
End Function

werden noch drei dieser kleinen Vierecke (ASCII Code 127) geschrieben

EDIT: Muss Blackmaster wissen welches bei im funktioniert...

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group