Поиск файлов в Delphi 7

Поиск файлов в 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);
Комментирование и размещение ссылок запрещено.