Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
{ **** 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
;
Пример использования:
procedureTForm1.Button1Click(Sender: TObject); begin
FindFiles('C:Program Files', '*.exe', memo1.Lines, true); end
;