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

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

TTreeView [D6, WinXP]


lutik ©   (2005-01-06 19:51:00) 

Как Динамически создать дерево из файла, если в файле записи типа :
"Мастер\Детали\Ключ"
"Мастер\Имя"
"Мастер\Детали\Отвертка"
........................


dimaxx   (2005-01-06 23:51:00) [1]

На сайте www.delphibase.endimus.com есть пример для построения дерева:

Перевод списка файлов/каталогов из TStringList в TreeView с построением "дерева каталогов". Иногда бывает нужно построить "дерево каталогов" по заданному списку файлов и папок (причем физически эти файлы и каталоги могут не существовать).

Ссылу не помню, поскольку текст сохранен в виде текста.


lutik   (2005-01-06 20:12:00) [2]

ок, сенкс


lutik   (2005-01-06 20:11:00) [3]

есть ли че стандартное?


begin...end   (2005-01-06 20:11:00) [4]

> [3] lutik ©   (06.01.05 20:07)

Перебирать TTreeView.Items, смотреть на Text и Level очередного item'а.


lutik   (2005-01-06 20:07:00) [5]

А как узнать, есть ли уже такой узел или подузел на каждом шаге?


maxz   (2005-01-06 20:05:00) [6]

var
 t: TTreeNode;
begin
 t:=TreeView1.Items.AddFirst(nil,'fuck');
 TreeView1.Items.AddChild(t,'fuck2')
end;


begin...end   (2005-01-06 20:02:00) [7]

> lutik ©   (06.01.05 19:51)

Ну не знаю, насколько это хорошо в смысле производительности, но предлагаю так:

1. Разбираем очередную строку, прочитанную из файла. Получаем несколько разделённых "названий" узлов, и для каждого узла известен его уровень.
2. Смотрим в TreeView: если нет такого узла с соответствующим уровнем, то добавляем его.


Наверх

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