![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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: если нет такого узла с соответствующим уровнем, то добавляем его.