Accueil > > > RETROUVE LA DATE DE CRÉATION D'UN FICHIER - API
RETROUVE LA DATE DE CRÉATION D'UN FICHIER - API
Information sur la source
Description
Une petite procédure très simple pour retrouver la date, l'heure de création d'un fichier avec les API. Testé sous Win98 et 2000.
Source
- '*****Dans une form*****
- Dim Fichier_Path As String: Fichier_Path = ""
- Dim Fichier_Existe As Boolean: Fichier_Existe = False
- Dim Fichier_Date As String: Fichier_Date = ""
-
- '**Fichier cible : test.txt**
- If Right(App.Path, 1) <> "\" Then
- Fichier_Path = App.Path & "\" & "test.txt"
- Else
- Fichier_Path = App.Path & "test.txt"
- End If
- Call Date_File(Fichier_Path, Fichier_Existe, Fichier_Date)
-
-
- '*****On peut mettre le reste dans un module*****
-
- Private Declare Function FileTimeToLocalFileTime Lib "kernel32" (lpFileTime As FILETIME, lpLocalFileTime As FILETIME) As Long
- Private Declare Function FileTimeToSystemTime Lib "kernel32" (lpFileTime As FILETIME, lpSystemTime As SYSTEMTIME) As Long
- Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
- Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long
-
- Private Const MAX_PATH = 260
-
- Private Type FILETIME
- dwLowDateTime As Long
- dwHighDateTime As Long
- End Type
-
- Private Type WIN32_FIND_DATA
- dwFileAttributes As Long
- ftCreationTime As FILETIME
- ftLastAccessTime As FILETIME
- ftLastWriteTime As FILETIME
- nFileSizeHigh As Long
- nFileSizeLow As Long
- dwReserved0 As Long
- dwReserved1 As Long
- cFileName As String * MAX_PATH
- cAlternate As String * 14
- End Type
-
- Private Type SYSTEMTIME
- wYear As Integer
- wMonth As Integer
- wDayOfWeek As Integer
- wDay As Integer
- wHour As Integer
- wMinute As Integer
- wSecond As Integer
- wMilliseconds As Integer
- End Type
-
- Public Sub Date_File(Chemin_File As String, Existe_File As Boolean, Date_File As String)
-
- If Dir(Chemin_File, vbNormal) = "" Then 'Le fichier n'existe pas
- Existe_File = False
- Exit Sub
- Else 'Le fichier existe
- Existe_File = True
- End If
-
- Dim Info_Fichier As WIN32_FIND_DATA
- '**Localise/identifie le fichier sur le disque et Info_Fichier reçoit les informations**
- Call FindClose(FindFirstFile(UCase(Chemin_File), Info_Fichier))
-
- Dim ft As FILETIME
- '**Convertion de la date UTC en temps locale**
- Call FileTimeToLocalFileTime(Info_Fichier.ftCreationTime, ft)
-
- Dim st As SYSTEMTIME
- '**Convertion en date et heure system**
- Call FileTimeToSystemTime(ft, st)
-
- '**Date_File récupére la date sous forme : "11/11/2004"**
- Date_File = st.wDay & "/" & st.wMonth & "/" & st.wYear
-
- '**Autre exemple date et heure sous la forme "jeudi 11 novembre 2004 14:11:23"**
- Dim FileTimeToDouble As Double
- Dim FormatFileDate As String
- 'Renvoie la date correspondant au jour, au mois, à l'année indiqués etc...
- FileTimeToDouble = DateSerial(st.wYear, st.wMonth, st.wDay) + TimeSerial(st.wHour, st.wMinute, st.wSecond)
-
- 'Format la date de type sous forme : "jeudi 11 novembre 2004 14:11:23"
- FormatFileDate = Format(FileTimeToDouble, "long date") & " " & Format(FileTimeToDouble, "long time")
-
- End Sub
'*****Dans une form*****
Dim Fichier_Path As String: Fichier_Path = ""
Dim Fichier_Existe As Boolean: Fichier_Existe = False
Dim Fichier_Date As String: Fichier_Date = ""
'**Fichier cible : test.txt**
If Right(App.Path, 1) <> "\" Then
Fichier_Path = App.Path & "\" & "test.txt"
Else
Fichier_Path = App.Path & "test.txt"
End If
Call Date_File(Fichier_Path, Fichier_Existe, Fichier_Date)
'*****On peut mettre le reste dans un module*****
Private Declare Function FileTimeToLocalFileTime Lib "kernel32" (lpFileTime As FILETIME, lpLocalFileTime As FILETIME) As Long
Private Declare Function FileTimeToSystemTime Lib "kernel32" (lpFileTime As FILETIME, lpSystemTime As SYSTEMTIME) As Long
Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long
Private Const MAX_PATH = 260
Private Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Private Type WIN32_FIND_DATA
dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * MAX_PATH
cAlternate As String * 14
End Type
Private Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type
Public Sub Date_File(Chemin_File As String, Existe_File As Boolean, Date_File As String)
If Dir(Chemin_File, vbNormal) = "" Then 'Le fichier n'existe pas
Existe_File = False
Exit Sub
Else 'Le fichier existe
Existe_File = True
End If
Dim Info_Fichier As WIN32_FIND_DATA
'**Localise/identifie le fichier sur le disque et Info_Fichier reçoit les informations**
Call FindClose(FindFirstFile(UCase(Chemin_File), Info_Fichier))
Dim ft As FILETIME
'**Convertion de la date UTC en temps locale**
Call FileTimeToLocalFileTime(Info_Fichier.ftCreationTime, ft)
Dim st As SYSTEMTIME
'**Convertion en date et heure system**
Call FileTimeToSystemTime(ft, st)
'**Date_File récupére la date sous forme : "11/11/2004"**
Date_File = st.wDay & "/" & st.wMonth & "/" & st.wYear
'**Autre exemple date et heure sous la forme "jeudi 11 novembre 2004 14:11:23"**
Dim FileTimeToDouble As Double
Dim FormatFileDate As String
'Renvoie la date correspondant au jour, au mois, à l'année indiqués etc...
FileTimeToDouble = DateSerial(st.wYear, st.wMonth, st.wDay) + TimeSerial(st.wHour, st.wMinute, st.wSecond)
'Format la date de type sous forme : "jeudi 11 novembre 2004 14:11:23"
FormatFileDate = Format(FileTimeToDouble, "long date") & " " & Format(FileTimeToDouble, "long time")
End Sub
Conclusion
Rien de difficile mais peut être utile au débutant
Avec qq modifications on peut retrouver la date de modification ou du dernier accès du fichier.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS !PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS ! par Etienne Margraff
J'ai récemment eu un problème pour obtenir l'intelliTrace sur un site web dans IIS. Il n'y avait pas de message d'erreur, rien dans le journal d'évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j'ai failli me résign...
Cliquez pour lire la suite de l'article par Etienne Margraff OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en ½uvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc [HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Très bonne après-midi passée lors cette conférence avec le W3C, organisée par L' Inria sur les nouveaux standards, ce Mardi 14 Février, on sent vraiment que çà bosse au W3C, et l'avenir est très très prometteur pour le HTML5, notamment ...
Cliquez pour lire la suite de l'article par Gio
Forum
FONCTION EXCEL VBAFONCTION EXCEL VBA par samanta26
Cliquez pour lire la suite par samanta26 RE : VITESSERE : VITESSE par ossama261988
Cliquez pour lire la suite par ossama261988
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|