![]() |
TreeView - Pfad zusammensetzen ?
Hallo Leute
Habe vollgendes Problem, Ich lese ein Verzeichnis in ein Treeview ein. Jetzt möchte Ich durch je nachdem was Ich anklick den Pfad zusammensetzen. Als bsp.
Code:
Der Pfad sollte dann so aussehen.
Ordner1
Ordner2 - Unterordner1 Unterordner2 - Unterordner21 - Datei1.txt Datei2.txt - Ordner2\Unterordner2\Unterordner21\Datei2.txt Ich hab ehrlich gesagt noch keinen Plan wie man das am besten angeht. Den Entsprechenden Ordner krieg Ich mit Expanding und node.text, die Datei mit TreeView.Selected.Text aber irgendwie müsste Ich ja alle Schritte zwischenspeichern und da fällt Mir jetzt so recht nichts dazu ein. Vieleicht könnt Ihr Mir etwas auf die Sprünge helfen. Blackheart |
Re: TreeView - Pfad zusammensetzen ?
Habe jetzt eine Idee - Das Treeview in eine Stringlist laden und die strings anhand TreeView.Selected.AbsoluteIndex aus der Stringlist hohlen.
Falls noch ein anderer ne Idee hat dann bitte posten. Ich probiers erstmal. Blackheart |
Re: TreeView - Pfad zusammensetzen ?
Hallo,
vielleicht hilft dir das hier:
Delphi-Quellcode:
Grüße vom marabu
function NodePath(node: TTreeNode): String;
begin Result := node.Text; if Assigned(node.Parent) then Result := NodePath(node.Parent) + ' \ ' + Result; end; |
Re: TreeView - Pfad zusammensetzen ?
Danke marabu genau das wars, wär Ich allein nicht drauf gekommen
dann spar Ich Mir das mit der Stringlist. Arbeite zum ersten mal mit der TreeView und man findet da in der Hilfe nicht gerade viel oder eben nicht das was man gerade braucht. Edit: Naja etwas zu früh gefreut, das klappt ja soweit nur wenn Ich in der Liste wieder zurück gehe kommt ja ein ganz anderer Pfad herraus als Ich beabsichtigt hab. Naja mal schaun vieleicht fällt Mir oder Euch ja nochwas ein. Blackheart |
Re: TreeView - Pfad zusammensetzen ?
anstelle der Recursion geht hier auch einfach eine While-Schleife die solange läuft bis das Node = nil ist und ansonsten vom Node den Parent holt und den Pfad ergänzt.
Delphi-Quellcode:
Pfad := '';
while Assigned(Node) do begin Pfad := Node.Text + '\' + Pfad; Node := Node.Parent; end; |
Re: TreeView - Pfad zusammensetzen ?
Hallo,
Zitat:
"wenn Ich in der Liste wieder zurück gehe kommt ja ein ganz anderer Pfad herraus als Ich beabsichtigt hab" ? |
Re: TreeView - Pfad zusammensetzen ?
Hatt sich erledigt, danke an alle die Mir geholfen haben.
Hier die Lösung für alle die dieses Problem auch mal haben.
Delphi-Quellcode:
Blackheart
Function GetTreeNodePath (aNode: TTreeNode; aDiv: String): String;
Begin If Assigned (aNode) Then If Assigned (aNode.Parent) Then GetTreeNodePath := GetTreeNodePath (aNode.Parent, aDiv) + aDiv + aNode.Text Else GetTreeNodePath := aNode.Text Else GetTreeNodePath := ''; End; procedure TForm1.TreeChange(Sender: TObject; Node: TTreeNode); begin Label3.Caption := GetTreeNodePath (Node, '\'); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:31 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 by Thomas Breitkreuz