Code: |
Function FindNode(Tree: TTreeView; Node: TTreeNode; S: String): TTreeNode; Var t:Integer; Begin Result:=nil; { Если поиск идёт в корне } IF not Assigned(Node) then Begin Node:=Tree.Items.GetFirstNode; While Assigned(Node) Do Begin IF Node.Text = S then Begin Result:=Node; Break; End; {IF} Node:=Node.GetNextSibling; End; {While} { или если в другой ветви } End else For t:=0 to Node.Count - 1 Do IF Node[t].Text = S then Begin Result:=Node[t]; Break; End; {else} End; |
Автор: Peter Kane
Небольшие хитрости для работы с узлами TreeView:
Если вы хотите производить поиск по дереву, может быть для того, чтобы найти узел, соответствующий определенному критерию, то НЕ ДЕЛАЙТЕ ЭТО ТАКИМ ОБРАЗОМ:
Code: |
for i := 0 to pred(MyTreeView.Items.Count) do begin if MyTreeView.Items[i].Text = 'Банзай' then break; end; |
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!