Поиск файлов по маске по всему дереву каталогов, начиная с указанногоDelphi , Файловая система , ФайлыПоиск файлов по маске по всему дереву каталогов, начиная с указанного
Автор: Dimka Maslov { **** UBPFD *********** by delphibase.endimus.com **** >> Поиск файлов по маске по всему дереву каталогов, начиная с указанного Продедура производит фалов по маске в указанном и во всех его вложенных каталогах. Параметр StartFolder указывает на начальный каталог поиска, параметр Mask указывает маску поиска (например '*.pas'), параметр List указывает на список строк, в которых будут записаны результаты поиска, Необязательный параметр ScanSubFolders указывает на необходимость поиска во вложенных подкаталогах. Зависимости: Windows, SysUtils, Classes, Masks Автор: Dimka Maslov, mainbox@endimus.ru, ICQ:148442121, Санкт-Петербург Copyright: Dimka Maslov Дата: 29 апреля 2002 г. ***************************************************** } procedure FindFiles(StartFolder, Mask: string; List: TStrings; ScanSubFolders: Boolean = True); var SearchRec: TSearchRec; FindResult: Integer; begin List.BeginUpdate; try StartFolder := IncludeTrailingBackslash(StartFolder); FindResult := FindFirst(StartFolder + '*.*', faAnyFile, SearchRec); try while FindResult = 0 do with SearchRec do begin if (Attr and faDirectory) <> 0 then begin if ScanSubFolders and (Name <> '.') and (Name <> '..') then FindFiles(StartFolder + Name, Mask, List, ScanSubFolders); end else begin if MatchesMask(Name, Mask) then List.Add(StartFolder + Name); end; FindResult := FindNext(SearchRec); end; finally FindClose(SearchRec); end; finally List.EndUpdate; end; end; Пример использования: procedure TForm1.Button1Click(Sender: TObject); begin FindFiles('C:\Program Files\', '*.exe', memo1.Lines, true); end; Статья Поиск файлов по маске по всему дереву каталогов, начиная с указанного раздела Файловая система Файлы может быть полезна для разработчиков на Delphi и FreePascal. Комментарии и вопросы:: 2009-10-16 10:55:12 :: re:Поиск файлов по маске по всему дереву каталогов, начиная с указанногопользователь: Антон. А как зделать что бы один фаил проверяло по масиву масок? Я делаю: :: 2009-10-17 12:23:34 :: re:Поиск файлов по маске по всему дереву каталогов, начиная с указанногопользователь: kan. Проверяешь верно, видимо неверно выходишь из проверки, добавить что-то типа: Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |