Functions > FileDirDisk >


FileSetEnd

D�finit la position courante du pointeur � la fin du fichier.

FileSetEnd ( "filehandle" )

Param�tre

filehandle Le handle du fichier, r�toun� par un appel pr�c�dent � FileOpen().

Valeur de retour

Succ�s: Retourne True si l'op�ration a r�ussi.
�chec: Retourne False.

En relation

FileFlush, FileGetPos, FileOpen, FileRead, FileReadLine, FileSetPos, FileWrite, FileWriteLine

Exemples

Exemple 1

#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

Exemple 2

#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