![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TreeNode [D7]
maksum © (2008-07-21 21:45:00)В TreeView есть TreeNode, в котором есть различные подветки-подпапки. Мне нужно перебрать все-все узлы TreeNode. Как их все перебрать?
MsGuns (2008-07-22 11:52:00) [1]Можно через св-во AbsoluteIndex, но на больших деревьях шибко тормозит
Ega23 (2008-07-22 09:48:00) [2]А я через GetNextSibling предпочитаю...
Но суть не в этом.
Германн (2008-07-22 00:43:00) [3]
> Игорь Шевченко © (21.07.08 22:03) [4]
А я почему-то всегда предпочитаю сначала выполнять Foo, а потом Has.
Игорь Шевченко (2008-07-21 22:03:00) [4]
procedure IterateTree (Node: TTreeNode);
var
I: Integer;
begin
if Node.HasChildren then
for I:=0 to Node.Count do
IterateNode(Node.Item[I]);
Foo(Node);
end;
maksum (2008-07-21 21:56:00) [5]Спасибо. Я никак не соображу, каким образом цикл организовать.
procedure NilNodes(ANode: TTreeNode);
begin
while ANode <> nil then
begin
ANode.Data := nil;
if ANode.HasChildren then
begin
ANode := ?
NilNodes(ANode);
end;
end;
end;
Игорь Шевченко (2008-07-21 21:49:00) [6]рекурсивно. У TTreeNode есть свойства HasChildren и массив детей Item[]
Сергей М. (2008-07-21 21:48:00) [7]Рекурсивно