1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| function MyGetFileTime(FileName: PChar): TDateTime; var FileHandle: Cardinal; LastWriteTime: TFileTime; UTCSystemTime, LocalSystemTime: TSystemTime; begin Result := 0; FileHandle := CreateFile(PChar(FileName), GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0); if FileHandle = INVALID_HANDLE_VALUE then Exit; if not GetFileTime(FileHandle, nil, nil, @LastWriteTime) then Exit; FileTimeToSystemTime(LastWriteTime, UTCSystemTime); SystemTimeToTzSpecificLocalTime(nil, UTCSystemTime, LocalSystemTime); Result := SystemTimeToDateTime(LocalSystemTime); CloseHandle(FileHandle); end; |