Вопрос по TreeView
От: Аноним  
Дата: 03.09.08 13:00
Оценка:
Здравствуйте !! При проходе по дереву надо определить, принадлежнось "детей" к "родителям" (далее планируется все это запихать в БД — исходя из выбранной ветки дерева будет открыватся соответствующая база). Написал код, вроде работает, но как можно его оптимизировать ? Я отдельно прохожу корень дерева и листья. Для проверки правильности в 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();
  }
}

добавил разметку и табуляцию — Кодт
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.