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

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

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

  Реклама:

 

FileSearch
Функция
Поиск файла в одной или более папках SysUtils unit
  function FileSearch ( const FileName, DirectoryList : string ) : string;

Google  
 
Описание
Функция FileSearch осуществляет поиск файла в одной или более папках. Необходимо указывать не только название папки, но и полный адрес этой папки.

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

Если файл будет найден, то возвращается полный адрес файла включая имя файла, в случае не нахождения искомого файла будет возвращена пустая строка.

ПРЕДУПРЕЖДЕНИЕ: ВСЕГДА сначала поиск будет проходить в текущей папке (смотри GetCurrentDir), независимо от перечисленных директорий. Если файл обнаруживается там, то путь файла возращён не будет, а Только имя файла.
Примечания
Если любой из указанных каталогов не существует, никакая ошибка не будет выброшена.

Директивный список может быть пустой строкой - тогда будет обыскан только текущий каталог.
Похожие команды
FindClose  Закрывает успешный FindFirst поиск файла

FindFirst  Находит все файлы, соответствующие маске файла и атрибутов

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

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

 
Пример кода : Поиск в текущем каталоге и вне
var
  myFile       : TextFile;
  fileName     : string;
  fullFilePath : string;
  dir1, dir2   : string;

begin
  // Файл который мы будет искать
  fileName := 'Test.txt';

  // Запись текстового файла в текущий каталог
  AssignFile(myFile, fileName);
  ReWrite(myFile);
  Write(myFile, 'Hello World');
  CloseFile(myFile);

  // Запись текстового файла в другой каталог
  AssignFile(myFile, 'C:\Program Files\'+fileName);
  ReWrite(myFile);
  Write(myFile, 'Hello World');
  CloseFile(myFile);

  // Определение двух каталогов, где мы хотим искать файл
  dir1 := 'C:\No such directory';
  dir2 := 'C:\Program Files';

  // Поиск файла
  fullFilePath := FileSearch(fileName, dir1+';'+dir2);

  // Если мы поищем сейчас, мы найдем его в текущем каталоге
  if fullFilePath = ''
  then ShowMessage(fileName+' не найден')
  else ShowMessage(fullFilePath+' найден');

  // Теперь удаляем Test.txt из текущего каталога и повторяем поиск
  DeleteFile(fileName);

  // Если мы поищем теперь, мы найдем его в одной из директорий поиска
  fullFilePath := FileSearch(fileName, dir1+';'+dir2);
  if fullFilePath = ''
  then ShowMessage(fileName+' не найден')
  else ShowMessage(fullFilePath+' найден');
end;

Test.txt найден
C:\Program Files\Test.txt найден
 


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


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