UDF > Date >


_Date_Time_SetFileTime

D�finit la date/heure de cr�ation, d'acc�s et modification d'un fichier

#include <Date.au3>
_Date_Time_SetFileTime ( $hFile, $tCreateTime, $tLastAccess, $tLastWrite )

Param�tres

$hFile Handle vers le fichier. Le handle du fichier doit avoir �t� cr�� � l'aide de la fonction CreateFile avec le droit d'acc�s FILE_WRITE_ATTRIBUTES.
$tCreateTime Structure $tagFILETIME qui contient les nouvelles date et heure de cr�ation du fichier.
Cette valeur est 0 si l'application n'a pas besoin de d�finir cette information.
$tLastAccess Structure $tagFILETIME qui contient les nouvelles date et heure d'acc�s au fichier.
La date de dernier acc�s inclut la date de dern�re �criture, de lecture, ou (dans le cas des fichiers ex�cutables) d'ex�cution.
Cette valeur peut �tre 0 si l'application n'a pas besoin de d�finir cette information.
Pour conserver l'heure du dernier acc�s existant pour un fichier, m�me apr�s avoir acc�d� � ce fichier, appelez SetFileTime avec ce param�tre d�fini � -1 avant de fermer le handle du fichier.
$tLastWrite Structure $tagFILETIME qui contient les nouvelles date et heure du fichier qui a �t� �crit.
Cette valeur peut �tre 0 si l'application ne veut pas d�finir cette information.
Valeur de retour
Succ�s: Retourne True
�chec: Retourne False

Remarques

Les dates de cr�ation et du dernier acc�s ne peuvent �tre enregistr�es sur tous les syst�mes de fichiers et l'enregistrement de celles-ci peut ne pas se faire de la m�me mani�re.
Par exemple, en FAT, la date de cr�ation a une pr�cision de 10 millisecondes, la date de modification a une pr�cision de 2 secondes, et la date du dernier acc�s a une pr�cision de 1 jour (c'est bien �a, la date du dernier acc�s). Par cons�quent, la fonction _Date_Time_GetFileTime() peut ne pas retourner les m�mes informations d'horodatage du fichier pr�alablement d�finies � l'aide de _Date_Time_SetFileTime().
Les d�lais du syst�me de fichiers NTFS mettent � jour le dernier temps d'acc�s pour un fichier par l'ajout d'une heure apr�s le dernier acc�s.

En relation

$tagFILETIME, _Date_Time_GetFileTime

Exemple

#include <Date.au3>
#include <GUIConstantsEx.au3>
#include <WinAPIError.au3>
#include <WinAPIFiles.au3>
#include <WinAPIHObj.au3>
#include <WindowsConstants.au3>

Global $g_idMemo

Example()

Func Example()
    Local $hFile, $tFile, $aTime
    Local $sTempFile = @TempDir & "\Test.xyz"

    ; Cr�e la GUI
    GUICreate("Temps", 400, 300)
    $g_idMemo = GUICtrlCreateEdit("", 2, 2, 396, 296, $WS_VSCROLL)
    GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
    GUISetState(@SW_SHOW)

    ; Cr�er un fichier de test et d�finit les dates du fichier
    $hFile = _WinAPI_CreateFile($sTempFile, 1)
    If $hFile = 0 Then _WinAPI_ShowError("Impossible de cr�er le fichier")
    $tFile = _Date_Time_EncodeFileTime(@MON, @MDAY, @YEAR, @HOUR, @MIN, @SEC)
    _Date_Time_SetFileTime($hFile, $tFile, $tFile, $tFile)
    _WinAPI_CloseHandle($hFile)

    ; Lit les dates du fichier
    $hFile = _WinAPI_CreateFile($sTempFile, 2)
    If $hFile = 0 Then _WinAPI_ShowError("Impossible d'ouvrir le fichier")
    $aTime = _Date_Time_GetFileTime($hFile)
    _WinAPI_CloseHandle($hFile)

    MemoWrite("Cr�ation ......: " & _Date_Time_FileTimeToStr($aTime[0]))
    MemoWrite("Acc�s .........: " & _Date_Time_FileTimeToStr($aTime[1]))
    MemoWrite("Modification ..: " & _Date_Time_FileTimeToStr($aTime[2]))

    ; Boucle jusqu'� ce que l'utilisateur quitte.
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    FileDelete($sTempFile)
EndFunc   ;==>Example

; �crit une ligne dans le contr�le m�mo
Func MemoWrite($sMessage)
    GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite