AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi 3e Spalte Listview auf doppelte Eintraege kontrollieren?
Thema durchsuchen
Ansicht
Themen-Optionen

3e Spalte Listview auf doppelte Eintraege kontrollieren?

Ein Thema von lucius · begonnen am 5. Dez 2005 · letzter Beitrag vom 5. Dez 2005
Antwort Antwort
Seite 1 von 2  1 2      
lucius

Registriert seit: 6. Okt 2005
Ort: Niederlande
215 Beiträge
 
Delphi 7 Enterprise
 
#1

3e Spalte Listview auf doppelte Eintraege kontrollieren?

  Alt 5. Dez 2005, 14:21
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:
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;
Kann mir jrmand bitte helfen?
Besten Dank im voraus.

MFG, Lucius.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: 3e Spalte Listview auf doppelte Eintraege kontrollieren?

  Alt 5. Dez 2005, 14:24
Schmeiß doch alle Werte in eine TStringList wobei du Duplicates auf dupError setzt.
Dann kommt schon eine Exception wenn doppelter Eintrag gefunden wird.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
lucius

Registriert seit: 6. Okt 2005
Ort: Niederlande
215 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: 3e Spalte Listview auf doppelte Eintraege kontrollieren?

  Alt 5. Dez 2005, 14:33
Hi Bernhard,

Ich wollte das aber mal ohne TStringList versuchen.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: 3e Spalte Listview auf doppelte Eintraege kontrollieren?

  Alt 5. Dez 2005, 14:34
Zitat von lucius:
Hi Bernhard,

Ich wollte das aber mal ohne TStringList versuchen.
na wenn's sein Muss.

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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
lucius

Registriert seit: 6. Okt 2005
Ort: Niederlande
215 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: 3e Spalte Listview auf doppelte Eintraege kontrollieren?

  Alt 5. Dez 2005, 14:55
Habe jetzt folgenden Code aber der klappt noch nicht so ganz.

Delphi-Quellcode:
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;
Gruss Lucius.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: 3e Spalte Listview auf doppelte Eintraege kontrollieren?

  Alt 5. Dez 2005, 14:57
Probier mal

for D2 := (listview.Items.Count - 1) downto D1+1 do
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
lucius

Registriert seit: 6. Okt 2005
Ort: Niederlande
215 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: 3e Spalte Listview auf doppelte Eintraege kontrollieren?

  Alt 5. Dez 2005, 15:00
Nee klappt nicht Bernard.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: 3e Spalte Listview auf doppelte Eintraege kontrollieren?

  Alt 5. Dez 2005, 15:03
Was passiert denn?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
lucius

Registriert seit: 6. Okt 2005
Ort: Niederlande
215 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: 3e Spalte Listview auf doppelte Eintraege kontrollieren?

  Alt 5. Dez 2005, 15:15
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.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: 3e Spalte Listview auf doppelte Eintraege kontrollieren?

  Alt 5. Dez 2005, 15:25
Zitat von lucius:
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.
Wenn Du mittels
for D2 := (listview.Items.Count - 1) downto 0 do 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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:57 Uhr.
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