Страница 1 из 1

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

СообщениеДобавлено: 13.11.2018 13:37:43
McLion
Всем привет,
думаю написать генеалогическое дерево, и думаю как это лучше всего сделать. Какой компонент для этого взять? Есть у кого идеи?
СУ

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

СообщениеДобавлено: 13.11.2018 13:59:34
serbod
TTreeView =)

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

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

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

СообщениеДобавлено: 13.11.2018 15:26:33
olegy123
McLion писал(а):думаю написать генеалогическое дерево, и думаю как это лучше всего сделать. Какой компонент для этого взять? Есть у кого идеи?

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

http://wiki.lazarus.freepascal.org/Graphics_libraries
BGRABitmap fpvectorial aggpas - могут показать.

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

СообщениеДобавлено: 13.11.2018 15:34:28
Лекс Айрин
serbod писал(а):TTreeView =)


Не подходит. Имхо, лучше использовать TLvlGraphControl из пакета LazControlDesign. Ну или рисовать руками в рантайме.

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

СообщениеДобавлено: 13.11.2018 16:45:41
McLion
Да... не все так просто оказывается... походу я перебрал...

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

СообщениеДобавлено: 13.11.2018 17:12:23
Ichthyander
Давненько баловался для себя. Использовал TTreeView кажется ) + импорт и экспорт и правка карточек. Хотел даже экспорт в GEDCOM сделать

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

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

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

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

Так я понимаю это. В "базе" хранится вся вся структура и ветви, а при отображении в TTreeView либо нисходящая ветка от выбранной персоны, либо восходящая. Были мысли в свое время сделать это в HTML для отображения во встроенном браузере.

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

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

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

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

Ну я же сказал при отображении в TTreeView - никак. TTreeView поможет отобразить только восходящие и нисходящие (иерархические) деревья

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

СообщениеДобавлено: 13.11.2018 19:12:32
Лекс Айрин
вот по этому TTreeView я и считаю не подходящим.