Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi treeview items nicht doppelt einfügen! (https://www.delphipraxis.net/60259-treeview-items-nicht-doppelt-einfuegen.html)

Kidix 4. Jan 2006 15:56


treeview items nicht doppelt einfügen!
 
Hi,


habe folgendes Problem...ich habe ein Treeview mit mehreren Items die ich aus einem String hole.

Jetzt möchte ich aber, falls ein Item mit dem gleichen Namen schon im Treeview vorhanden ist, dass kein neuer mehr mit dem namen angelegt wird.

wie mache ich das am schnellsten?

Gruß

Kidix

dahead 4. Jan 2006 16:11

Re: treeview items nicht doppelt einfügen!
 
am besten prüfst du vor dem anlegen der items in der treeview, ob die liste doppelte einträge enthält.

wenn es sich dabei um eine TStringList handelt, könnte dir die Eigenschaft "Duplicates -> dupIgnore" (beim Hinzufügen der Items zur Stringliste) helfen.

Falls nicht zwei for schleifen.

Kidix 4. Jan 2006 16:20

Re: treeview items nicht doppelt einfügen!
 
verstehe ich nicht so ganz

dahead 4. Jan 2006 16:22

Re: treeview items nicht doppelt einfügen!
 
tja, das ist natürlich blöd.

was verstehst du nicht?

Kidix 4. Jan 2006 16:27

Re: treeview items nicht doppelt einfügen!
 
das prüfen macht mir ja schwierigkeiten...

dahead 4. Jan 2006 16:34

Re: treeview items nicht doppelt einfügen!
 
fügst du die einzelnen strings in eine stringliste ein?

falls ja (siehe oben) hilft dir die eigenschaft Duplicates. Die änderst du auf dupIgnore und Delphi ignoriert von nun an doppelte einträge.

andernfalls schreibst du dir eine eigene prozedur, die doppelte einträge löscht. wo sind denn die strings gespeichert, bevor sie in die treeview eingetragen werden?

mehr input bitte!

St.Pauli 4. Jan 2006 16:37

Re: treeview items nicht doppelt einfügen!
 
Mach doch einfach den Code vor dein Einfügen..

Delphi-Quellcode:
VAR i : integer;
    Vorhanden : boolean;
    MeinNeuerEintag : string;
begin
  Vorhanden := False;

  for i := 0 to TreeView1.Items.Count-1 do
    begin
      IF (TreeView1.Items[i].Text = MeinNeuerEintrag) THEN
        Vorhanden := True;
    end;

  IF NOT Vorhanden THEN
  ...
end;
Edit1: Namen geändert

Kidix 4. Jan 2006 17:25

Re: treeview items nicht doppelt einfügen!
 
ok, danke habs jetzt so gemacht ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:00 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