Date d'un fichier

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Date d'un fichier

Message par Le Soldat Inconnu »

Salut,

un petit code pas de moi, je l'ai juste amélioré qui permet de choper la date d'un fichier (date de création, accés et modification)

Code : Tout sélectionner

Procedure.s FileTime(fichier$, typedate.l)
  Protected TailleFichier.l, HandleFichier.l, DateFichier$, HeureFichier$
  
  HandleFichier = OpenFile(100, fichier$) ; recupère le Handle du fichier avec la fonction OpenFile
  
  If HandleFichier
    
    GetFileTime_(HandleFichier, ct.FILETIME, lat.FILETIME, lwt.FILETIME)
    
    Select typedate
      Case 1 ; si typedate = 1, renvoi la date de création
        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
        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
        FileTimeToLocalFileTime_(@lwt, @lpLocalFileTime.FILETIME) ; pour prendre en compte l'heure d'été et d'hiver
    EndSelect
    
    FileTimeToSystemTime_(@lpLocalFileTime, @st.SYSTEMTIME) ; pour convertir la date dans le format systemtime
    
    DateFichier$ = Space(20)
    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(100)
    
    ProcedureReturn DateFichier$ ; renvoi la date du fichier
    
  Else
    ProcedureReturn "?"
  EndIf
  
EndProcedure
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]