Zitat von
Dax:
Zitat von
Tyrael Y.:
downto ist dein freund
Der andere Freund hieße repeat oder while.
Delphi-Quellcode:
i := 0;
while i < list.Count do
begin
if list[i] = Suchstring then
List.Delete(i);
Inc(i);
end;
// bzw
repeat
if list[i] = Suchstring then
List.Delete(i);
Inc(i);
until i = List.Count;
Aber auch nur, wenn list.Count bei jedem Durchlauf aktualisiert wird. Ansonsten gibt es
IMHO den gleichen Fehler, wie in einer for-Schleife, da die while- oder repeat-Schleife dann übers Ziel hinaus läuft.
Gruß
Christian