int FindFirst(str Pattern, int Attrs)
Выполняет поиск файла в указанной папке согласно заданному имени
(первый параметр) и атрибуту файла (второй параметр). Если файл найден,
то возвращает его дескриптор, который должен быть использован в
последующих вызовах функций FindGetFileName,
FindNext и FindClose.
В противном случае функция вернёт значение 0.
Параметр Pattern (str) устанавливает маску имени папки/файла, включая символы подстановки. Например, строка вида '.\*.*' определяет все файлы в текущем каталоге.
Параметр Attrs (int) устанавливает атрибут файлов, которые должны быть включены в поиск помимо обычных файлов. Выберите необходимый атрибут или соответствующую ему константу, которые определены в файле ISPPBuiltins.iss:
faReadOnly |
файлы только для чтения |
faHidden |
скрытые файлы |
faSysFile |
системные файлы |
faVolumeID |
файлы ID-тома |
faDirectory |
файлы каталога |
faArchive |
архивные файлы |
faSymLink |
файлы символьных ссылок |
faAnyFile |
любые файлы |
Атрибуты можно комбинировать между собой, используя логическую операцию "ИЛИ" как для значений, так и для констант. Например, для поиска также скрытых файлов и только для чтения, укажите в качестве второго параметра faReadOnly | faHidden.
[Files] #define FindHandle #define FindResult #define Mask "*.pas" #sub ProcessFoundFile #define FileName FindGetFileName(FindHandle) #if Copy(FileName, 1, 4) == "ispp" FileName: {#FileName}; DestDir: {app}\ispp #else FileName: {#FileName}; DestDir: {app} #endif #endsub #for {FindHandle = FindResult = FindFirst(Mask, 0); FindResult; \ FindResult = FindNext(FindHandle)} ProcessFoundFile #if FindHandle #expr FindClose(FindHandle) #endif