Доброго времени суток. Ребят, у кого-нибудь есть листинг этой функции? из модуля SysUtils. Либо ее аналог, позволяющий проверять существование файла. Пишу без подключаемых модулей, классов и объектов.
function FileExists(FileName: PChar): Boolean; var Handle: DWORD; FindData: TWin32FindData; begin Result:=false; Handle:=FindFirstFile(FileName, FindData); if Handle<>INVALID_HANDLE_VALUE then begin FindClose(Handle); Result:=true; end; end;
Quote
не нашел
Там всё есть. Плохо искал значит
Quote
причем тут это?
При том, что при клике попадешь на листинг данной функции.
Вот как она выглядит в SysUtils:
Code
function FileAge(const FileName: string): Integer; {$IFDEF MSWINDOWS} var Handle: THandle; FindData: TWin32FindData; LocalFileTime: TFileTime; begin Handle:=FindFirstFile(PChar(FileName), FindData); if Handle<>INVALID_HANDLE_VALUE then begin Windows.FindClose(Handle); if (FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY)=0 then begin FileTimeToLocalFileTime(FindData.ftLastWriteTime, LocalFileTime); if FileTimeToDosDateTime(LocalFileTime, LongRec(Result).Hi, LongRec(Result).Lo) then Exit; end; end; Result:=-1; end; {$ENDIF} {$IFDEF LINUX} var st: TStatBuf; begin if stat(PChar(FileName), st)=0 then Result:=st.st_mtime else Result:=-1; end; {$ENDIF}
function FileExists(const FileName: string): Boolean; {$IFDEF MSWINDOWS} begin Result:=FileAge(FileName)<>-1; end;
Выбирай
Сообщение отредактировал Волк-1024 - Среда, 29.08.2012, 22:34
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;