Здравствуйте !! При проходе по дереву надо определить, принадлежнось "детей" к "родителям" (далее планируется все это запихать в БД — исходя из выбранной ветки дерева будет открыватся соответствующая база). Написал код, вроде работает, но как можно его оптимизировать ? Я отдельно прохожу корень дерева и листья. Для проверки правильности в ListBox1 пишу результат. Заранее спасибо !!!!
void RecNode(TTreeNode* CurNode)
{
int i ;
while (CurNode !=NULL)
{
TTreeNode *TempNode;
Form2->ListBox1->Items->Add(CurNode->Text);
if (CurNode->HasChildren)
{
TempNode=CurNode->getFirstChild();
while (TempNode !=NULL)
{
Form2->ListBox1->Items->Add(TempNode->Text+" род. "+TempNode->Parent->Text);
for (i = 0; i < TempNode->Count; i++)
Form2->ListBox1->Items->Add(TempNode->Item[i]->Text+" род. "+TempNode->Item[i]->Parent->Text);
TempNode=TempNode->GetNextChild(TempNode);
}
}
CurNode=CurNode->getNextSibling();
}
}
добавил разметку и табуляцию — Кодт