procedure getNode(tn:TTreeNode); var i:integer; begin for i:=0 to tn.Count-1 do begin Form1.Memo1.Lines.Add(tn.Item[i].Text); if tn.Item[i].HasChildren then getNode(tn.Item[i]); end; end;procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Lines.Clear; getNode(TreeView1.Items[StrToInt(Edit1.Text)]); //Edit1输入节点 end;
procedure getNode(tn:TTreeNode; Level:integer); var i:integer; begin if (tn=nil) or (Level<0) then exit;//防止参数不正确 for i:=0 to tn.Count-1 do begin Form1.Memo1.Lines.Add(tn.Item[i].Text); if tn.Item[i].HasChildren and (Level>0) then//KAIKAI哥原来在此没作层数判断,将历遍所有层的子节点 getNode(tn.Item[i],Level-1); end; end;procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Lines.Clear; getNode(TreeView1.Items[StrToInt(Edit1.Text)],1); //Edit1输入节点及需要历遍的子层数 end;
var
i:integer;
begin
for i:=0 to tn.Count-1 do
begin
Form1.Memo1.Lines.Add(tn.Item[i].Text);
if tn.Item[i].HasChildren then
getNode(tn.Item[i]);
end;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.Clear;
getNode(TreeView1.Items[StrToInt(Edit1.Text)]); //Edit1输入节点
end;
var
i:integer;
begin
if (tn=nil) or (Level<0) then exit;//防止参数不正确
for i:=0 to tn.Count-1 do
begin
Form1.Memo1.Lines.Add(tn.Item[i].Text);
if tn.Item[i].HasChildren and (Level>0) then//KAIKAI哥原来在此没作层数判断,将历遍所有层的子节点
getNode(tn.Item[i],Level-1);
end;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.Clear;
getNode(TreeView1.Items[StrToInt(Edit1.Text)],1); //Edit1输入节点及需要历遍的子层数
end;
百度上一坨一坨的都有呢。。