Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите с TreeView и поиском фалов.

14K
23 октября 2006 года
Pheonix
31 / / 23.10.2006
Как сделать, чтобы к примеру в TreeView отображалось содержимое папки и вложеных в нее подпапок и соответственно в ListView отображались файлы (как проводник). Только чтобы поиск происходил не по счелчку на ветке дерева (это не так уж сложно), а сразу создавалось развернутое дерево по нажатию на кнопке.
8
23 октября 2006 года
mfender
3.5K / / 15.06.2005
А может проще использовать уже сделанное? TShellTreeView и TShellListView?
14K
23 октября 2006 года
Pheonix
31 / / 23.10.2006
Нет мне нужно именно самописную функцию.
286
23 октября 2006 года
misha_turist
572 / / 28.11.2005
Используй вызов функции из самой себя... (помойму "рекурсией" называется)
Только всё это хозяйство долго работать будет....
14K
24 октября 2006 года
Pheonix
31 / / 23.10.2006
а по подрбнее можно, не в смысле рекурсии, а как это сделать чтобы сканировались все (и даже вложение) папки и отображались деревом.
547
25 октября 2006 года
Hydra
488 / / 20.06.2006
В обoщем виде будет так (параметры функций точно не помню)
cPath - текущий путь сканирования, cName - текущий найденный файл/директория
 
Код:
proc scan(cPath)
begin
   while (FindNext(cPath+"\\*.*",cName)
     if (cName - директория) scan(cPath+cName) else ДобавитьВДерево(cName);
end;

Типа общий алгоритм. Вызывается, например, scan("c:\");
14K
26 октября 2006 года
Pheonix
31 / / 23.10.2006
в таком случае в дерево будут добавлены сами файлы, да и еще не корректно отображаться
286
26 октября 2006 года
misha_turist
572 / / 28.11.2005
[QUOTE=Pheonix]в таком случае в дерево будут добавлены сами файлы, да и еще не корректно отображаться[/QUOTE]
Знаеш, ты не обижайся конесно, но тебе уже дали примерную схему, а детали додумай сям.)

Код:
процедура1 (каталог, эллемент дерева)
переменная эллемент;
переменная эллемент дерева;
начало
 эллемент = ищем первый эллемент(каталог);
 цыкл если (эллемент = не пусто) то
 начало
  эллемент дерева = добавить (эллемент);
  условие если (эллемент = каталог) то процедура1 (эллемент, эллемент дерева);
  эллемент = ищем следующий эллемент(каталог);
 конец;
конец;


Извени, что в виде алгоритма, посать и отлаживать код времени нету.)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог