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 Virtual Tree View (VST) - prüfen, ob Node vorhanden (https://www.delphipraxis.net/116857-virtual-tree-view-vst-pruefen-ob-node-vorhanden.html)

Cyberstorm 7. Jul 2008 23:23


Virtual Tree View (VST) - prüfen, ob Node vorhanden
 
hi.

ich beschäftige mich gerade mit VST und muss zur laufzeit einen TreeView in einer schleife erstellen.
dazu müsste ich prüfen, ob z.b: Gemüse\Tomaten\Farbe schon existiert und fals nicht hinzufügen.


das problem ist bei mir die kombination aus "zur laufzeit" und das ich bestimmte pfade prüfen muss und mitten drin einsetzen.


hmm also es kann sein, dass ich folgende werte hintereinander kriege:

Gemüse\Tomate
Obst\Banane\Farbe
Obst\Banane\Alter
Gemüse\Gurken\Brennwert


und die sollen halt in den treeview. weiß nicht so recht, wie ich das mit VST anstellen soll.
gibt es villeicht eine methode, die entsprechende höherliegende nodes bei bedarf erstellt?


liebe grüße
konrad

mkinzler 8. Jul 2008 05:39

Re: Virtual Tree View (VST) - prüfen, ob Node vorhanden
 
Wie viele der Einträge sollen erstellt werden? Wenn möglich, würde ich vorher vorsortieren.

Cyberstorm 8. Jul 2008 08:23

Re: Virtual Tree View (VST) - prüfen, ob Node vorhanden
 
um die 2.500

und jeder davon muss erstellt werden, weil er daten enthält, auf die später zugegriffen werden muss.

generic 8. Jul 2008 08:36

Re: Virtual Tree View (VST) - prüfen, ob Node vorhanden
 
Du brauchst doch nur mit IterateSubtree die Knoten vor dem Einfügen suchen.
Nachträglich einen Eltern-Knoten einfügen würde auch gehen, allerdings müsstest du den Knoten erst anlegen und dann die Kindknoten reinverschieben.

Üblicherweise nutze ich eine Routine, die mir die Einträge Gruppiert.
Ich rufe die Methode auf. Als Parameter übergebe ich den Gruppenname "Gemüse".
Die Methode prüft ob der Knoten existiert, wenn nicht wird er angelegt.
Als Rückgabewert der Methode gibt es dann einen Zeiger auf den Knoten.
Diesen nutze ich dann als Parentzeiger beim Knoteneinfügen.

Um Zeit zu sparen brauch du auch nur auf der Rootebene nach den Knoten suchen.
2500 ist nicht viel für den VST.

Verstanden was ich meine ?


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