Procedure.s FileTime(fichier$, typedate.l)
TailleFichier = FileSize(fichier$)
If tailleFichier >= 0 ; teste si le fichier existe
HandleFichier.l = OpenFile(2, fichier$) ; recupère le Handle du fichier avec la fonction OpenFile
Else
HandleFichier = 0
EndIf
If HandleFichier And OpenLibrary(0, "kernel32.dll")
CallFunction(0, "GetFileTime", HandleFichier, ct.FILETIME, lat.FILETIME, lwt.FILETIME) ;
Select typedate
Case 1 ; si typedate = 1, renvoi la date de création
CallFunction(0, "FileTimeToLocalFileTime", @ct, @lpLocalFileTime.FILETIME) ; pour prendre en compte l'heure d'été et d'hiver
Case 2 ; si typedate = 2, renvoi la date du dernier accès
CallFunction(0, "FileTimeToLocalFileTime", @lat, @lpLocalFileTime.FILETIME) ; pour prendre en compte l'heure d'été et d'hiver
Default ; si typedate = autre chose, renvoi automatiquement la date de modification
CallFunction(0, "FileTimeToLocalFileTime", @lwt, @lpLocalFileTime.FILETIME) ; pour prendre en compte l'heure d'été et d'hiver
EndSelect
CallFunction(0, "FileTimeToLocalFileTime", @lwt, @lpLocalFileTime.FILETIME) ; pour prendre en compte l'heure d'été et d'hiver
CallFunction(0, "FileTimeToSystemTime", @lpLocalFileTime, @st.SYSTEMTIME) ; pour convertir la date dans le format systemtime
DateFichier$ = Space(256)
HeureFichier$ = DateFichier$
GetDateFormat_(2048, 0, @st, "dd'/'MM'/'yyyy", @DateFichier$, 254) ; donne la dte du fichier
GetTimeFormat_(2048, #TIME_FORCE24HOURFORMAT, @st, 0, @HeureFichier$, 254) ; donne l'heure du fichier
datefichier$ = DateFichier$ + " " + HeureFichier$ ; on assemble l'année et l'heure
CloseFile(2)
ProcedureReturn DateFichier$ ; renvoi la date du fichier
Else
ProcedureReturn "?"
EndIf
EndProcedure