![]() |
3e Spalte Listview auf doppelte Eintraege kontrollieren?
Hallo Leute,
Ich moechte von meiner Listview die 3e Spalte kontrollieren auf doppelte Eintraege, hab auch schon etwas Code aber ich kom nicht weiter.
Delphi-Quellcode:
Kann mir jrmand bitte helfen?
procedure TMain.DoppeltClick(Sender: TObject);
var k : integer; begin for k := listview.Items.Count -1 downto 0 do begin if listview.Items.IndexOf(listview.Items.Item[k].SubItems[2]) <> k then listview.Items[k].Delete; end; end; Besten Dank im voraus. MFG, Lucius. |
Re: 3e Spalte Listview auf doppelte Eintraege kontrollieren?
Schmeiß doch alle Werte in eine TStringList wobei du Duplicates auf dupError setzt.
Dann kommt schon eine Exception wenn doppelter Eintrag gefunden wird. |
Re: 3e Spalte Listview auf doppelte Eintraege kontrollieren?
Hi Bernhard,
Ich wollte das aber mal ohne TStringList versuchen. |
Re: 3e Spalte Listview auf doppelte Eintraege kontrollieren?
Zitat:
Zwei verschachtelte Schleifen wobei die innere ab dem Item startet wo die äußere aktuell ist und anschließend vergleich der beiden ausgewählten Einträge. |
Re: 3e Spalte Listview auf doppelte Eintraege kontrollieren?
Habe jetzt folgenden Code aber der klappt noch nicht so ganz.
Delphi-Quellcode:
Gruss Lucius.
procedure TMain.DoppeltClick(Sender: TObject);
var D1, D2: integer; begin while D1 < listview.Items.Count do begin for D2 := (listview.Items.Count - 1) downto 0 do begin if (listview.Items.item[D1].SubItems[2] = listview.Items.item[D2].SubItems[2]) then listview.Items[D2].Delete; end; inc(D1); end; end; |
Re: 3e Spalte Listview auf doppelte Eintraege kontrollieren?
Probier mal
Delphi-Quellcode:
for D2 := (listview.Items.Count - 1) downto D1+1 do
|
Re: 3e Spalte Listview auf doppelte Eintraege kontrollieren?
Nee klappt nicht Bernard.
|
Re: 3e Spalte Listview auf doppelte Eintraege kontrollieren?
Was passiert denn?
|
Re: 3e Spalte Listview auf doppelte Eintraege kontrollieren?
Es passiert gar nichts bei dein Code Bernard, wenn ich meinen nehme loescht er wohl Items aber viel zu viele und danach gibts ne Exception.
|
Re: 3e Spalte Listview auf doppelte Eintraege kontrollieren?
Zitat:
Delphi-Quellcode:
durchläufst hat D2 irgendwann den Werte von D1 und damit wird das gerade aktuelle Item auch gelöscht, da der Vergleich immer True ist.
for D2 := (listview.Items.Count - 1) downto 0 do
|
Re: 3e Spalte Listview auf doppelte Eintraege kontrollieren?
Das stimmt und wie kriege ich das jetzt richtig hin?
Kann doch nicht so schwierig sein so ne Function zu schreiben oder ? Gruss Lucius. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:49 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