Ich hoffe mal, das Problem richtig verstanden zu haben.
In dem Fall moechtest du nur die Blaetter des Baumes zurueckgeben, aber mit der "Wegbeschreibung" dorthin.
An sich ist das nicht schwer. Um dich mal auf den Weg dorthin zu bringen:
du hast bisher das:
Zitat von
Kanne_Kaffe:
Delphi-Quellcode:
for I := 0 to TreeView1.Items.Count-1 do
Memo1.Lines.Add(TreeView1.Items.Item[I].Text)
Um nur die Blaetter in die Liste zu kriegen fragst du einfach, wieviele Kinder der aktuelle Knoten hat. Die Eigenschaft
Count duerfte da hilfreich sein.
Wenn also Count = 0 ist, dann ab mit dem Knoten in die Liste, ansonsten passiert eben nichts.
So, und wie kriegt man jetzt den Ursprungsknoten: Der steht in Parent drinnen. Also kurz gesagt:
Code:
Fuer jedes Item:
Wenn keine Kinder vorhanden, dann:
Fuege der Liste Hinzu: 'Haupteintrag ' + <item.parent.text> + ' Bla ' + <item.text>
Allerdings funktioniert das nur, wenn der Baum max. Hoehe 2 hat. Und damit du keine
Exception kriegst, wenn mal ein Node auf Level 0 keine Kinder hat, solltest du noch ueberpruefen, ob das Parent vom Item
nil ist.
Wenn der Baum auch tiefer geht, dann wirds etwas komplizierter, aber es bleibt machbar
greetz
Mike
[Add] Ich hab Matze's Beitrag zwar gesehn, wollts aber nicht umsonst geschrieben ham