1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
function GetFileTimes(NomFichier: string; var Created: TDateTime;
var Accessed: TDateTime; var Modified: TDateTime): boolean;
var
HandleFichier: THandle;
DtCreation, DtAcces, DtModif: TFileTime;
SysTimeStruct: SYSTEMTIME;
TimeZoneInfo: TTimeZoneInformation;
DecalageHoraire: Double;
begin
// Récupère le décalage horaire
case GetTimeZoneInformation(TimeZoneInfo) of
TIME_ZONE_ID_STANDARD:
DecalageHoraire := (TimeZoneInfo.Bias + TimeZoneInfo.StandardBias) / 1440;
TIME_ZONE_ID_DAYLIGHT:
DecalageHoraire := (TimeZoneInfo.Bias + TimeZoneInfo.DaylightBias) / 1440;
end;
// Récupère le handle du fichier
HandleFichier := FileOpen(NomFichier, fmOpenRead or fmShareDenyNone);
if HandleFichier > 0 then
begin
// Récupère les dates du fichier
GetFileTime(HandleFichier, @DtCreation, @DtAcces, @DtModif);
// Retourne les dates du fichier
// with Result do
// begin
// Date de création
if FileTimeToSystemTime(DtCreation, SysTimeStruct) then
Created := SystemTimeToDateTime(SysTimeStruct) - DecalageHoraire
else
Created := 0;
// Date du dernier accès
if FileTimeToSystemTime(DtAcces, SysTimeStruct) then
Accessed := SystemTimeToDateTime(SysTimeStruct) - DecalageHoraire
else
Accessed := 0;
// Date de la dernière modification
if FileTimeToSystemTime(DtModif, SysTimeStruct) then
Modified := SystemTimeToDateTime(SysTimeStruct) - DecalageHoraire
else
Modified := 0;
Result := True;
// end;
end;
end; |
Partager