Проверить наличие файла в директории

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
rangerx
незнакомец
Сообщения: 6
Зарегистрирован: 25.07.2009 21:59:24

Проверить наличие файла в директории

Сообщение rangerx »

Собственно сабж. Пробую так:

Код: Выделить всё

 if FileIsInDirectory('test.txt', 'C:/example/') then
begin
     MainWindow.Caption := 'It`s work!!!';
end;

не работает(всё время возвращает false). Пробовал через FileIsInPath(кстати, чем они отличаются? :) ), тоже самое. В общем, что не так?
P.S. WIndows XP, Lazarus 0.9.26
frost_asm
новенький
Сообщения: 26
Зарегистрирован: 28.12.2008 21:40:36

Сообщение frost_asm »

Дание функции не проверяют существования файла на диске. Они проверяют по пути к файлу находится ли он в заданой директории.
Пример:
FileIsInDirectory('/home/user/hello/a.zip','/home/user/'); вернет false (не в етой директории)
FileIsInDirectory('/home/user/hello/a.zip','/home/user/hello/'); вернет true (точно в етой директории)

FileIsInPath('/home/user/hello/a.zip','/home/user/'); вернет true (в поддиректории заданой директории)

Для проверки существования файла используй

FileExistsUTF8('/home/user/hello/a.zip');
rangerx
незнакомец
Сообщения: 6
Зарегистрирован: 25.07.2009 21:59:24

Сообщение rangerx »

Дание функции не проверяют существования файла на диске. Они проверяют по пути к файлу находится ли он в заданой директории.
Пример:
FileIsInDirectory('/home/user/hello/a.zip','/home/user/'); вернет false (не в етой директории)
FileIsInDirectory('/home/user/hello/a.zip','/home/user/hello/'); вернет true (точно в етой директории)

FileIsInPath('/home/user/hello/a.zip','/home/user/'); вернет true (в поддиректории заданой директории)

Буду знать :)

Для проверки существования файла используй

FileExistsUTF8('/home/user/hello/a.zip');

Как-то проглядел эту функцию. Спасибо.
Dreamtime
незнакомец
Сообщения: 2
Зарегистрирован: 05.08.2013 16:50:09

Сообщение Dreamtime »

Подскажите пож-ста, а как найти файл по маске например Имяфайла*.txt где * может быть прошлый год и месяц. Заранее спасибо!

Добавлено спустя 23 минуты 39 секунд:
делаю так
if FileExists(extractfilepath(Edit4.Text)+'file'+' '+'.txt') then
begin
Showmessage('СФОРМИРОВАН!!!');

и в итоге должен найти file201401.txt но находит если указываю полное имя файла....

Добавлено спустя 38 минут 5 секунд:
В итоге сделал так
dt:= DateToStr(IncMonth(Date,-2));

Добавлено спустя 47 секунд:
var dt:string;
if FileExists(extractfilepath(Edit4.Text)+'file'+'dt '+'.txt') then
Ответить