Définit la position courante du pointeur à la fin du fichier.
FileSetEnd ( "filehandle" )
filehandle | Le handle du fichier, rétouné par un appel précédent à FileOpen(). |
Succès: | Retourne True si l'opération a réussi. |
Échec: | Retourne False. |
FileFlush, FileGetPos, FileOpen, FileRead, FileReadLine, FileSetPos, FileWrite, FileWriteLine
#include <FileConstants.au3> #include <MsgBoxConstants.au3> #include <WinAPIFiles.au3> Example() Func Example() ; Crée une constante locale avec le chemin du fichier qui sera lu/écrit. Local Const $sFilePath = _WinAPI_GetTempFileName(@TempDir) ; Ouvre le fichier en écriture (écrase un fichier existant) et mémorise le handle dans une variable. Local $hFileOpen = FileOpen($sFilePath, $FO_OVERWRITE) If $hFileOpen = -1 Then MsgBox($MB_SYSTEMMODAL, "", "Une erreur est survenue lors de l'écriture dans le fichier temporaire.") Return False EndIf ; Ecrit du texte dans le fichier en utilisant le handle retourné par FileOpen. FileWriteLine($hFileOpen, "Line 1") FileWriteLine($hFileOpen, "Line 2") FileWriteLine($hFileOpen, "Line 3") ; Copie la mémoire tampon du fichier sur le disque. FileFlush($hFileOpen) ; Maintenant, ajuste la position au début. FileSetPos($hFileOpen, 0, $FILE_BEGIN) ; Analyse la position dans le fichier et essaye de lire le contenu à partir de la position courante. MsgBox($MB_SYSTEMMODAL, "", "Position: " & FileGetPos($hFileOpen) & @CRLF & "Data: " & @CRLF & FileRead($hFileOpen)) ; Ecrit du texte dans le fichier en utilisant le handle retourné par FileOpen. FileWriteLine($hFileOpen, "Line 4") FileWriteLine($hFileOpen, "Line 5") FileWriteLine($hFileOpen, "Line 6") ; Maintenant, ajuste la position au début. FileSetPos($hFileOpen, 0, $FILE_BEGIN) ; Analyse la position dans le fichier et essaye de lire le contenu à partir de la position courante. MsgBox($MB_SYSTEMMODAL, "", "Position: " & FileGetPos($hFileOpen) & @CRLF & "Data: " & @CRLF & FileRead($hFileOpen)) ; Maintenant, ajuste la position au début. FileSetPos($hFileOpen, 0, $FILE_BEGIN) ; Définit la fin du fichier à la position courante. FileSetEnd($hFileOpen) ; Analyse la position dans le fichier et essaye de lire le contenu à partir de la position courante. Le contenu a été détruit. MsgBox($MB_SYSTEMMODAL, "", "Position: " & FileGetPos($hFileOpen) & @CRLF & "Data: " & @CRLF & FileRead($hFileOpen)) ; Ferme le handle retourné par FileOpen. FileClose($hFileOpen) ; Supprime le fichier temporaire. FileDelete($sFilePath) EndFunc ;==>Example
#include <FileConstants.au3> #include <MsgBoxConstants.au3> #include <WinAPIFiles.au3> Example() Func Example() ; Crée une constante locale avec le chemin du fichier qui sera lu/écrit. Local Const $sFilePath = _WinAPI_GetTempFileName(@TempDir) ; Ouvre le fichier en écriture (écrase un fichier existant) et mémorise le handle dans une variable. Local $hFileOpen = FileOpen($sFilePath, $FO_OVERWRITE) If $hFileOpen = -1 Then MsgBox($MB_SYSTEMMODAL, "", "Une erreur est survenue lors de l'écriture dans le fichier temporaire.") Return False EndIf ; Ecrit du texte dans le fichier en utilisant le handle retourné par FileOpen et définit la fin du fichier. FileWrite($hFileOpen, "ABCDEF") FileSetEnd($hFileOpen) ; Affiche la taille du fichier et son contenu. MsgBox($MB_SYSTEMMODAL, "", "Taille: " & FileGetSize($sFilePath) & @CRLF & "Données: " & @CRLF & FileRead($sFilePath)) ; Augmente la taille du fichier de 9 octets mais n'écrit pas de texte supplémentaire. FileSetPos($hFileOpen, 9, $FILE_BEGIN) FileSetEnd($hFileOpen) ; Affiche la taille du fichier et son contenu. MsgBox($MB_SYSTEMMODAL, "", "Taille: " & FileGetSize($sFilePath) & @CRLF & "Données: " & @CRLF & FileRead($sFilePath)) ; Déplace la position après ABCDEF i.e. 6 octets puis écrit du texte supplémentaire qui augmentera la taille du fichier de 12 octets. FileSetPos($hFileOpen, 6, $FILE_BEGIN) FileWrite($hFileOpen, "HIJKLM") FileSetEnd($hFileOpen) ; Définit la fin du fichier. ; Affiche la taille du fichier et son contenu. MsgBox($MB_SYSTEMMODAL, "", "Taille: " & FileGetSize($sFilePath) & @CRLF & "Données: " & @CRLF & FileRead($sFilePath)) ; Diminue la taille du fichier de 9 octets. FileSetPos($hFileOpen, 9, $FILE_BEGIN) FileSetEnd($hFileOpen) ; Définit la fin du fichier. ; Affiche la taille du fichier et son contenu. MsgBox($MB_SYSTEMMODAL, "", "Taille: " & FileGetSize($sFilePath) & @CRLF & "Données: " & @CRLF & FileRead($sFilePath)) ; Ferme le handle retourné par FileOpen. FileClose($hFileOpen) ; Supprime le fichier temporaire. FileDelete($sFilePath) EndFunc ;==>Example