Delphi справочник - Форум программистов - Навигация  
 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      По первой букве  
System     SysUtils     StrUtils     DateUtils     FileCtrl     ConvUtils     StdConvs     Math     Classes     Dialogs     Types     Variants    ПО Unit   Compiler directives     Directives     Keywords     Types     Variables     Constants     Functions     Procedures    По категории  


Основы Delphi
FindFirst
Функция
Находит все файлы, соответствующие маске файла и атрибутов SysUtils unit
  function FindFirst ( const FileMask : string; Attributes : Integer; var SearchResult : TSearchRec ) : Integer;
Описание
Функция 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
 



© Форум Delphi   |  Блог программистов   |  Создание и продвижение сайтов - "Веб сателлит"  |  Ссылки   |  Английская версия