Les Snippets

Connexion

Obtenir les Dates d'un Fichier en Temps Universel

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 01/04/2006 02:50:07 et initié par Gobillot [Liste]
Date de mise à jour : 01/04/2006 06:26:07
Vue : 6677
Catégorie(s) : Date & Heure, Trucs & Astuces
Langages dispo pour ce code :
- VB6



Langage : VB6
Date ajout : 01/04/2006
Posté par Gobillot [Liste]
DateMAJ : 01/04/2006
Const FILE_SHARE_READ = &O1
Const FILE_SHARE_WRITE = &O2
Const GENERIC_ALL = &H10000000
Const GENERIC_READ = &H80000000
Const GENERIC_WRITE = &H40000000
Const OPEN_EXISTING = 3
Const INVALID_HANDLE_VALUE = -1

Private Type DateFichier
     CreationTime      As Date
     LastAccessTime   As Date
     LastWriteTime     As Date
End Type

Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwSharedMode As Long, ByVal lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function GetFileTime Lib "kernel32" (ByVal hFile As Long, lpCreationTime As Currency, lpLastAccessTime As Currency, lpLastWriteTime As Currency) As Long

Private Function GetDateFichier(FileName As String) As DateFichier
    Dim dt1     As Currency
    Dim dt2     As Currency
    Dim dt3     As Currency
    Dim dt       As Date
    Dim hCrea  As Long
    
    hCrea = CreateFile(FileName, GENERIC_READ, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0, 0)
    If hCrea = INVALID_HANDLE_VALUE Then
       MsgBox "Erreur Lecture: " & FileName
       Exit Function
       End If
       
' renvoie le nombre de 100-nanosecond depuis le 1er Janvier 1601
    GetFileTime hCrea, dt1, dt2, dt3
    CloseHandle (hCrea)
'   conversion en date pour Vb
    dt = (dt1 / 1000 - 9435312000#) / 86400
    GetDateFichier.CreationTime = dt
    dt = (dt2 / 1000 - 9435312000#) / 86400
    GetDateFichier.LastAccessTime = dt
    dt = (dt3 / 1000 - 9435312000#) / 86400
    GetDateFichier.LastWriteTime = dt
    
End Function

'   exemple d'utilisation
    Dim dat As DateFichier
    Dim s   As String
    
    dat = GetDateFichier("C:\autoexec.bat")
    s = "date création........." & dat.CreationTime & vbCrLf
    s = s & "date modification...." & dat.LastWriteTime & vbCrLf
    s = s & "date dernier accès.." & dat.LastAccessTime
    MsgBox s


Snippets en rapport avec : Date, Getfiletime



Codes sources en rapport avec : Date, Getfiletime

{C / C++ / C++.NET} CLASS DATE
C'est une classe Date avec tous ces fonction pour la saisie et l'affichage en mode complet et abrégé...

{} DATE ANSI SQL
Valide le format de date ANSI SQL "YYYY-mm-dd hh:mi:ss am/pm" Permet l'utilisation de "/", "-", "...

{Visual Basic, VB6, VB.NET, VB 2005} DATE DES SAISONS
Voici, une petite source pour calculer les dates précises des saisons... Le code n'est pas de moi...

{Delphi} MODIFIER LES DATES DE CRÉATION, DE MODIFICATION ET DE DERNIER ACCÈS D'UN FICHIER
La Source de grandvizir actuellement présente sur le site (http://www.delphifr.com/codes/CORRUPTEUR-...

{Visual Basic, VB6, VB.NET, VB 2005} AGENDA TOUT SIMPLE ( NO DATABASE)
agenda tout simple qui utilise un fichier pour chaque jour en lieu et place d'une base de données ...

{JAVA / J2EE} CALENDRIER
J'ai fait un petit calendrier en utilisant un TableLayout. En voici les caractéritiques: - Chaque...

{PHP} CALCUL SIMPLE DU NOMBRE DE JOURS OUVRÉS ENTRE DEUX DATES (JOURS FÉRIÉS INTÉGRÉS)
Cette fonction permet de calculer le nombre de jours ouvrés entre deux dates, week-end et jours féri...

{PHP} UNIX TIME CONVERTER (UTC)
Classe permettant de convertir une date au format Unix (nombre de secondes écoulées depuis le 1er Ja...

{Javascript / DHTML} AFFICHER UN CALENDRIER SOUS UNE ZONE DE SAISIE V3.0
affiche un calendrier sous une zone de saisie version 3.0 de mon calendrier -script 100% paramétra...

{Visual Basic, VB6, VB.NET, VB 2005} CREATION DU VERSION SHAREWARE
je recherchais comment pouvoir définir une version shareware car je devais en faire une en exemple p...