txt Ergänzen und nicht Überschreiben

Anfängerfragen zum Programmieren mit PureBasic.
Zero_Cool
Beiträge: 84
Registriert: 04.12.2004 15:14

txt Ergänzen und nicht Überschreiben

Beitrag von Zero_Cool »

Hallo Zusammen

Ich verwende folgenden Code

Code: Alles auswählen

File1 = ReadFile(#PB_Any, "c:\Programme\File Download\rec.tmp") 
If File1 
  File2 = CreateFile(#PB_Any, "c:\Programme\File Download\out.txt") 
  If File2 
    While Eof(File1) = #False 
      UseFile(File1) 
      Text$ = ReadString() 

        UseFile(File2) 
        WriteStringN(Text$)
    Wend 
    CloseFile(File1) 
    CloseFile(File2) 
  EndIf 
EndIf
Nun möchte ich, dass bei jedem ausführen dieses Code, die out.txt ergänzt aber nicht überschrieben wird? Wie kann ich das bewerkstelligen?

Danke und Gruss Phil
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

Nimm statt CreateFile() OpenFile() geh zum Ende der Datei und schreibe da weiter.

KeyKon
(\/) (°,,,°) (\/)
Zero_Cool
Beiträge: 84
Registriert: 04.12.2004 15:14

Beitrag von Zero_Cool »

Okay, das mit Create File leuchtet mir ein, mit welchem Befehl kann ich bis ans Ende der Datei?
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

Entweder du liest bis zum Ende (is aber lahm) oder du gehst mit FileSeek() ans Ende (besser).

KeyKon
(\/) (°,,,°) (\/)
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Bei geöffneter Datei springst du mit

Code: Alles auswählen

FileSeek(Lof(#Datei))
zum Ende der Datei. Ich weiß aber grad nicht, ob du #Datei (Dateihandle) angeben musst oder nicht.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

Muss er nich er muss nur vorher UseFile(#File) machen.

KeyKon
(\/) (°,,,°) (\/)
Zero_Cool
Beiträge: 84
Registriert: 04.12.2004 15:14

Beitrag von Zero_Cool »

Super! Hat alles besten geklappt! Danke für die Hilfe!
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

KeyKon hat geschrieben:Muss er nich er muss nur vorher UseFile(#File) machen.

KeyKon
Nicht notwendiger weise:
ich sagte "bei geöffneter Datei", dadurch wird die aktuelle Datei auf die gerade, zu weiterbearbeitende Datei gesetzt. Öffne ich also eine Datei z. B. mit OpenFile() ist es so, als würde die funktion auf gleich ein UseFile() ausführen.

Naja, schön, wenns geklappt hat.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

AND51 hat geschrieben:
KeyKon hat geschrieben:Muss er nich er muss nur vorher UseFile(#File) machen.

KeyKon
Nicht notwendiger weise:
ich sagte "bei geöffneter Datei", dadurch wird die aktuelle Datei auf die gerade, zu weiterbearbeitende Datei gesetzt. Öffne ich also eine Datei z. B. mit OpenFile() ist es so, als würde die funktion auf gleich ein UseFile() ausführen.
Is mir schon klar, aber wenn man dann zufällig was zwischen Datei öffnen und springen schreibt (aus welchem Grund auch immer) guckt man manchmal schon etwas lange wo der blöde Fehler ist...

KeyKon
(\/) (°,,,°) (\/)
Antworten