Генеалогическое дерево, как лучше сделать?

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Ответить
Аватара пользователя
McLion
постоялец
Сообщения: 332
Зарегистрирован: 06.02.2015 17:41:00

Генеалогическое дерево, как лучше сделать?

Сообщение McLion »

Всем привет,
думаю написать генеалогическое дерево, и думаю как это лучше всего сделать. Какой компонент для этого взять? Есть у кого идеи?
СУ
Аватара пользователя
serbod
постоялец
Сообщения: 449
Зарегистрирован: 16.09.2016 10:03:02
Откуда: Минск
Контактная информация:

Сообщение serbod »

TTreeView =)
Аватара пользователя
vada
энтузиаст
Сообщения: 691
Зарегистрирован: 14.02.2006 12:43:17

Сообщение vada »

Для этого язык ПРОЛОГ существует.
В любом учебнике по нему чуть не самый первый пример это генеалогическое древо.
На ПАСКАЛЕ тоже можно, только немного заморочно.
olegy123
долгожитель
Сообщения: 1643
Зарегистрирован: 25.02.2016 11:10:20

Сообщение olegy123 »

McLion писал(а):думаю написать генеалогическое дерево, и думаю как это лучше всего сделать. Какой компонент для этого взять? Есть у кого идеи?

правильнее визуализировать в векторах, красиво получится.
можно на выходе получить SVG

http://wiki.lazarus.freepascal.org/Graphics_libraries
BGRABitmap fpvectorial aggpas - могут показать.
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

serbod писал(а):TTreeView =)


Не подходит. Имхо, лучше использовать TLvlGraphControl из пакета LazControlDesign. Ну или рисовать руками в рантайме.
Аватара пользователя
McLion
постоялец
Сообщения: 332
Зарегистрирован: 06.02.2015 17:41:00

Сообщение McLion »

Да... не все так просто оказывается... походу я перебрал...
Аватара пользователя
Ichthyander
энтузиаст
Сообщения: 701
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань
Контактная информация:

Сообщение Ichthyander »

Давненько баловался для себя. Использовал TTreeView кажется ) + импорт и экспорт и правка карточек. Хотел даже экспорт в GEDCOM сделать
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

Ichthyander, TTreeView, позволит сделать только самое простое генеалогическое древо. Допустим, дети и (одновременно) родители какого-нибудь чела уже в пролете.
Так что тут нужен инструмент отображения графов. В лазарусе такой один. Хотя и в рантайме все это отображать не очень тяжело... только муторно. Возможно, что такой инструмент есть у Zub-а.
Аватара пользователя
Ichthyander
энтузиаст
Сообщения: 701
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань
Контактная информация:

Сообщение Ichthyander »

Лекс Айрин писал(а):Ichthyander, TTreeView, позволит сделать только самое простое генеалогическое древо. Допустим, дети и (одновременно) родители какого-нибудь чела уже в пролете.
Так что тут нужен инструмент отображения графов. В лазарусе такой один. Хотя и в рантайме все это отображать не очень тяжело... только муторно. Возможно, что такой инструмент есть у Zub-а.

Так я понимаю это. В "базе" хранится вся вся структура и ветви, а при отображении в TTreeView либо нисходящая ветка от выбранной персоны, либо восходящая. Были мысли в свое время сделать это в HTML для отображения во встроенном браузере.
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

Ichthyander, есть еще и боковые ветви (сводные братья/сестры/племянницы). Как их учитывать?
Аватара пользователя
Ichthyander
энтузиаст
Сообщения: 701
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань
Контактная информация:

Сообщение Ichthyander »

Лекс Айрин писал(а):Ichthyander, есть еще и боковые ветви (сводные братья/сестры/племянницы). Как их учитывать?

Ну я же сказал при отображении в TTreeView - никак. TTreeView поможет отобразить только восходящие и нисходящие (иерархические) деревья
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

вот по этому TTreeView я и считаю не подходящим.
Ответить