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" Source: {#FileName}; DestDir: {app}\ispp #else Source: {#FileName}; DestDir: {app} #endif #endsub #for {FindHandle = FindResult = FindFirst(Mask, 0); FindResult; FindResult = FindNext(FindHandle)} ProcessFoundFile #if FindHandle #expr FindClose(FindHandle) #endif