Wie benutzt man denn diese 2 Befehle wenn man ne VirtualStringTree benutzt.
Beispiel ist für ne normale ListView Komponente.
Delphi-Quellcode:
ListItem := form1.ListView1.FindCaption(0, EntryString, False, True, False);
for I := form1.ListView1.Items.Count - 1 downto 0 do
weil FindCaption und Items fehlen bei der VirtualStringTree.
FindCaption und Items gibt es deshalb nicht, weil die Komponenten die Daten eben nur virtuell vorhält und diese an die Node angeflanscht sind. Theoretisch könnte in deinem
Text[Node]
(was übrigens die Eigenschaft ist um den angezeigten Text der Node auszulesen [aber nur
ttNormal
und nicht
ttStatic
wenn ich mich richtig erinnere]) etwas ganz anderes stehen als du eigentlich in deinem DataObject drin hast. Der Node könnte theoretisch auch ein ganz anderer Text zugewiesen werden da das im
OnGetText
Event passiert.
Also entweder du baust dir eine Datenstruktur aus
TObject
(bzw. Nachfahre davon) und
TObjectList<T>
was die bessere Lösung ist, oder du musst per
vst.GetFirst
,
vst.GetNext
und
vst.GetNodeData
arbeiten und dir den entsprechenden Text aus den der Node zugewiesenen Objects/Records auslesen.