function TForm1.GetFileLastAccessTime(a_FileName: string;
a_Flag: Byte): TDateTime;
var
ffd: TWin32FindData;
dft: DWord;
lft: TFileTime;
h: THandle;
begin
h:=FindFirstFile(PChar(a_FileName),ffd);
if h<>INVALID_HANDLE_VALUE then
begin
case a_Flag of
FILE_CREATE_TIME:FileTimeToLocalFileTime(ffd.ftCreationTime,lft);
FILE_MODIFY_TIME:FileTimeToLocalFileTime(ffd.ftLastWriteTime,lft);
FILE_ACCESS_TIME:FileTimeToLocalFileTime(ffd.ftLastAccessTime,lft);
else
FileTimeToLocalFileTime(ffd.ftLastAccessTime,lft);
end;
FileTimeToDosDateTime(lft,LongRec(dft).Hi,LongRec(dft).Lo);
Result := FileDateToDateTime(dft);
Windows.FindClose(h);
end
else
Result:=0;
end;