![]() |
Node-Struktur in Treeview aktualisieren/Hierarchie erweitern
Hallo zusammen,
ich hab schon eine Weile gegoogelt, finde aber nichts passendes zu meinem Problem: Ich habe ein Treeview mit diversen Nodes, Childs und Childchilds.., die variabel erstellt werden. Nun möchte ich für einen bestimmten Arbeitsakt ALLE Knoten und Einträge um eine Stufe in der Hierarchie nach unten setzen, sprich jeweils einen Node davor setzen. Bsp: Zuerst:
Code:
Dann:
- Haus
- Baum + Wiese - spielen - sitzen + Picknick - schön - lecker - toll
Code:
Meine Frage: Gibt es eine Procedure / Funktion, mit der man komplette Knoten einfach hierarschisch herabsetzen kann? Wie wenn ich bei einem String string.text:= 'Neuer erster Eintrag' + string.text machte?
+ POS1
- Haus - Baum + POS1 + Wiese - spielen - sitzen + POS1 + Picknick - schön - lecker - toll Was ich damit vorhabe? - Die erste Treeview-Struktur ist das Ergebnis einer bestimmten Wortartanalyse eines Textes mit Ausgabe EINER bestimmten Wortart. Nun möchte ich im Nachhinein ermöglichen, PARALLEL zu der bisherigen Wortart weitere Wortarten analysieren zu lassen und die jeweiligen Ergebnisse entsprechend auszugeben. Hoffe, das war einigermaßen klar formuliert? :gruebel: Vielleicht hat jemand eine Idee. Ansonsten müsste ich wohl alles mit Schleifen abarbeiten, aber da fehlt mir mit treeviews noch Erfahrung (nicht mit den Schleifen, sondern mit dem Kopieren, Verschieben usw. von Nodes). Danke für Eure Mühe und beste Grüße, frieder |
Re: Node-Struktur in Treeview aktualisieren/Hierarchie erwei
Hallo,
ich würde die neue Node erstellen und dann mit MoveTo die andere Node dahin verschieben. |
Re: Node-Struktur in Treeview aktualisieren/Hierarchie erwei
hihi,
sorry, ich muss nochmal nachfragen: ich bekomme es zwar hin, überall einen entsprechenden Zusatzeintrag anzufügen, aber nicht, wie ich jetzt die jeweiligen Ebenen via MoveTo dorthin verschiebe. Konkreter:
Delphi-Quellcode:
Ich bin mir da gerade vor allem logisch noch unsicher, würde es so versuchen wollen (allein mir fehlt die Technik dazu:)
var
knoten: ttreenode; i: integer; if ((radiobutton1.checked) or (radiobutton2.checked)) and (checkbox5.checked) then begin //In jeden Knoten POS setzen tree.Items.Add(nil, 'POS1'); for i:=0 to tree.items.count-1 do with tree do if tree.Items.Item[i].HasChildren then begin knoten:= tree.Items.Item[i+1]; tree.Items.Add(knoten, 'POS1'); end; //Bisherige Strukturen nach jeweils POS verschieben for i:=0 to tree.items.count-1 do if tree.Items.Item[i].Text<>'POS1' then tree.items.item[i].MoveTo(?!?) end; - Schleife: - Gehe auf EBENE0 alle Knoten/Items durch und verschiebe sie unter dasjenige POS1, das auf gleicher EBENE0 ist. - Gehe auf EBENE0+1 alle Knoten/Items durch und verschiebe sie unter dasjenige POS1, das auf gleicher EBENE0+1 ist. usw. Schleife ist klar. Verschieben zumindest in der Theorie auch klar. Ermittlung von "POS1" via indexOf. ABER: Wie kann ich prüfen, auf welcher Hierarchieebene ich bin bzw. wie finde ich "POS1" auf der jeweiligen Ebene?!? Kann mir da jemand auf die Sprünge helfen? Danke und Gruß, der frieder |
Re: Node-Struktur in Treeview aktualisieren/Hierarchie erwei
Schaue Dir mal das
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:39 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