Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Zeile im Memo löschen (https://www.delphipraxis.net/23540-zeile-im-memo-loeschen.html)

Lantis 4. Jun 2004 17:43

Re: Zeile im Memo löschen
 
Hi, versuch's mal so:
Delphi-Quellcode:
var i,int:integer;
begin
  for i:=memo1.Lines.Count-1 downto 0 do
    if TryStrToInt(Trim(memo1.Lines[i]), int) // Prüfung ob Integer
      then memo1.Lines.Delete(i);
  end;
end;
das Trim, falls Leerzeichen stören

Gruß Lantis

Nicodius 4. Jun 2004 17:46

Re: Zeile im Memo löschen
 
hey trystrtoint ist ja echt super das kannte ich nicht mal :D

Lantis 4. Jun 2004 17:49

Re: Zeile im Memo löschen
 
Hi, versuch's mal so:
Delphi-Quellcode:
var i,int:integer;
begin
  for i:=memo1.Lines.Count-1 downto 0 do
    if TryStrToInt(Trim(memo1.Lines[i]), int) // Prüfung ob Integer
      then memo1.Lines.Delete(i);
  end;
end;
das Trim, falls Leerzeichen stören

Gruß Lantis

SirThornberry 4. Jun 2004 17:49

Re: Zeile im Memo löschen
 
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 :cry: und TryStrToInt hab ich auch ni verwendet... die perfekte Lösung wurde somit gepostet[Edit]

Spike2k3 4. Jun 2004 17:49

Re: Zeile im Memo löschen
 
ich auch nich, aber scheinbar funzt es :)

Danke digga :)
und es werden auch bei tausendmal klicken nur die festgelegten werte entfernt :)
BiG THX :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:33 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz