![]() |
TreeView: Inhalt der Nodes auslesen, die keine Childs haben
Ich hab ein TreeView und möchte die Daten derjenigen Nodes haben, die kein Child besitzen d.h. die nicht Parent eines anderen Nodes sind. Da das in Worten zu kompliziert wird, hier mal graphisch:
Code:
In diesem Fall möchte ich die Daten von Node 1.1.1, 1.1.2.1, 1.1.2.2 und 1.2 haben.
Node 1
- Node 1.1 - Node 1.1.1 - Node 1.1.2 - Node 1.1.2.1 - Node 1.1.2.2 - Node 1.2 Wie realisiere ich das? MfG Z4ppy |
Re: TreeView: Inhalt der Nodes auslesen, die keine Childs ha
Das Zauberwort heißt Rekursion...
Delphi-Quellcode:
Aufruf...
procedure GetChilds(Node:TTreeNode; NodeList:TList);
var Child:TTreeNode; begin if assigned(Node) then begin if Node.HasChildren then begin Child:=Node.getFirstChild; repeat GetChilds(Child, NodeList); Child:=Child.getNextSibling; until not assigned(Child); end else NodeList.Add(Node); end; end;
Delphi-Quellcode:
Edit: Oh, es geht ja nur um den Inhalt...
procedure TForm.ButtonClick(Sender: TObject);
var List:TList; i:integer; begin List:=TList.Create; try GetChilds(TreeView.Items.GetFirstNode, List); Memo.Lines.Clear; for i:=1 to List.Count do Memo.Lines.Append(TTreeNode(List[i-1]).Text); finally List.free; end; end;
Delphi-Quellcode:
Aufruf...
procedure GetChilds(Node:TTreeNode; List:TStrings);
var Child:TTreeNode; begin if assigned(Node) then begin if Node.HasChildren then begin Child:=Node.getFirstChild; repeat GetChilds(Child, List); Child:=Child.getNextSibling; until not assigned(Child); end else List.Append(Node.Text); end; end;
Delphi-Quellcode:
procedure TForm.ButtonClick(Sender: TObject);
begin GetChilds(TreeView.Items.GetFirstNode, Memo.Lines); end; |
Re: TreeView: Inhalt der Nodes auslesen, die keine Childs ha
Super, Danke dir :) :thumb:
MfG Z4ppy |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:18 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