Comment déterminer la date de création, modification, ou de dernier accès d'un fichier ?L'une des méthodes les plus simples pour déterminer la date de dernière modification d'un fichier est d'utiliser la fonction built-in FileDateTime :
Debug.Print FileDateTime("c:\autoexec.bat") Cependant, dans de nombreux cas, il peut être nécessaire de différencier date de création, de dernière modification et de dernier accès à un fichier. Les APIs Windows fournissent une panoplie de fonctions permettant l'accès à ces informations. Nous décrirons ci après rapidement leur usage. Ensuite, nous construirons ensuite un exemple complet qui vous permettra de récupérer les dates à des fins d'affichage. La fonction GetFileTime est très certainement la première des fonctions à décrire. Celle-ci renvoie les trois informations précédemment citées, ayant pour entrée le seul un hFile, qui peut être acquis assez facilement. Le problème se situe dans le format de description de la date et heure : il s'agit d'une structure FILETIME, représentant une date UTC sur 64 bits. Bien qu'après quelques calculs une telle valeur pourrait être interprétée, les APIs Windows peuvent une fois de plus faciliter la tâche. Ainsi, la fonction FileTimeToLocalFileTime sera utilisée afin de convertir l'heure UTC en heure locale. Cette dernière est en effet la forme la plus susceptible d'être comprise par l'utilisateur. A noter la fonction FileDateTime retourne elle aussi l'heure corespondant au fuseau horraire utilisé. La forme UTC sera elle utilisée lorsque des comparaisons de dates, sur deux systèmes différents, doivent être effectuées. En effet, la date UTC n'est pas perturbée par des phénomènes tels que le passage de l'heure d'hiver à l'heure d'été. C'est enfin au tour de la fonction FileTimeToSystemTime d'entrer en jeu. Celle-ci nous permettra d'effectuer la séparation de la date, encore à ce stade représentée comme une valeur 64 bits, en différentes composantes mieux connues des utilisateurs, telles que le jour, l'année, l'heure, etc. Voyons maintenant par un exemple comment utiliser ces fonctions dans la pratique :
Private Const GENERIC_READ = &H80000000
|
Date de publication : 25 février 2007 Dernière modification : 25 février 2007 Rubriques : Déploiement, Fichiers & dossiers Mots-clés : date, heure, jour, année, mois, création, modification, accès, temps, FileDateTime, UTC, filetime |