Вниз
Скачать: CL | DM;

FileExists   Найти похожие ветки 

← →
R ©   (2004-07-22 04:15) [0]

Функция FileExists довольно-таки глючноватая, подскажите
какими функциями Вы пользуетесь для определения существования
файла.


← →
Almaz ©   (2004-07-22 04:18) [1]

А в чем ее "глючноватость" проявляется ? Сколько пользовался - не разу не сталкивался.

Удачи.


← →
antonn   (2004-07-22 04:20) [2]

А не могли бы вы описать пару конкретных глюков этой функции?
Все говорят что фуфло, а у меня работает нормально.


← →
ЮЮ ©   (2004-07-22 04:24) [3]

FileName надо указывать полностью, а не надеяться что рабочей директорией в этот момень является та, о которой вы думаете, и глюков станет меньше


← →
R ©   (2004-07-22 04:41) [4]

Не так все просто. На 99,99% у меня тоже к ней притензий нет,
но иногда на существующий файл она возвращает False,
объяснить я этого не могу, файл читаем провоодником и другими
файловыми программами, возможно есть какие то нюансы.

>FileName надо указывать полностью, а не надеяться что рабочей директорией в этот момень является та, о которой вы думаете, и глюков станет меньше

Полностью


← →
Magikan ©   (2004-07-22 05:14) [5]

Я пользуюсь своей версией FileExists и проблем нет

//Проверка на существование файла
function FileExists(FileName: string): Boolean;
var
 f: File;
begin
 Assign(F, FileName);
 {$I-}
 Reset(F);
 if IOResult=0 then begin
   Result:=True;
   Close(F);
 end
 else
   Result:=False
 {$I+}
end;

В будущем буду переделывать под стандартные вызовы API


← →
Palladin ©   (2004-07-22 05:46) [6]


>  R ©   (22.07.04 04:41)

Ну пример то приведи.


← →
R ©   (2004-07-22 06:07) [7]

>Ну пример то приведи.Привести не могу, потому что пример - это конкретный
файл, который функция не определяет, я анализировал,
подозреваю что связано либо с ошибкой структуры файла,
либо с соотношением файловых атрибутов(дата,размер и т.д.),
но это лишь мое предположение.

>Magikan ©  
Потестирую.


← →
R ©   (2004-07-22 06:17) [8]

>Magikan ©  

Не отрабатывает.


← →
Sergey Kaminski ©   (2004-07-22 07:06) [9]

либо с соотношением файловых атрибутов(дата,размер и т.д.)

Тут где-то уже обсуждалось. Используется функция FileAge, она выдает неправильный результат если дата файла меньше какой-то определенной даты; честно говоря, не помню, какой именно.


← →
Mell   (2004-07-22 09:24) [10]

function fileexits(filename:string):boolean;
var
sr:tsearchrec;
begin
if findfirst(filename,faanyfile,sr)=0 then
result:=true else result:=false;
findclose(sr);
end;


← →
REA ©   (2004-07-22 09:57) [11]

>if findfirst(filename,faanyfile,sr)=0 then
>result:=true else result:=false;

тоже самое:

Result := findfirst(filename,faanyfile,sr) = 0;


← →
Anatoly Podgoretsky ©   (2004-07-22 10:02) [12]

Mell   (22.07.04 09:24) [10]

Это надо исправить

function fileexits(filename:string):boolean;
var
  sr:tsearchrec;
begin
  result := findfirst(filename,faanyfile-faVolume-faDirectory,sr) = 0;
findclose(sr);
end;


← →
Anatoly Podgoretsky ©   (2004-07-22 10:03) [13]

REA ©   (22.07.04 09:57) [11]
И таже ошибка, это не fileexits, исправления смотри в 12. Обратить внимание на faVolume-faDirectory


← →
MetalFan ©   (2004-07-22 10:20) [14]


> но иногда на существующий файл она возвращает False,

было такое, но под D6. лечилось установкой апдейтов.


← →
ALS   (2004-07-22 13:27) [15]


function isFileExists(const FileName: string): boolean;
var H: THandle;
   FData: TWin32FindData;
begin
 H := FindFirstFile(PChar(FileName), FData);
 if H = INVALID_HANDLE_VALUE then Result := False
        else
 begin
   Windows.FindClose(H);
   Result := True
 end
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.022 c
4-1088085689
DeMoN_Astra
2004-06-24 18:01
2004.08.08
ShellExecute - как запустить app свернутым?


4-1088235176
Sormy
2004-06-26 11:32
2004.08.08
Как извлечь версию файла из произвольного файла?


1-1090575798
Павел_
2004-07-23 13:43
2004.08.08
Чем отличается (Sender as TLabel) и TLabel(Sender)?


14-1090568557
t100
2004-07-23 11:42
2004.08.08
Экспорт адресной книги Outlook Express.Помогите!!!!!!!!!!!


1-1090449329
AlexR
2004-07-22 02:35
2004.08.08
Как можно отследить минимизацию окна программы




   Наверх