Forum: Object-Pascal / Delphi-Language
by p80286,
17. Feb 2014
Kaum ist man ein WE nicht da überschlägt sich alles.
sl.Exchange(i, sl.Count - 1 - k);
Hierbei verschwinden die zu löschenden Zeilen werden aber durch Zeilen vom Listenende ersetzt.
Oder hab ich da etwas falsch verstanden?
ich hab es jetzt erst einmal mit
for i:=0 to Liste.Count-1 do
if Liste<>'' then // oder anderer Inhalt
TempListe.add:=Liste;
Forum: Object-Pascal / Delphi-Language
by p80286,
14. Feb 2014
Das ist ein Wort!
ich war mir nicht sicher ob nicht vielleicht doch die Inhalte kopiert werden!
Gruß
K-H
Forum: Object-Pascal / Delphi-Language
by p80286,
14. Feb 2014
So chefe stört nicht mehr...
erst einmal vielen Dank für die vielen Rückmeldungen.
Zunächst, alle Zeilen müssen vorliegen und erst dann entscheidet sich welche Zeilen gelöscht werden. Sehr oft sind Leerzeilen betroffen und dafür hab ich dann eine Spezialbehandlung.
Die Lösung "nicht einlesen" entfällt daher.
Die Prüfung auf Stringlist='' hab ich ausprobiert und gefühlt sind da ein paar...
Forum: Object-Pascal / Delphi-Language
by p80286,
14. Feb 2014
Es geht nur um die Schleife!
(die paar Sekunden für das Laden kann man ignorieren)
Beim letzten Lauf ging es um 20 Mio. Zeilen und ca 1,8 Gbyte.
Gruß
K-H
Forum: Object-Pascal / Delphi-Language
by p80286,
14. Feb 2014
Hallo zusammen,
ich muß des öfteren aus recht größen Textdateien bestimmte Zeilen löschen. Dies mache ich z.Zt. so
{leerzeilen löschen}
Stringliste.loadfromfile('Testdatei');
..
for i:=Stringliste.count-1 downto 0 do
if length(Stringliste)=0 then Stringliste.delete(i);