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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2010, 14:24   #1
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
Лампочка Проблема с поиском файлов

При таком коде поиск файлов происходит во всех поддиректориях I:\tut\
Код:
procedure ScanDir(StartDir: string; Mask: string; List: TStrings);
var
  SearchRec: TSearchRec;
begin
  if Mask = '' then
    Mask := '*.*';
  if StartDir[Length(StartDir)] <> '\' then
    StartDir := StartDir + '\';
  if FindFirst(StartDir + Mask, faAnyFile, SearchRec) = 0 then
  begin
    repeat Application.ProcessMessages;
      if (SearchRec.Attr and faDirectory) <> faDirectory then begin
        List.Add(StartDir + SearchRec.Name);
 {***}      
      end
      else if (SearchRec.Name <> '..') and (SearchRec.Name <> '.')then begin
        List.Add(StartDir + SearchRec.Name + '\');
      ScanDir(StartDir + SearchRec.Name + '\', Mask, List);
  end;
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
begin
  ScanDir('I:\tut\', '*.*', ListBox1.Items);
  ShowMessage('Загружены все файлы');
  for i:=0 to ListBox1.Count-1 do
    DeleteFile(ListBox1.Items.Strings[i]);
  ShowMessage('Все файлы удалены');
end;
end.
, но стоит мне указать , что файлы нужно искать и удалять с определенным расширением , к примеру
Код:
  ScanDir('I:\tut\', '*.txt', ListBox1.Items);
, так поиск осуществляется только в директории 'I:\tut\' . Подскажите как сделать так что бы файлы определенного расширения искались тоже с поддиректориями?
kta87 вне форума Ответить с цитированием
Старый 26.03.2010, 14:36   #2
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Изучи мой пост №3 в этой теме.
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 26.03.2010, 15:04   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

поиск.. обсуждалось многократно!

вот здесь я об этом писал

не поленюсь повториться:
когда Вы задаёте маску, то будут находится файлы и поддиректории с указанной маской!!!!

а ещё вот здесь было обсуждение и примеры кода:
http://www.programmersforum.ru/showthread.php?t=70770
посты #20 (при необходимости поправка на маску из пост #22) - дают готовый результат!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с поиском в БД Evgenii БД в Delphi 15 25.06.2009 00:14
Проблема с поиском решения mavs Microsoft Office Excel 4 20.04.2009 15:52
Проблема с поиском Zeraim Microsoft Office Access 2 04.06.2008 05:42
Помогите с поиском файлов Alias_Katty Помощь студентам 1 16.04.2008 15:03
Помогите с поиском файлов!!! Teen4jump Общие вопросы Delphi 9 26.06.2007 09:37