Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Компонент "Дерево"


Beginner2010 ©   (2010-10-25 08:08:00) 

Посоветуйте, плиз, невизуальный компонент, содержащий данные в виде дерева и занимающий минимальный объем в памяти. Узлов очень много, поэтому не хочется использовать стандартные TTreeView и TVirtualTreeview.


brother   (2010-10-25 12:10:00) [1]

уже все сказал ;)


Медвежонок Пятачок   (2010-10-25 11:50:00) [2]

не скажу же сказал.


brother   (2010-10-25 11:48:00) [3]

> а я знаю, но не скажу какой подходит лучше всего

я догадываюсь) твой любимый XML? ))))


Медвежонок Пятачок   (2010-10-25 11:46:00) [4]

а я знаю, но не скажу какой подходит лучше всего


Игорь Шевченко   (2010-10-25 11:42:00) [5]


> Посоветуйте, плиз, невизуальный компонент, содержащий данные
> в виде дерева


TComponent


Юрий Зотов   (2010-10-25 10:29:00) [6]

type
 TMyTreeNode = class
 public
   Parent: TMyTreeNode;
   Children: TObjectList;
   Data: Pointer;
 end;

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


sniknik   (2010-10-25 09:37:00) [7]

> невизуальный компонент, содержащий данные в виде дерева
"это фантастика сынок" © реклама сыра.

данные в виде дерева можно только отобразить... а вот содержать... как ты себе это представляешь? память она вообще "в одну строку".

> ... указатель на родителя ...
ID записи, + указатель на родителя и все "вырождается" в плоскую структуру, такую, в которой хранят "деревья" в базе.
ну так если не нужно визуального представления, то может просто не "разворачивать" дерево, а хранить как есть в таблице/виртуальной таблице если уж нужно в памяти. а там уж и поиск есть, и фильтры и индексы для ускорения поиска (за счет памяти, но по другому не бывает).


George   (2010-10-25 08:24:00) [8]


> И. Павел ©   (25.10.10 08:16) [2]

В этом плане как раз таки Virtual Tree View крут. Вряд ли автор быстро и хорошо напишет что-то альтернативное.


И. Павел   (2010-10-25 08:16:00) [9]

Если невизуальный и критична скорость и память, то, наверное, лучше всего самому сделать: каждый узел может содержать помимо своей информации, указатель на родителя. Ну и, если потребуется, для ускорения операций поиска что-нибудь добавить.

Еще можно использовать граф. Это удобно и быстро в обработке, но ресурсов съест много.


George   (2010-10-25 08:15:00) [10]

VirtualTreeView.
Скачать где-то тут: http://www.soft-gems.net/index.php?option=com_content&task=view&id=12&Itemid=33
Неплохой мануальчик для старта тут: http://forum.vingrad.ru/forum/topic-97620.html


Наверх

Титульная страница Поиск, карта сайта Написать письмо