![]() |
Listen vergleichen
So leutz,
Listen Problem. Ich habe 3 Listboxen. In der einen Stehen Verschiedene Namen : Thorsten, Christop ... ! in einer anderen stehen ebenfalls Namen: Thorsten, Christop, Sabine .... Ich möchte nun das verglichenwird, welche Einträge sowohl in der ersten als auch in der zweiten Listbox vorhanden sind. und diese Einträge sollen dann in die dritte Listbox gepackt werden. Wie geht das. Angefangen habe ich so:
Delphi-Quellcode:
Bis mir klar wurde:
for Int := 0 to Form1.ListBox2.Items.Count-1 do
Form1.Listbox2.ITems.IndexOf() Junge so geht das irgendwie nicht. Deshalb frage ich jetzt hier ;) |
Re: Listen vergleichen
Das könnte ich mir so vorstellen:
Delphi-Quellcode:
oder
for i:=0 to Listbox1.items.cont -1 do
begin gefunden:=false; for j:=0 to Listbox2.items.count -1 do begin if Listbox1.items[i] = Listbox2.items[j] then gefunden:=true; end; if gefunden then // copy listbox1.items[i] -> listbox3 end;
Delphi-Quellcode:
Grüße
for i:=0 to Listbox1.items.count -1 do
if listbox2.items.indexof(Listbox1.items[i]) > -1 then // add listbox1.items[i] -> listbox3 Klaus |
Re: Listen vergleichen
Ich denke so:
Delphi-Quellcode:
for i := 0 to ListBox1.Count -1 do
if ListBox2.Items.IndexOf(ListBox1.Items[i]) <> -1 then ListBox3.Items.Add(ListBox1.Items[i]); |
Re: Listen vergleichen
N1 Funtzt perfekt ;) THX
|
Re: Listen vergleichen
Letzteres Beispiel ist wohl die performantere Lösung.
Edit: Hat sich dann wohl erledigt. |
Re: Listen vergleichen
Hallo,
ich würde versuchen die visuellen Aspekte außen vor zu lassen:
Delphi-Quellcode:
Das ist die Vorgehensweise von Christian, nur dass sie keine Referenz auf visuelle Komponenten mehr enthält. Man kann dann so mit sortierten oder Hash-Listen Performanzgewinne realisieren.
procedure IntersectStrings(sResult, s1, s2: TStrings);
var i: Integer; begin sResult.BeginUpdate; sResult.Clear; for i := 0 to Pred(s1.Count) do if s2.IndexOf(s1[i]) >= 0 then sResult.Add(s1[i]); sResult.EndUpdate; end; Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:53 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