Hallo leutz,
ich habe folgendes Problem:
In meinem Programm lade ich eine Textdatei in eine TStringlist,die möglicherweise Leerzeilen und Leerzeichen enthalten kann.
Die TStringlist möchte ich von den Leerzeilen und Leerzeichen, die am ende einer Zeile sind bereinigen (nur die Leerzeichen die am ende einer Zeile sind möchte ich weg haben, nicht die dazwischen sind)
Habe schon vieles ausprobiert doch es kommt ständig zu Programmabstürzen.
Hier sind zwei meiner mehreren Versuche:
Variante 1:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| index.LoadFromFile(dlg_openindexfile.FileName);
i:=0; while (i<=index.Count-1) do begin datei := index[i]; if (datei[length(datei)] = ' ') then begin datei := copy(datei,0,Length(datei)-1); index[i] := datei; end else if datei = '' then begin index.Delete(i); end else inc(i); end; |
Variante 2:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| for I := 0 to index.Count - 1 do begin if index[i] <> '' then begin datei := index[i]; while (datei[length(datei)] = ' ') and (index[i] <> '')do begin datei := copy(datei,0,Length(datei)-1); index[i] := datei; end; end; end;
i := 0; while (i<=index.Count-1) do begin if index[i] = '' then begin index.Delete(i); end else inc(i); end; |
bei Variante 2 funktionierte die zweite Hälfte, die die TStringlist von Leerzeilen befreite.
Bekomme bei beiden Variante eine Fehlermeldung "Zugriffsverletzung bei Adresse ******"
Kann mir jemand bitte helfen?