Date de creation d'un fichier

Résolu
squellettor Messages postés 14 Date d'inscription mardi 29 mars 2005 Statut Membre Dernière intervention 19 juillet 2005 - 19 juil. 2005 à 10:40
squellettor Messages postés 14 Date d'inscription mardi 29 mars 2005 Statut Membre Dernière intervention 19 juillet 2005 - 19 juil. 2005 à 13:50
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

cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 2
19 juil. 2005 à 12:03
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)
3
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 2
19 juil. 2005 à 11:12
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)
0
squellettor Messages postés 14 Date d'inscription mardi 29 mars 2005 Statut Membre Dernière intervention 19 juillet 2005
19 juil. 2005 à 11:57
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?
0
squellettor Messages postés 14 Date d'inscription mardi 29 mars 2005 Statut Membre Dernière intervention 19 juillet 2005
19 juil. 2005 à 13:50
OK ca marche !!!!
Super , merci beaucoup
0
Rejoignez-nous