Thema: Delphi Zeile im Memo löschen

Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#14

Re: Zeile im Memo löschen

  Alt 4. Jun 2004, 18:49
eigentlich ist das
Delphi-Quellcode:
for i := Memo1.Lines.Count-1 do
  if Memo1.Lines.Strings[i] = '12then 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] = '12then 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]
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat