Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2010, 17:52   #1
SERGOFF
Пользователь
 
Регистрация: 29.09.2009
Сообщений: 10
Подмигивание Работа с деревом TreeView и директория каталогов

Помогите пожалуйста, может быть кто-то знает, как это реализовать:

Есть программа, в которой указывается рабочая директория (обычная папка на диске), а остальная структура должна достраиваться по дереву TreeView, т.е. допустим есть у меня в дереве Папка---> Авто, а в ней под папки ЗИЛ, ГАЗ, вот точно такая же структура должны строиться в выбранной директории (т.е. создастся папка Авто, а в ней создадутся тапки ЗИЛ и ГАЗ). Только я привет простой пример, а оригинал намного ветейватее! ))
SERGOFF вне форума Ответить с цитированием
Старый 28.03.2010, 18:09   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Это называется ShellTreeView...
А еще лучше - возьмите пару компонентов - DirectoryListBox и FileListBox.
И файлы все под рукой.
И никакой головной боли

Последний раз редактировалось mihali4; 28.03.2010 в 18:15.
mihali4 вне форума Ответить с цитированием
Старый 28.03.2010, 18:24   #3
SERGOFF
Пользователь
 
Регистрация: 29.09.2009
Сообщений: 10
По умолчанию

Немножко не так наверное объяснил!
У меня есть заполненный TreeView, я указываю нужную папку (делаю это любым способом, к примеру CreateDir(C:\Новая)) и вся структура, которая отображена в моём дереве создаётся в этой папке!!!
SERGOFF вне форума Ответить с цитированием
Старый 28.03.2010, 18:56   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Укажите "всю структуру" в качестве CHILD для создаваемой ветви.
Вопрос так до конца и остался не совсем понятным...
mihali4 вне форума Ответить с цитированием
Старый 28.03.2010, 19:06   #5
SERGOFF
Пользователь
 
Регистрация: 29.09.2009
Сообщений: 10
Печаль

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Укажите "всю структуру" в качестве CHILD для создаваемой ветви.
Вопрос так до конца и остался не совсем понятным...
Не, не не так немножко!
Т.е. создается не в самом TreeView а на диске!
Вот я создал CreateDir('C:\Новая'); - папку на диске с: и мне нужно чтобы в ней насоздавались каталоги, в соответствии с их Иерархией в TreeView! (т.е. TreeView содержит как бы "мертвые души", которые мне нужно создать в выбранной директории) Вот вроде понятно теперь точно, чего я хочу! )))

Пожалуйста очень нужно это узнать как делается!!!
У TreeView есть свойство TreeView1.SaveToFile - сохраняет структуру в файл, с любым расширением, я пробовал строить эти каталоги, считывая их названия с этого файла, но иерархии не получается не хватает мозга чтобы придумать функцию которая будет это делать!
SERGOFF вне форума Ответить с цитированием
Старый 28.03.2010, 19:46   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Для самого простого случая вот я вам такой же простенький примерчик набросал:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var i,j: integer;
begin
CreateDir('C:\MyNewDir');
for i:=0 to TreeView1.Items.Count-1 do
begin
if TreeView1.Items[i].HasChildren then
j:=i;
if TreeView1.Items[i].HasAsParent(TreeView1.Items[j]) then
CreateDir('C:\MyNewDir\'+TreeView1.Items[j].Text+'\'+TreeView1.Items[i].Text) else
CreateDir('C:\MyNewDir\'+TreeView1.Items[i].Text);
end;
end;
Для универсальности - выделенное красным оформите как функцию с рекурсией.

Последний раз редактировалось mihali4; 28.03.2010 в 19:48.
mihali4 вне форума Ответить с цитированием
Старый 28.03.2010, 20:39   #7
SERGOFF
Пользователь
 
Регистрация: 29.09.2009
Сообщений: 10
По умолчанию

mihali4 спасибо! ))
Функцию пробовал сделать, пока четно но время будет ещё попробую!
SERGOFF вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с TreeView zotox Общие вопросы Delphi 2 18.09.2009 23:00
Работа с TreeView Demien Общие вопросы Delphi 3 02.07.2009 16:57
проблема с бинарным деревом Petruha-nsk Общие вопросы C/C++ 0 20.04.2009 18:33
Работа с деревом. Gon Паскаль, Turbo Pascal, PascalABC.NET 1 18.01.2009 20:24
[Assembler]: Размер каталогов и работа с функцией "copy" Roverka Помощь студентам 4 27.11.2008 20:13