Date de creation d'un fichier

Résolu
Signaler
Messages postés
14
Date d'inscription
mardi 29 mars 2005
Statut
Membre
Dernière intervention
19 juillet 2005
-
Messages postés
14
Date d'inscription
mardi 29 mars 2005
Statut
Membre
Dernière intervention
19 juillet 2005
-
J'aimerai recupérer la date de création d'un fichier ou d'un repertoire. J'ai trouvé FileAge , mais ca me donne la date de modification et non de creation...

Qqun sait-il ???

4 réponses

Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
HANDLE hFile;
FILETIME lpCreationTime, lpLastAccessTime,lpLastWriteTime;
SYSTEMTIME SystemeTime;
TDateTime MaDateTime;
hFile = CreateFile(PathFichierDansRep.c_str(), 0, 0, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL);



GetFileTime( hFile, &lpCreationTime, &lpLastAccessTime, &lpLastWriteTime);
FileTimeToSystemTime(& lpCreationTime, &SystemeTime);
MaDateTime = SystemTimeToDateTime(SystemeTime);
DateTimeStr = DateTimeToStr(MaDateTime);

J'ai pas verifié les arguments, mais ton pb vient du fait que tu passes des pointeurs, donc aucune zone allouée, ce qui fait que tu demandes a la fonction d'ecrire un peu nulle part, provoquant ainsi un Violation Access. J'espere que t'as compris le truc, sinon redemande.

+2(p - n)
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
Si t'es sous Windows (a preciser d'ailleurs dans la question) :
- GetFileTime() : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/getfiletime.asp

+2(p - n)
Messages postés
14
Date d'inscription
mardi 29 mars 2005
Statut
Membre
Dernière intervention
19 juillet 2005

Merci bien!

J'utilise donc la fonction comme ceci pour transformer en DATETIME :

HANDLE hFile;
LPFILETIME lpCreationTime, lpLastAccessTime,lpLastWriteTime;
LPSYSTEMTIME SystemeTime;
TDateTime MaDateTime;


hFile = CreateFile(PathFichierDansRep.c_str(), 0, 0, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL);



GetFileTime( hFile, lpCreationTime, lpLastAccessTime, lpLastWriteTime);
FileTimeToSystemTime( lpCreationTime,SystemeTime);
MaDateTime = SystemTimeToDateTime(*SystemeTime);
DateTimeStr = DateTimeToStr(MaDateTime);

Mais il me fait un erreur de violation de memoire, t'a une idée?
Messages postés
14
Date d'inscription
mardi 29 mars 2005
Statut
Membre
Dernière intervention
19 juillet 2005

OK ca marche !!!!
Super , merci beaucoup