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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2008, 19:23   #1
VVVadim
Пользователь Подтвердите свой е-майл
 
Аватар для VVVadim
 
Регистрация: 28.03.2007
Сообщений: 60
По умолчанию список каталогов

Привет всем! Напишите пожалуйста функцию, котрая бы перебирала все каталоги, заходила бы в подкаталоги и выполняла бы какое-нить действие над файлами(всеми). Заранее спасибо
VVVadim вне форума Ответить с цитированием
Старый 02.04.2008, 20:28   #2
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

http://www.programmersforum.ru/showthread.php?t=15900
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 02.04.2008, 21:46   #3
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,759
По умолчанию

Вот поиск файлов с подкаталогами, думаю разберётесь что к чему, если нет, отпишите. Вчегда рады помочь чем сможем.
Код:
procedure TForm1.FindFile(Dir: string);
var
  SR: TSearchRec;
  FindRes: Integer;
  Kol:integer;
begin
  FindRes := FindFirst(Dir + '*.*', faAnyFile, SR);
  while FindRes = 0 do
  begin
    if ((SR.Attr and faDirectory) = faDirectory) and
      ((SR.Name = '.') or (SR.Name = '..')) then
    begin
      FindRes := FindNext(SR);
      Continue;
    end;

    // если найден каталог, то
    if ((SR.Attr and faDirectory) = faDirectory) then
    begin
      // входим в процедуру поиска с параметрами текущего каталога +
      // каталог, что мы нашли
      FindFile(Dir + SR.Name + '\\');
      FindRes := FindNext(SR);
      // после осмотра вложенного каталога мы продолжаем поиск
      // в этом каталоге
      Continue; // продолжить цикл
    end;

    ListBox1.Items.Add(SR.Name);
    FindRes := FindNext(SR);
  end;
  FindClose(SR);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
listbox1.Clear;
FindFile(edit1.Text);
end;
FaTaL вне форума Ответить с цитированием
Старый 03.04.2008, 11:20   #4
VVVadim
Пользователь Подтвердите свой е-майл
 
Аватар для VVVadim
 
Регистрация: 28.03.2007
Сообщений: 60
По умолчанию

спасибо конечно, во всем разобрался, но...это немного не то. А вот что мне надо:
функция, которая созвращает список дисков кампа;
функция, которая возвращает список подкаталогов данного каталога;
функция, которая возвращает список файлов данного каталога.
Я всеже надеюсь что такие существуют и не придется писать вручную.
VVVadim вне форума Ответить с цитированием
Старый 03.04.2008, 11:30   #5
dimonbest
Форумчанин
 
Регистрация: 07.02.2008
Сообщений: 150
По умолчанию

Цитата:
Сообщение от VVVadim Посмотреть сообщение
спасибо конечно, во всем разобрался, но...это немного не то. А вот что мне надо:
функция, которая созвращает список дисков кампа;
http://programmersforum.ru/showthrea...E8%F1%EA%EE%E2
dimonbest вне форума Ответить с цитированием
Старый 03.04.2008, 11:40   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
функция, которая возвращает список файлов данного каталога.
А чем же примеры не устраивают? Ну если так не нравится пользуй TFileListBox
Цитата:
функция, которая возвращает список подкаталогов данного каталога;
TDirectoryListBox [FileCtrl]
Цитата:
функция, которая созвращает список дисков кампа;
TDriveComboBox [FileCtrl]
I'm learning to live...

Последний раз редактировалось Stilet; 03.04.2008 в 11:43.
Stilet вне форума Ответить с цитированием
Старый 03.04.2008, 12:40   #7
VVVadim
Пользователь Подтвердите свой е-майл
 
Аватар для VVVadim
 
Регистрация: 28.03.2007
Сообщений: 60
По умолчанию

Я бы уже это сделал если бы писал просто ... прогу, а я пишу резидентную. Я не использую Forms, graphics, dialogs... короче
Код:
uses
   windows,
   classes,
   sysutils;
VVVadim вне форума Ответить с цитированием
Старый 03.04.2008, 12:49   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
пишу резидентную
Эт как?

Ну в общем если не хочеш контролами то WIN API FindFirst...FindNext.
Пример см. выше.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.04.2008, 12:53   #9
VVVadim
Пользователь Подтвердите свой е-майл
 
Аватар для VVVadim
 
Регистрация: 28.03.2007
Сообщений: 60
По умолчанию

это значит ее не видать, висит в процессах ... постараюсь че нить придумать
VVVadim вне форума Ответить с цитированием
Старый 03.04.2008, 12:54   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
это значит ее не видать, висит в процессах
А причем тут отсутствие контролов?
Я могу и оконную прогу сделать невидимой, и тем не менее эти вышеприведенные контролы будут работать нормательно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Имена каталогов и подкаталогов Xandr Общие вопросы Delphi 11 29.03.2010 21:36
Данные-проверка-список (список на другом листе) Inbox Microsoft Office Excel 7 26.12.2008 01:43
Помогите как сделать отображение каталогов??? SANTA_KLAUD Общие вопросы Delphi 6 30.04.2008 23:47
Дерево каталогов в табличной форме Македонский Общие вопросы Delphi 11 30.08.2007 16:47
древо каталогов Dunpeal Компоненты Delphi 6 21.11.2006 06:22