16.35.26. function SearchFiles

function SearchFiles(APath, AMask : string; AFileList : TStrings;
                     AFullPath, AAppendFiles : boolean) : integer;
 
Осуществляет поиск файлов по маске AMask в каталоге APath.
Найденные файлы помещаются в список AFileList.
Параметр AFullPath задает режим добавления найденных файлов. Если AFullPath равен true, то в список добавляются полные имена найденных файлов, включая путь. Если он равен False, то добавляются только имена файлов, без пути.
Параметр AAppendFiles управляет режимом формирования списка. Если он равен true, то найденные файлы добавляются к списку (с практической точки зрения данный режим актуален при AFullPath=false), если он равен false, то список очищается перед началом поиска.
Функция возвращает количество файлов, найденных в соответствии с заданными параметрами и 0 в случае ошибки.
 
В пути (параметр APath) допустимо указывать макросы, подробнее см. в разделе "макросы, допустимые в именах файлов"
 
Данная функция удобна для решения простых задач поиска файлов, для решения более сложных задач следует применять класс TFileSearch. У функции есть аналог SearchFolders, предназначенный для быстрого поиска подкаталогов в указанной папке
 
 
Совместимость: AVZ 4.30 и выше
 
Пример:
 
var
  Lines : TStrings;
  i : integer;
begin
  Lines := TStringList.Create;
  SearchFiles('%WinDir%', '*.exe', Lines, true, false);
  for i:= 0 to Lines.Count-1 do
    AddToLog(Lines[i]+', MD5='+
           CalkFileMD5(Lines[i])+
          ', Size='+inttostr(GetFileSize(Lines[i])));
  Lines.Free;
end.
 
В примере использовались: AddToLog, CalkFileMD5, GetFileSize и класс TStringList
 
 
Данный пример осуществляет поиск файлов *.exe в папке Windows, найденные файлы заносятся в список с полными путями и затем в цикле выводятся в протокол. Для практической демонстрации в данном примере для каждого найденного файла определяется MD5 сумма и размер.