![]() |
Pfad von Treeview bekommen
hi leutz,...also hiermit zeige ich den inhalt eines verzeichnisses in einem treeview an:
Delphi-Quellcode:
ok das ganze klappt auch wunderbar,...nur moechte ich auch an den pfad kommen^^
//listed alles im tree-view
procedure GetDirectories(Tree: TTreeView; Directory: string; Item: TTreeNode; IncludeFiles: Boolean); var SearchRec: TSearchRec; ItemTemp: TTreeNode; begin Tree.Items.BeginUpdate; if Directory[Length(Directory)] <> '\' then Directory := Directory + '\'; if FindFirst(Directory + '*.*', faDirectory, SearchRec) = 0 then begin repeat if (SearchRec.Attr and faDirectory = faDirectory) and (SearchRec.Name[1] <> '.') then begin if (SearchRec.Attr and faDirectory > 0) then Item := Tree.Items.AddChild(Item, SearchRec.Name); ItemTemp := Item.Parent; GetDirectories(Tree, Directory + SearchRec.Name, Item, IncludeFiles); Item := ItemTemp; end else if IncludeFiles then if SearchRec.Name[1] <> '.' then Tree.Items.AddChild(Item, SearchRec.Name); until FindNext(SearchRec) <> 0; FindClose(SearchRec); end; Tree.Items.EndUpdate; end; //zeigt die tree-list view an procedure TForm1.Button1Click(Sender: TObject); var Node: TTreeNode; Path: string; Dir: string; begin Dir := combobox1.text; Screen.Cursor := crHourGlass; TreeView1.Items.BeginUpdate; try TreeView1.Items.Clear; GetDirectories(TreeView1, Dir, nil, True); finally Screen.Cursor := crDefault; TreeView1.Items.EndUpdate; end; end; also wenn ich zb unter c:\programme\info\ka_was.txt das element ka_was.txt im treeview makiere, dass ich dann speziell an den pfad komme^^...wichtig is halt nur dass ich an den pfad vom aktuell makierten komme und zb diesen in einem edit seperat anzeiegn koennte^^ thx fuer eure hilfe im vorraus und ich hoffe ihr versteht wie ich das meine,....bin erst seit 3mon an delphi und von daher nichso drauf wie einige andere hier:) da o0o [OT]ps... ehm geht euch das nich auf die eier wenn ich hier staendig mit meinen fragen nerve? ich mein ich schreib nich 2-3 threads im monat sondern die woche^^...interessiert mich nur mal wie ihr das so seht... |
Re: Pfad von Treeview bekommen
Moin,
ich habe ein paar Sachen umgestellt und etwas hinzugefügt. Schau mal wie weit du das ohne Kommentare durchdringen kannst.
Delphi-Quellcode:
Grüße vom marabu
procedure GetDirectories(
Tree: TTreeView; Directory: string; Item: TTreeNode; IncludeFiles: Boolean ); var SearchRec: TSearchRec; ItemTemp: TTreeNode; begin Directory := IncludeTrailingPathDelimiter(Directory); if FindFirst(Directory + '*.*', faDirectory or faReadOnly or faArchive, SearchRec) = 0 then begin repeat if Pos(SearchRec.Name, '..') = 1 then Continue else if (SearchRec.Attr and faDirectory = faDirectory) then GetDirectories( Tree, Directory + SearchRec.Name, Tree.Items.AddChildObject(Item, SearchRec.Name, Pointer(1)), IncludeFiles ) else if IncludeFiles then Tree.Items.AddChild(Item, SearchRec.Name); until FindNext(SearchRec) <> 0; FindClose(SearchRec); end; end; function TreeNodePath(node: TTreeNode; delimiter: Char = PathDelim): string; begin if Assigned(node) then Result := TreeNodePath(node.Parent, delimiter) + delimiter + node.Text else Result := ''; end; procedure TDemoForm.ButtonClick(Sender: TObject); begin TreeView.Items.BeginUpdate; GetDirectories(TreeView, 'C:\Daten', nil, False); TreeView.Items.EndUpdate; end; procedure TDemoForm.TreeViewChange(Sender: TObject; Node: TTreeNode); begin Caption := TreeNodePath(Node); end; |
Re: Pfad von Treeview bekommen
big thx fuer deine hilfe:)
also ich hab die letzte procedure auf tform1 abgeaendert damit es bei mir passt...nur iwi gehts noch nich:
Delphi-Quellcode:
es kommt beim kompilieren immer ein error in dem steht dass TreeViewChange ein nicht definierter bezeichner ist 0_o
procedure TForm1.TreeViewChange(Sender: TObject; Node: TTreeNode);
begin Caption := TreeNodePath(Node); end; weisst du an was das haengt?^^ ich weiss nich weiter^^ o0o |
Re: Pfad von Treeview bekommen
Klick den Treeview an -> ObjectInspector oben auf Ereignisse-in der liste suchst du OnChange und machst n doppelklick drauf da trägst du dann
Delphi-Quellcode:
ein
Caption := TreeNodePath(Node);
fertig |
Re: Pfad von Treeview bekommen
ach gott ich bin ja so verpeilt:D
stimmt ja hab ganz vergessen...naja thx euch beiden fuer die hilfe es klappt einwandfrei:) da o0o |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02: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-2025 by Thomas Breitkreuz