delphi树结构,中怎么区分根节点,叶子节点;就是如何只遍历某个层次,和遍历某个层次下的所有叶子节点;

分大类,种类,小类,每次只遍历树中的一个类,或者一个类中的一个所包含的所有子类;谢谢啦... 分大类,种类,小类,每次只遍历树中的一个类,或者一个类中的一个所包含的所有子类;谢谢啦 展开
 我来答
aadmwdk
2011-10-08 · 超过20用户采纳过TA的回答
知道答主
回答量:98
采纳率:0%
帮助的人:35.3万
展开全部
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
Level: integer;
begin
Level:= 0;
Memo1.Lines.Clear;
for i:= 0 to TreeView1.Items.Count - 1 do
begin
//TreeView1.Items.Item[i].Level :层次级别
//按每级根目录来遍历。
if TreeView1.Items.Item[i].Level = Level then
begin
GetTreeViewLevel(TreeView1.Items.Item[i], Level);
Memo1.Lines.Add('');
end;
end;
end;

//递归函数
function TForm1.GetTreeViewLevel(tempNode: TTreeNode; Level: integer): integer;
var
i: integer;
begin
Memo1.Lines.Add('NodeText: ' + tempNode.Text);
Memo1.Lines.Add('NodeLevel: ' + IntToStr(Level));
Level:= Level + 1;
for i:= 0 to tempNode.Count - 1 do
begin
if tempNode.Item[i].Level = Level then
GetTreeViewLevel(tempNode.Item[i], Level);
end;
end;
追问
现在的程序有这么个问题,一级下面有二级,二级下面有三级,三级下面有四级,现在我遍历二级的目录,三级有一个不含四级的,在遍历二级的时候老是把这个不含四级的三级也遍历到呢
ycbs1986
2011-10-09
知道答主
回答量:25
采纳率:0%
帮助的人:13.5万
展开全部
在二楼代码中加入 if Tree.Items[i].HasChildren then continue;表示如果这个节点有子节点,跳出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式