Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Поиск файлов [D7, WinXP]


Страницы:   1 2

User ©   (2008-06-23 18:52:00) 

Возвращаясь к 'избитой' теме ... Поиск файлов по схеме, предложенной в FAQ, работает хорошо только для случаев:
1 - нужно найти ВСЕфайлы;
2 - нужно найти файлы определенного ( одного) типа при условии, что хотябы один такой файл находитсяв искомом (начальном) каталоге - условие
 if (FindFirst(StartDir+Mask, faAnyFile, SearchRec) = 0) then ...
не выполняется, если файл не найден  ...
В остальных случаях (, у меня, во всяком случае) не работает.
То есть, путей решения для решения такой задачи, как поиск файлов определенных расширений ( предположим, '*.txt; *.rtf, *.doc') в указанном каталоге (с вложенными папками, и не обязательно содержащий файлы - например, корневой) я не нашел ...
Буду признателен за помощь, может кому еще сгодиться ...


clickmaker   (2008-06-23 19:12:00) [21]

> поиск не хочет проходить во вложенных папках ...

а с какой радости он должен хотеть?


User   (2008-06-23 19:09:00) [22]

2 clickmaker
MatchesMask проверяет, соответствует ли файл FileName маске, определенной в параметре Mask....
не знаю каким боком ее впихнуть, да и зачем? - маски я могу и самостоятельно менять, и можно, наверное наваять следующее:

 if (FindFirst(StartDir+Mask1, faAnyFile, SearchRec) = 0) or
   (FindFirst(StartDir+Mask2, faAnyFile, SearchRec) = 0) or ...
     (FindFirst(StartDir+MaskN, faAnyFile, SearchRec) = 0) then begin ...

Но, как оказалось, поиск не хочет проходить во вложенных папках ...


User   (2008-06-23 19:00:00) [23]

... да, ещё ... перехвалил FAQ - для маски, отличной от '*.*' поиск осуществляется только в искомом каталоге ...


clickmaker   (2008-06-23 18:55:00) [24]

> То есть, путей решения для решения такой задачи, как поиск
> файлов определенных расширений

а в чем проблема? Рекурсию организовать и вызвать MatchesMask()?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо