Справочник функций и процедур Delphi: FindFirst

  Навигация по первой букве:

A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z

  Навигация по категории:

Compiler directives, Directives, Keywords / Types, Variables, Constants / Functions, Procedures

  Реклама:

 

FindFirst
Функция
Находит все файлы, соответствующие маске файла и атрибутов SysUtils unit
  function FindFirst ( const FileMask : string; Attributes : Integer; var SearchResult : TSearchRec ) : Integer;

Google  
 
Описание
Функция FindFirst ищет файлы, соответствующие FileMask и Attributes, возвращая первое соответствие (если найдено) в SearchResult.

Attributes определяют файлы, для поиска в дополнение к правильным файлам.

Если соответствие найдено, то возвращаемое значение - 0, иначе, оно отрицательное (и запись не заполняется).

FileMask может содержать путь, так же как имя файла. Имя файла может содержать символы - шаблоны:

?: Соответствие любого одного символа *: Соответствие 0, 1 или более символов

Attributes могут быть установлены следующим образом:

faAnyFile: Любой файл
faReadOnly: Файлы nолько для чтения
faHidden: Скрытые файлы
faSysFile: Системные файлы
faVolumeID: файлы идентификатора объема
faDirectory: Файлы каталоги
faArchive: Архивные файлы

Вы можете установить один или более из вышеупомянутых атрибутов, связывая их.

Запись SearchResult включает много полей. Некоторые используются последующими запросами к FindNext. Другие доступны вашей программе:

Name: Из длинного названия найденного файла
Size: Размер файла в байтах
Time: Дата/время последнего изменения файла
Attr: атрибуты файла (как выше)
Примечания
Предупреждение: Вы должны вызвать FindClose после успешного FindFirst, когда Вы закончили искать. Это освобождает ресурсы, взятые процессом поиска.

Если FileMask не содержит никакой информации пути, то поиск будет проводится в текущем каталоге.

Поскольку параметр Attributes определяет дополнительные типа файлов для поиска, Вы должны фильтровать результаты Attr значение, чтобы выбрать только желательные типы файлов.
Похожие команды
FileSearch  Поиск файла в одной или более папках

FindClose  Закрывает успешный FindFirst поиск файла

FindNext  Находит следующий файл после успешного FindFirst

TSearchRec  Запись, используемая для хранения данных в FindFirst и FindNext

 
Пример кода : Ищем все подходящие под Unit1.d* файлы в текущем каталоге
var
  searchResult : TSearchRec;

begin
  // Пытаемся найти правильные файлы, соответствующие Unit1.d* в текущем каталоге
  if FindFirst('Unit1.d*', faAnyFile, searchResult) = 0 then
  begin
    repeat
      ShowMessage(Имя файла = '+searchResult.Name);
      ShowMessage('Размер файла = '+IntToStr(searchResult.Size));
    until FindNext(searchResult) <> 0;

    // Должен освободить ресурсы, используемые этими успешными, поисками
    FindClose(searchResult);
  end;
end;

Имя файла = Unit1.dcu
Размер файла = 4382
Имя файла = Uni1.dfm
Размер файла = 524
Имя файла = Uni1.ddp
Размер файла = 51
 
Пример кода : Ищем все каталоги выше, включая текущий
var
  searchResult : TSearchRec;

begin
  // Пробуем найти каталоги выше текущего каталога
  SetCurrentDir('..');

  if FindFirst('*', faDirectory, searchResult) = 0 then
  begin
    repeat
      // Показываем только каталоги
      if (searchResult.attr and faDirectory) = faDirectory
      then ShowMessage('Directory = '+searchResult.Name);
    until FindNext(searchResult) <> 0;

    // Должен освободить ресурсы, используемые этими успешными, поисками
    FindClose(searchResult);
  end;
end;

Directory = .
Directory = ..
Directory = Bin
Directory = Help
Directory = Projects
Directory = Demos
Directory = Lib
Directory = Objrepos
Directory = MergeModules
Directory = Imports
Directory = Source
Directory = Rave5
Directory = Ocx
 


Copyright © 2004-2016 Delphi Sources (источник – "DelphiBasics.ru")
 


Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook