Entwickler-Ecke
Dateizugriff - Zeile aus Txt Löschen
Shoppix - Di 22.03.05 01:07
Titel: Zeile aus Txt Löschen
Hallo,
ich hoff ihr könnt mir helfen, ich habe folgendes problem:
ich will in einer Txt-Datei eine Zeile suchen zB suche Nach 'abc' wenn er es findet soll er die Zeile aus der Text-Datei löschen.
Also: TxtDatei vorher:
aaa
abb
abc
abb
aaa
txtdatei nachher:
aaa
abb
abb
aaa
ohne die lehrzeil! ich bin einfach zublöd sitze schon seit 3 tagen dran und habe alle foren durchgestöber... bidde ihr seit meine letzte hoffnung
thx
shoppix
delfiphan - Di 22.03.05 01:15
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| Var Liste : TStringList; Index : Integer; begin Liste := TStringList.Create; try Liste.LoadFromFile(Filename); Index := Liste.IndexOf('abc'); if Index >= 0 then begin Liste.Delete(Index); Liste.SaveToFile(Filename); end else ShowMessage('Nicht gefunden'); finally Liste.Free; end; end; |
retnyg - Di 22.03.05 01:23
mist...zu langsam ;) aber ein with wäre noch schöner gewesen
delfiphan - Di 22.03.05 01:34
Stimmt, ist aber klarer so... Vor allem für Anfänger. Die Anzahl Zeilen wär ja gleich, bis auf die Variablendeklaration ;)
delfiphan - Di 22.03.05 01:47
Gut, dann eben so :D
Da du angedeutet hast, dass ein String mehrfach vorkommen kann, hab ich das jetzt auch noch korrigiert.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| Var Index : Integer; begin with TStringList.Create do try LoadFromFile(Filename); repeat Index := IndexOf('abc'); if Index >= 0 then Delete(Index); until Index < 0; SaveToFile(Filename); finally Free; end; end; |
mael - Di 22.03.05 15:09
Ist in diesem Fall aber nicht schlimm, da es nicht in einer Schleife steht.
Ich denke Optimierung sollte nur dann angewendet werden, wenn es spürbare Vorteile bringt, sonst ist Wartbarkeit wichtiger.
P.S.: Meine Optimierungsseite ist nicht fertig und auch nicht wirklich aktuell, es stimmt zwar was draufsteht, aber es fehlt doch eine Menge.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!