function GetFileTimes(FileName : string;
var Created : TDateTime;
var Modified : TDateTime;
var Accessed : TDateTime) : boolean;
var
FileHandle : integer;
Retvar : boolean;
FTimeC,FTimeA,FTimeM : TFileTime;
LTime : TFileTime;
STime : TSystemTime;
begin
FileHandle := FileOpen(FileName,fmShareDenyNone);
Created := 0.0;
Modified := 0.0;
Accessed := 0.0;
if FileHandle < 0 then
RetVar := false
else begin
RetVar := true;
GetFileTime(FileHandle,@FTimeC,@FTimeA,@FTimeM);
FileClose(FileHandle);
FileTimeToLocalFileTime(FTimeC,LTime);
if FileTimeToSystemTime(LTime,STime) then begin
Created := EncodeDate(STime.wYear,STime.wMonth,STime.wDay);
Created := Created + EncodeTime(STime.wHour,STime.wMinute,STime.wSecond,
STime.wMilliSeconds);
end;
FileTimeToLocalFileTime(FTimeA,LTime);
if FileTimeToSystemTime(LTime,STime) then begin
Accessed := EncodeDate(STime.wYear,STime.wMonth,STime.wDay);
Accessed := Accessed + EncodeTime(STime.wHour,STime.wMinute,STime.wSecond,
STime.wMilliSeconds);
end;
FileTimeToLocalFileTime(FTimeM,LTime);
if FileTimeToSystemTime(LTime,STime) then begin
Modified := EncodeDate(STime.wYear,STime.wMonth,STime.wDay);
Modified := Modified + EncodeTime(STime.wHour,STime.wMinute,STime.wSecond,
STime.wMilliSeconds);
end;
end;
Result := RetVar;
end;