Date dossier

Signaler
Messages postés
11
Date d'inscription
samedi 2 août 2003
Statut
Membre
Dernière intervention
26 octobre 2010
-
Messages postés
11
Date d'inscription
samedi 2 août 2003
Statut
Membre
Dernière intervention
26 octobre 2010
-
Bonjour à tous,

Comment est-il possible de modifier la date et l'heure d'un dossier ?, pas d'un fichier.

Merçi d'avance

HiJesse

7 réponses

Messages postés
702
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
1 octobre 2009
4
Salut,



Les répertoire n'étant pas des fichiers tout à fait commes les autres,
il faut utiliser la fonction CreateFile pour récupérer leur
handle,



var

HandleFile: THandle;

Date: TDateTime;

MonRepertoire : string;

begin

Date := Now - 7;

HandleFile := CreateFile(PChar(MonRepertoire),

GENERIC_READ or GENERIC_WRITE,

0,

nil,

OPEN_EXISTING,

FILE_FLAG_BACKUP_SEMANTICS, // C'est là le flag qui faut touver !!

0);

FileSetDate(HandleFile, DateTimeToFileDate(Date));

end;





Ken@vo


<hr size="2" width="100%">
Code, Code, Codec !


http://www.pourflorenceethussein.org/



N'oubliez pas la pétition
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Penser à initialiser MonRepertoire !
Dis Kenavo, je n'ai pas essayé ton code (super intéressant ), mais est-ce que CreateFile supporte les chemins relatifs ?


<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
<
Messages postés
11
Date d'inscription
samedi 2 août 2003
Statut
Membre
Dernière intervention
26 octobre 2010

Kenavo et Delphiprog , merçi pour votre aide.
Je vais essayer ce code.

HiJesse
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Oh ben moi je n'ai rien fait dans ce coup là, à part poser une question complémentaire !
Il est donc inutile de me remercier.


<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
<
Messages postés
11
Date d'inscription
samedi 2 août 2003
Statut
Membre
Dernière intervention
26 octobre 2010

Sorry Kenavo,
mais ça ne fonctionne pas.

HiJesse
Messages postés
702
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
1 octobre 2009
4
Hi,



Qu'est ce qui ne fonctionne pas : la fonction CreateFile ne retourne
pas de handle valide ? La fonction FileSetDate ne modifie pas la date ?



Déjà je peux dire que "repertoire" peut-êter du type 'X:\.....MonReperoire' ou
'X:\.....MonReperoire\' ou '..\
MonReperoire'
ou '..\
MonReperoire\'




Il est par contre impossible d'obtenir un handle pour le répertoire en cours, et donc de modifier sa date.



Ken@vo


<hr size="2" width="100%">
Code, Code, Codec !

http://www.pourflorenceethussein.org/
Messages postés
11
Date d'inscription
samedi 2 août 2003
Statut
Membre
Dernière intervention
26 octobre 2010

Je ne sais ce qui ne va pas, voiçi mon code , c'est un copier coller du tien.

procedure TForm1.Button1Click(Sender: TObject);
var
HandleFile: THandle;
Date: TDateTime;
MonRepertoire : string ;


begin
Date := Now - 7;
MonRepertoire := 'E:\Test\' ;
HandleFile := CreateFile(PChar(MonRepertoire),
GENERIC_READ or GENERIC_WRITE,
0,
nil,
OPEN_EXISTING,
FILE_FLAG_BACKUP_SEMANTICS, // C'est là le flag qui faut touver !!
0);
FileSetDate(HandleFile, DateTimeToFileDate(Date));


label1.Caption := datetostr (date) ;



end;