Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.039 c
6-1086618036
Adil
2004-06-07 18:20
2004.08.08
Ошибка 503


1-1090587549
Alex_x
2004-07-23 16:59
2004.08.08
Как семулировать двойное нажатие клавиши


1-1090314166
rustamus
2004-07-20 13:02
2004.08.08
DhtmlEdit


14-1089942619
Думкин
2004-07-16 05:50
2004.08.08
С днем рождения! 16 июля


8-1085404170
Vadim
2004-05-24 17:09
2004.08.08
Иконки и кнопки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский