Basic Univers
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