Поиск файлов в Delphi 7 по шаблону обеспечивает модуль _SysUtils функциями FindFirst, FinfNext, FindClose Сначала параметру Attr нужно определить флаг атрибута файла.
Модуль:_SysUtils
type TSearchRec = record Time: Integer; Size: Integer; Attr: Integer; ExcludeAttr: Integer; FindHandle: THandle; FindData: TWin32FindData; end; function FindFirst (const Path: string; Attr: Integer; var F: TSearhRec): Intrger; function FindNext (var F: TSearhRec): Intrger; function FindClose (var F: TSearhRec): Intrger;
- faReadOnly — файл только для чтения
- faHidden — невидимый файл
- faSysFile — системный файл
- faDirectiory — директория
- faVolumeID — идентификатор диска
- faAnyFile — любой файл
- faArhive — архивный файл
Поиск начинается вызовом FindFirst. Шаблон поиска определяется параметром Path. Далее в параметре Attr задаем флаги, которые могут объединяться (пример: Attr = faDirectory + faVolumeID). FindFirst возвращает 0, если файл найден. Когда файл найден, то сведения заносятся в поля TSearchRec и определяемой параметром F. Также в поле Time заносится время и дата файла. Извлекаются данные путем DateTimeToStr(FileDateToDateTime(F.Time)
Вызов функции FindNext> осуществляет продолжение поиска. Соответственно, если функция вернет 0, то нашелся еще один файл.Если больше файлов не найдено, то целесообразно вызывать функцию FindClose с параметром F.
Пример поиска по ListBox:
var F: TSearhRec; my: integer; ....... my:= FindFirst('ваш путь к каталогу\*.расширение', faReadOnly + faAnyFile, F); while my=0 do begin ListBox1.Items.Add(F.Name); ListBox2.Items.Add(DateTimeToStr(FileDateToDateTime(F.Time)); my := FindNext(F) end; FindClose(F);