Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.08;
Скачать: CL | DM;

Вниз

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

 
©   (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 надо указывать полностью, а не надеяться что рабочей директорией в этот момень является та, о которой вы думаете, и глюков станет меньше


 
©   (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)

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


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

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

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


 
©   (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 вся ветка

Текущий архив: 2004.08.08;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.021 c
14-1090472589
Igit
2004-07-22 09:03
2004.08.08
Привязка к компьютеру


11-1078503469
Delpher_Gray
2004-03-05 19:17
2004.08.08
PBitMap --> PJpeg


1-1090504562
RedLord
2004-07-22 17:56
2004.08.08
оптимизация на быстродействие


4-1088146499
_student
2004-06-25 10:54
2004.08.08
Как можно сделать индикатор, ну например как в винампе


9-1082976295
Dentist
2004-04-26 14:44
2004.08.08
Хочу написать чит для CS