![]() |
Dateienlesen und schreiben mit readln und writeln
Hallöchen wiedermal!
Ich möchte mithilfe von Readln(F: TextFile, S: String) (der so) und so weiter eine Datei bearbeiten. Einige Werte wurden vorher aus der Datei gelesen, dabei handelt es sich jeweils um komplette Zeilen, alle, die mit "bind" anfangen. Jetzt wurden diese Werte bearbeitet und sollen wieder in die Datei, die alten bind-Zeilen aber weg! Ich hab's so probiert:
Delphi-Quellcode:
Wie heißt der Befehl zum Zeile Löschen oder wie könnte ich es anders lösen?
var
F: Textfile; I: Integer; S: String; begin try AssignFile(F, FN.Text); Reset(F); While Eof(F) = False do begin Read(F, S); if Pos('bind', S) = 1 then // hier wird geprüft, ob die Zeile eine "bind"-Zeile ist Writeln; // wenn ja, dann soll diese Zeile gelöscht werden, ich weiß aber nicht wie man das macht end; for I := 0 to Liste.Items.Count-1 do // am Zeilenende werden die veränderten Werte wieder angefügt Writeln(F, 'bind "'+Liste.Items[I].Caption+'" "'+Liste.Items[I].SubItems[0]+'"'); finally CloseFile(F); end; end; |
Re: Dateienlesen und schreiben mit readln und writeln
Denk mal andersrum. Les alle Zeilen und schreib alle, Zeilen außer die die du nicht willst.
|
Re: Dateienlesen und schreiben mit readln und writeln
Delphi-Quellcode:
Ungetestet, probier'S mal.
var F,G:textfile;
s:string; assignFile(F,'Dat1.txt'); reset(F); assignFile(G,'Dat2.txt'); rewtite(G); while not eof(F) do begin readln(F,s); if Pos(bind,S) <> 1 then writeln(G,S); end; |
Re: Dateienlesen und schreiben mit readln und writeln
Die Datei muss den gleichen Namen behalten.
Ich könnte erstmal auch nur die Zeilen überschreiben, da nur selten etwas dazukommen wird, und dadurch nichts anderes wichtiges überschrieben wird. Aber wie überschreibe ich die Zeile? Ich muss ja auch erstmal testen, ob "bind" in ihr vorkommt.
Delphi-Quellcode:
???
Read(F, S);
if Teste(S) then Writeln(F, SNeu); |
Re: Dateienlesen und schreiben mit readln und writeln
Lad das Ding doch in eine Stringliste, wenn es nicht unbedingt mit readln und writeln sein muss.
|
Re: Dateienlesen und schreiben mit readln und writeln
Nagut, dann mach ich's halt so, ich wollt's halt mal anders probieren.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz