Statt:
FileSeek(hdl,0,SEEK_SET); // Zeile löschen oder auskommentieren
1.) FileHandle schließen und neu öffnen - mit der Gefahr, dass wenn beim Schreiben etwas schief läuft, der Inhalt verloren gehen könnte.
FileClose(hdl); hdl=FileOpen(FileNamePair,FILE_WRITE|FILE_ANSI|FILE_BIN); // zum Schreiben eine leere Datei öffnendann weiter wie im Programm, oder
2.) Handle schließen, TmpFile öffnen schreiben und org. Datei durch TmpFile ersetzen.
Statt:
1.) FileHandle schließen und neu öffnen - mit der Gefahr, dass wenn beim Schreiben etwas schief läuft, der Inhalt verloren gehen könnte.
dann weiter wir im Programm, oder2.) Handle schließen, TmpFile öffnen schreiben und org. Datei durch TmpFile ersetzen.
danke, das wars.
ich hab dann noch eine Frage, ein File löschen ist ja kein Problem, dafür gibts ja FileDelete
ich kann auch prüfen ob ein File existiert mit FileIsExist,
aber kann ich auch eines erzeugen?
muss ich da einfach ein
hdl=FileOpen(FileNamePair,FILE_WRITE|FILE_ANSI|FILE_BIN);
und dann ein
FileWrite
machen?
danke
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Hallo,
ich versuche gerade eine Textzeile in einer Datei zu löschen. Das ganze gestaltet sich ja etwas schwierig, da ich ja String ersetzen kann, aber nicht löschen.
meine Idee war ja grundsätzlich, ich ersetzte den String was ich nicht will durch einen Zeilenumbruch und geb dann einfach die neuen Werte in die Datei.
Das Funktioniert soweit so gut, ich kann ein Symbol in der Datei suchen und es dann auch mit einem String ersetzen. Ob der String jetzt einfach leer ist oder ein Zeilenumbruch ist noch gar nicht das Problem
Das kommt erst beim reinschreiben.
Es wird ja alles korrekt geschrieben, die alten Zeilen werden überschrieben, was es auch tun soll, jedoch, wenn früher mehr Zeilen drin waren, löscht er die weiteren nicht raus.
Jemand eine Idee?