eigentlich ist das
Delphi-Quellcode:
for i := Memo1.Lines.Count-1 do
if Memo1.Lines.Strings[i] = '12' then Memo1.Lines.Delete(i);
schon beinahe die richtige lösung. Es sollte jedoch so aussehen
Delphi-Quellcode:
for i := Memo1.Lines.Count-1 downto 0 do
if Memo1.Lines.Strings[i] = '12' then Memo1.Lines.Delete(i);
downto damit nicht ein "Index out of Bounds" kommt...
und das ganze mit prüfung auf eine zahl zu verbinden sieht es dann so aus
Delphi-Quellcode:
for i := Memo1.Lines.Count-1 downto 0 do
begin
try
strtoint(Memo1.Lines.Strings[i]);
Memo1.Lines.Delete(i);
except end;
end;
Wenn in einer Zeile keine Zahl steht so wird eine
Exception ausgelöst (welche mit try-except abgefangen wird) und die nachfolgende Delete-anweisung wird nicht augeführt... Ist jedoch in der zeile eine zahl so wird keine
exception ausgelöst und die Delete-Anweisung wird ausgeführt
[Edit]Ich war wiedermal zu langsam
und TryStrToInt hab ich auch ni verwendet... die perfekte Lösung wurde somit gepostet[Edit]