Page 1 sur 1

Date et Heure Locale d'un Fichier

Publié : mer. 26/mai/2004 23:17
par nico
Je viens de voir que le Soldat à posté un code renvoyant les dates seulement, celui-ci étant plus complet et légèrement différent, je me permet de le poster:

Code : Tout sélectionner

;Procedure retournant l'Heure et la Date Locale d'un Fichier
;Nico 
;Le 26/05/04 

;/Cette structure permet de connaître toutes les infos que l'on peut récupérer
; Structure SystemTime 
;   wYear.w 
;   wMonth.w         ;Janvier=1, Fevrier=2 etc...
;   wDayOfWeek.w ;Dimanche=0, Lundi=1 etc...
;   wDay.w 
;   wHour.w 
;   wMinute.w 
;   wSecond.w 
;   wMilliseconds.w 
; EndStructure  

Procedure FileTime(file.l, *Creation3, *DernierAcces3, *DerniereModification3)
  
  Creation1.Filetime 
  DernierAcces1.Filetime 
  DerniereModification1.Filetime 
  
  Creation2.Filetime 
  DernierAcces2.Filetime 
  DerniereModification2.Filetime 
   
  If GetFileTime_(file,@Creation1, @DernierAcces1, @DerniereModification1) 
    If FileTimeToLocalFileTime_(Creation1, @Creation2) 
      If FileTimeToLocalFileTime_(DernierAcces1, @DernierAcces2) 
        If FileTimeToLocalFileTime_(DerniereModification1, @DerniereModification2)
          If FileTimeToSystemTime_(Creation2, *Creation3) 
            If FileTimeToSystemTime_(DernierAcces2, *DernierAcces3) 
              If FileTimeToSystemTime_(DerniereModification2, *DerniereModification3) 
                ProcedureReturn 1
              EndIf 
            EndIf 
          EndIf
        EndIf
      EndIf
    EndIf
  EndIf
  ProcedureReturn 0
EndProcedure
  
Chemin$=OpenFileRequester("Choisir un Fichier", "Fichier", "*.*", 0)
Hfile.l= OpenFile(0,Chemin$) 
If Hfile 
  If FileTime(Hfile,@Creation.SystemTime, @DernierAcces.SystemTime, @DerniereModification.SystemTime) 
    MessageRequester("Info Creation",Str(Creation\wDay)+"  -  "+Str(Creation\wHour)+":"+Str(Creation\wMinute))
    ;Attention--> il n'y a pas d'heure d'afficher concernant le dernier Accès (non applicable)
    MessageRequester("Info Dernier Acces",Str(DernierAcces\wDay)+"  -  "+Str(DernierAcces\wHour)+":"+Str(DernierAcces\wMinute)) 
    MessageRequester("Info Dernière Modification",Str(DerniereModification\wDay)+"  -  "+Str(DerniereModification\wHour)+":"+Str(DerniereModification\wMinute))
  EndIf
  CloseFile(0) 
EndIf

Publié : jeu. 27/mai/2004 7:55
par Anonyme2
Voici un bout de code que j'utilise pour mon exploreurListadget perso pour afficher la date et l'heure du dernier accès en écriture du fichier

Code : Tout sélectionner

#Date = "dd'/'MM'/'yyyy"

FileTimeToLocalFileTime_(FileInfos\ftLastWriteTime, @OutPut.l)
FileTimeToSystemTime_(@OutPut, @OutPutSystemTime.SYSTEMTIME)
GetDateFormat_(2048, 0, @OutPutSystemTime, #Date, @String1, 256)
GetTimeFormat_(2048, #TIME_FORCE24HOURFORMAT, @OutPutSystemTime, 0, @FileDateTime, 256)
String1 + "  " + FileDateTime
Ca donne quelque chose comme ça (c'est String1 qui a le résultat)

27/02/2004 19:43:00


En modifiant #Date on peut avoir un affichage différent

Publié : ven. 07/janv./2005 11:20
par gansta93
Bon... j'arrive tard, mais pour ton code Denis... comment on spécifie le nom du fichier ?
Pourais-tu poster un exemple complet d'utilisation de ton code stp ?

Publié : ven. 07/janv./2005 17:20
par Anonyme2