Описание |
Функция 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 найден
|
|