Hallo,
ich habe folgendes Problem:
Ich lade eine Textdatei in eine StringList ein.
Die hat etwa den Text
Code:
// Kommentar
Wichtiger Text
// Unwichtiger Text
Kein Kommentar
Und alles, was mit \\ markiert ist, soll weg.
Wenn ich das in eine Schleife packe, habe ich aber das Problem, dass sich beim Löschen einer Zeile die Gesamtzahl der Zeilen verkleinert. Wenn die Schleife dann ein paar Zeile rausgefiltert hat, übersteigt die Schleifenvariable logischerweise die Gesamtzeilenzahl, und ich erhalte die schöne Fehlermeldung "Listenindex überschreitet Maximum".
Gibt es da vielleicht eine Möglichkeit, die Löschungen unabhängig von der Anzahl zu machen?
Hier mein bisheriger Code:
Delphi-Quellcode:
SL := TStringList.create;
try
SL.LoadFromFile(GetCurrentDir + '\info.txt');
for Zeile := 0 to SL.Count do
begin
if (DelStr(Sl.Strings[Zeile], 3, (Length(SL.Strings[Zeile]) - 2)) = '\\') then
Sl.Delete(Zeile);
end;
ShowMessage(SL.Text);
finally
SL.Free;
end;
Bei DelStr handelt es sich übrigens um eine Funktion, die das Gleiche wie Delete macht, nur eben als Funktion.
Danke,
ManuMF