Разное
Облака / Clouds

The bast cloud service
Get 20 GB free!!!
Support WebDav.
Show more >>

time-tested cloud storage
Support WebDav.
Последние книги
Самое популярное
Все бесплатно
Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.
Навигация
Вопросы
Delphi - Справочник: FileSearch
FileSearch
|
function FileSearch ( const FileName, DirectoryList : string ) : string; |
Функция (Unit SysUtils)
|
Поиск файла в одной или более папках
|
Описание:
|
Функция FileSearch осуществляет поиск файла в одной или более папках. Необходимо указывать не только название папки, но и полный адрес этой папки. Имя файла может быть как файловым именем, так и полным адресом файла. Если файл будет найден, то возвращается полный адрес файла включая имя файла, в случае не нахождения искомого файла будет возвращена пустая строка. ПРЕДУПРЕЖДЕНИЕ: ВСЕГДА сначала поиск будет проходить в текущей папке (смотри GetCurrentDir), независимо от перечисленных директорий. Если файл обнаруживается там, то путь файла возращён не будет, а Только имя файла. |
Пример кода: Поиск в текущем каталоге и вне
|
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 FilesTest.txt найден |
Примечание:
|
Если любой из указанных каталогов не существует, никакая ошибка не будет выброшена. Директивный список может быть пустой строкой - тогда будет обыскан только текущий каталог. |