Главная Новые темы Список тем Задать вопрос Поиск  

Форум "Delphi"


Паскаль, Делфи


 #0 DrewBlin 11.07.06 14:36:21 - 18.07.06 13:49:07

Построение дерева



Добрый день. Я столкнулся с проблемой построения дерева.
У меня есть результат вьюшки примерно такого вида:
n1,nn1,n2,nn2,n3,nn3,n4,nn4...n25,nn25
В каждом столбце nX содержится слово, а в каждом nnX номер этого слова из таблицы.
Поля nX могут и не содержать слов, т.е. быть пустыми (для них соответствующее nnX - 0)
Надо из такого набора данных построить дерево (в текстовом файле без использования TTreeView)
Пример:
    n1    nn1   n2   nn2   n3           n25  nn25
| Прадед | 1 |      | 0 |       | 0 |       | 0  |
| Прадед | 1 | Дед1 | 2 |       | 0 | Внук1 | 6  |
| Прадед | 1 |      | 0 | Отец1 | 3 |       | 0  |
| Прадед | 1 | Дед2 | 3 | Отец2 | 4 | Внук2 | 7  |
| Прадед | 1 | Дед2 | 3 | Отец3 | 5 |       | 0  |
| Прадед | 1 | Дед2 | 3 | Отец3 | 5 | Внук3 | 8  |
Должно быть построено:
Прадед
   Дед1
      Внук1
   Отец1
   Дед2
      Отец2
         Внук2
      Отец3
         Внук3
При необходимости можно вьюшку подправить.
Примеры и алгоритмы можно на любом языке. Заранее спасибо Цитата

 #1 Go © 13.07.06 18:22:28

ой.. а зачем такая сложная вьюшка !?
 #2 Andrey © 14.07.06 10:17:12

>в текстовом файле без использования TTreeView
Слух, ну раз ты знаешь как с использованием ТриВюв посторить, так может и без онного асилишь? Ну или на крайняк создашь экземпляр сего волщебного ТриВюв и просто иму скажешь МайТриВювЕкземпляр.Парент = нил; ? И строй себе в нем на здоровье что душе угодно, потом в файло сохранишь и уи... убьешь МайТриВювЕкземпляр так же тихо как и создал. Никто даже и не заметит )

Ну или на крайняк создать массив рекордов со ссылками описывающими связи, и его уже сохранять.

А вьюха и правду ужасно выглядит )

P.S. И кстати:
>Примеры и алгоритмы можно на любом языке
Спасибо за великодушие )
 #3 Deep © 14.07.06 16:54:52

> #0   DrewBlin
так и не понял каким должно быть дерево....    
ужасно хочется в отпуск...    
 #4 DrewBlin 15.07.06 12:18:51

> #3 Deep ©

Ну дерево должно быть таким: то слово, что написано в более первом столбце будет родителем для слова в менее первом столбце
 #5 maximus © 17.07.06 08:39:40

то слово, что написано в более первом столбце будет родителем для слова в менее первом столбце

замутил однако... в компоненте ТрииВиев есть прямо таки методы - SaveToFile, LoadFromFile ... или примерно в этой иепархии... они работают именно по такому алгоритму.
 #6 DrewBlin 18.07.06 13:49:07

Ладно, забейте на все это дело.
Решил что проще будет переделать все на другую структуру чем париться с этой
Всем спасибо




  • Написать ответ

    Имя: Регистрация HTML?
    smiles смайлики
    Потом перейти в:    
    паутина



      ©  webest.net, 2002-2007  

    top.mail.ru
    » Бесплатный счетчик посещений
    » Рейтинг сайтов