Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Alle Einträge die sich in ListBox2 befinden in ListBox1 lösc (https://www.delphipraxis.net/44729-alle-eintraege-die-sich-listbox2-befinden-listbox1-loesc.html)

Delphi Star 23. Apr 2005 16:36


Alle Einträge die sich in ListBox2 befinden in ListBox1 lösc
 
Wie kann man alle Einträge die sich in ListBox2 befinden in ListBox1 löschen :?:

fred.reichbier 23. Apr 2005 16:40

Re: Alle Einträge die sich in ListBox2 befinden in ListBox1
 
hi
Delphi-Quellcode:
var i: Integer;
...
for i := 0 to ListBox1.Items.Count - 1 do
begin
if ListBox2.Items.IndexOf(ListBox1.Items[i]) <> -1 then
begin
ListBox2.Items.Delete(ListBox2.Items.IndexOf(ListBox1.Items[i]));
end;
end;
meintest du sowas?
ist jetzt nicht getestet...
mfg,
fred

alcaeus 23. Apr 2005 16:48

Re: Alle Einträge die sich in ListBox2 befinden in ListBox1
 
Ja, funktioniert wenn man
Delphi-Quellcode:
for i := 0 to ListBox1.Items.Count - 1 do
in
Delphi-Quellcode:
for i := ListBox1.Items.Count - 1 downto 0 do
aendert. Warum? Wurde hier schon oft besprochen ;)

Greetz
alcaeus

Bernhard Geyer 23. Apr 2005 16:56

Re: Alle Einträge die sich in ListBox2 befinden in ListBox1
 
Nein, auch der Lauf von 0...Count-1 funktioniert im o.g. Beispiel.
Die downto-Variante ist nur dann nötig, wenn auch in der ListBox1.Items-Stringliste gelöscht würde.
Da AFAIK Count-1 u.U. nur am Anfang der Schleife überprüft wird (Optimierung!?) würde es zu einem Indexfehler kommen, wenn aus der entsprechende Stringliste Elemente gelöscht werden.

alcaeus 23. Apr 2005 16:57

Re: Alle Einträge die sich in ListBox2 befinden in ListBox1
 
:wall: Klar. Ist ne Gewohnheit, jede Schleife in der was geloescht wird "downto" zu machen ;)

Greetz
alcaeus


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:39 Uhr.

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