domsig
Messages postés125Date d'inscriptionlundi 6 septembre 2004StatutMembreDernière intervention11 mai 2010
-
21 févr. 2006 à 14:47
walid2876
Messages postés49Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention31 août 2008
-
23 févr. 2006 à 01:37
bonjour à tous(toutes !)
il faut que j'écrive un programme d'archivage. Je parcours les dossiers, s'ils sont vides, je les vire (je résume hein). Problème, si ça ne se passe pas bien, la date du dossier change et se met à aujourd'hui. Donc ce que je fais, je récupère avant traitement la date du dossier avec
où hf est un cardinal, pf1 à pf3 des filetime
ensuite je fais mon traitement et je remets la bonne date au dossier avec
hf:=CreateFile(PChar(dossier), GENERIC_WRITE,0,Nil,OPEN_EXISTING,FILE_FLAG_BACKUP_SEMANTICS,0);
SetFileTime(hf, Nil, Nil, @pf3);
mais la date ne se remet pas bien. Ma question c'est :
comment mettre un messagebox avec la valeur de pf3 ? je sais que c'est un problème de transtypage mais je patauge...
merci d'avance pour votre aide
walid2876
Messages postés49Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention31 août 2008 23 févr. 2006 à 01:37
utuliser la fonction
FileTimeToSystemTime(
const lpFileTime:FILETIME
lpSystemTime:PSYSTEMTIME
);
Uses ...,...,dateUnils;
Var DateFichier:_SYSTEMTIME;
SetFileTime(hf, Nil, Nil,@pf3);
with DateFichier Do
if FileTimeToSystemTime(pf3,DateFichier) then
showmessage(datetimetostr(encodedatetime(
wYear,wMonth,wDay,wHour,
wMinute,wSecond,wMilliSeconds
)));
la declaration du PSYSTEMTIME dans l'unité windows
PSystemTime = ^TSystemTime;
_SYSTEMTIME = record
wYear: Word;
wMonth: Word;
wDayOfWeek: Word;
wDay: Word;
wHour: Word;
wMinute: Word;
wSecond: Word;
wMilliseconds: Word;
end;