Вот вариант еще:
Код
function FileExists( const FileName : KOLString ) : Boolean;
var FD: TFindFileData;
LFT: TFileTime;
Hi, Lo: Word;
e: DWORD;
begin
Result := FALSE;
e := SetErrorMode( SEM_NOOPENFILEERRORBOX or SEM_FAILCRITICALERRORS );
if Find_First( Filename, FD ) then
begin
if FD.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY = 0 then
begin
FileTimeToLocalFileTime( FD.ftLastWriteTime, LFT );
if FileTimeToDosDateTime( LFT, Hi, Lo ) then
Result := TRUE;
end;
Find_Close( FD );
end;
SetErrorMode( e );
end;