Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как загнать в листбох список подпапок 
:(
    Опции темы
SAVANE
Дата 30.8.2006, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 20.7.2006
Где: Украина, Полтава

Репутация: нет
Всего: 1



Хочу сделать такую штуку. Загнать в листбох список подпапок папки с пузыкой. А рядом чтобы был листбох в котором отображался список файлов в выбраном в первом листбоксе файле.
Передвинулся на папку КИНО в первом листбоксе во втором отобразисля список песен в этой папке.

Подскажите как считать и записать имена файлов и папок в листбокс.
--------------------
Be not afraid of growing slowly, be afraid only of standing still!
PM MAIL WWW ICQ   Вверх
Yanis
Дата 30.8.2006, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Посмотри как это сделано в TDirectoryListBox и TFileListBox.

Добавлено @ 09:03 
В принципе ничего сложного не должно быть. В основном всё завязано на процедуре сканирования каталога с подкаталогами и её небольшой модификации.


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Akella
Дата 30.8.2006, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



можно ввести boolean переменную
для определения, какой лист бокс заполняем

Код

...
Procedure Find(Dir:String);
lb2:booean
...


в событии нажатия кнопки
Код

StartDir:String
StartDir := 'c:\';
  lb2 := false;
  листобокс1.items.clear;
  if not directoryExists(StartDir) then exit;
  листобокс1.items.beginupdate;
  lb2 := false;
  Find(StartDir); <-из выделенной строки определяем начальный путь
  листобокс1.items.endupdate;


определяем процедуру для заполнения обеих листбоксов
Код

запоняем первый листбокс
Procedure TfmUpdateInfo.Find(Dir:String);
Var
 SearchRec:TSearchRec;
begin
 try
   if Dir<>'' then Dir:=IncludeTrailingPathDelimiter(Dir);
   if FindFirst(Dir+'*.*', faAnyFile, SearchRec)=0 then
     repeat
       if (SearchRec.name='.') or (SearchRec.name='..') then continue;
       if ((SearchRec.Attr and faDirectory)<>0) then
         Find(Dir+SearchRec.name) //we found Directory: "Dir+SearchRec.name"
       else  begin
           if lb2 then
             listBox2.Items.Add(Dir+SearchRec.name);//добавляем в листбокс
          else
             listBox1.Items.Add(Dir+SearchRec.name);//добавляем в листбокс
       end;//else
     until FindNext(SearchRec)<>0;

 finally
   FindClose(SearchRec);
 end;
end;


Код

  а в событии первого листбокса пишем
  листобокс2.items.clear;
  if not directoryExists(листбокс1.items[листбокс1.itemindex]) then exit;
  листобокс2.items.beginupdate;
  lb2 := true;
  Find(листбокс1.items[листбокс1.itemindex]); <-из выделенной строки определяем начальный путь
  lb2 := false;
  листобокс2.items.endupdate;


Добавлено @ 09:09 
писал навскидку, поэтому могут быть ошибки
PM MAIL   Вверх
SAVANE
Дата 30.8.2006, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 20.7.2006
Где: Украина, Полтава

Репутация: нет
Всего: 1



Пасибки. 
Сделел не так как умал но то что хотел!  smile 
Сделал через TFileListBox. 
--------------------
Be not afraid of growing slowly, be afraid only of standing still!
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0776 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.