bonjour
Je souhaiterais savoir comment je peux recupérer la date de création d'un fichier ?
Je vous remercie
bonjour
Je souhaiterais savoir comment je peux recupérer la date de création d'un fichier ?
Je vous remercie
c@simir
à prioris j'ai trouvé la procédure gefFtime ...
c@simir
Pas évident de trouver la date de création. les fonctions existantes ne donnent que la date de dernière modification.
Voila une procédure pour sortir les 3 dates/heures (création, accès, modification) d'un fichier: (exemple pour c:\bdlog.txt)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 uses Windows; function FileTimeToDTime(FTime: TFileTime): TDateTime; var LocalFTime: TFileTime; STime: TSystemTime; begin FileTimeToLocalFileTime(FTime, LocalFTime); FileTimeToSystemTime(LocalFTime, STime); Result := SystemTimeToDateTime(STime); end; procedure TForm1.FormCreate(Sender: TObject); var SR: TSearchRec; CreateDT, AccessDT, ModifyDT: TDateTime; begin if FindFirst('c:\bdlog.txt', faAnyFile, SR) = 0 then begin CreateDT := FileTimeToDTime(SR.FindData.ftCreationTime); AccessDT := FileTimeToDTime(SR.FindData.ftLastAccessTime); ModifyDT := FileTimeToDTime(SR.FindData.ftLastWriteTime); ShowMessage('Date de création: ' + DateTimeToStr(CreateDT) + #10 + 'Dernier accès: ' + DateTimeToStr(AccessDT) + #10 + 'Dernière modification: ' + DateTimeToStr(ModifyDT)); end else ShowMessage('Fichier introuvable...'); FindClose(SR); end;
À +
Pat.
Si vous avez trouvé chaussure à votre pied... euh solution à votre problème, n'oubliez pas de clôturer le sujet en le marquant comme:
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Windows 8.1, Lazarus 1.8.2 SVN 57369 FPC 3.0.4 x86_64-win64-win32/win64
merci pour ton exemple complet mais je suis obstiné je voudrais utilisé la procedure getFtime j'ai repris un exemple mais je n'ai pas le résultat que je voudrais
j'obtiens les résultats suivant lorsque j'exécute le programme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 PROGRAM affich; Uses Dos; Var S: SearchRec; f: File; Y : Text; Heure: longInt; dt: DateTime; function format(w:word):string; {fonction, renvoit en valeur intrinsèque} var s: string; {variable chaîne locale} begin {début de la fonction} str(w:0,s); {convertie une chaîne STRING nombre en WORD} if length(s)=1 then s:='0'+s; {si la chaîne possède un seul caractère, alors on lui rajoute un zéro devant} format:=s; {la fonction FORMAT prend la valeur de S} end; BEGIN FindFirst('C:\test\*.zip',Archive,S); while DosError = 0 do begin writeln(S.Name); assign(f,S.Name); getftime(f,Heure); unpacktime(Heure,dt); writeln(format(dt.hour)); FindNext(S); end; FindClose(S); END.
archive1.zip
00
archive2.zip
00
Copie (2) de archive1.zip
00
Copie (3) de archive1.zip
00
Copie de archive1.zip
00
Auriez-vous une idée du souci ?
c@simir
Pourquoi faire simple quand on peut faire compliqué... Enfin, c'est toi qui vois.
Oui, à mon avis, tu dois utiliser Unpacktime pour arriver à tes fins. Regarde ce tutoriel.j'ai repris un exemple mais je n'ai pas le résultat que je voudrais.
Auriez-vous une idée du souci ?
À +
Pat.
Si vous avez trouvé chaussure à votre pied... euh solution à votre problème, n'oubliez pas de clôturer le sujet en le marquant comme:
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Windows 8.1, Lazarus 1.8.2 SVN 57369 FPC 3.0.4 x86_64-win64-win32/win64
j'ai donc trouvé dans le code ce qui me manquait
reset(f);
getftime(f,Heure);
close(f);
maintenant je recupère correctement l'heure du fichier ...
c@simir
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager