Zitat:
sl.Assign(slTmp);
Das kopiert aber auch nochmal die Liste. (notfalls könnte man aber auch einfach die beiden Objekte austauschen)
OK, diese Vorschläge aufgegriffen, bringt der Einbau in die von mir vorgeschlagene Variante es dann auf
299 Millisekungen:
Sollte jetzt reichen, oder?
Delphi-Quellcode:
var
slDummy: TSTringList;
begin
slTmp := TSTringlist.Create;
slTmp.Capacity := sl.Count;
for i := 0 to sl.Count - 1 do
if sl[i] <> '' then slTmp.Add (sl[i]);
slDummy := sl;
sl := slTmp;
slDummy.Free;