Functions > FileDirDisk >


FileGetPos

Obtient la position courante du pointeur d'un fichier.

FileGetPos ( "filehandle" )

Param�tre

filehandle Le handle d'un fichier pr�c�demment ouvert avec FileOpen().

Valeur de retour

Succ�s: Retourne la position courante du pointeur du fichier par rapport au d�but du fichier (le premier index est 0).
�chec: Retourne 0 et d�finit @error <> 0.

Remarque

Un �chec retourne 0, mais 0 est �galement une position valide dans le fichier, alors v�rifiez @error pour d�terminer la condition d'erreur.

En relation

FileOpen, FileRead, FileReadLine, FileSetPos, FileWrite, FileWriteLine

Exemple

#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 stocke 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.")
        Return False
    EndIf

    ; �crit des donn�es dans le fichier � l'aide du handle retourn�e par FileOpen.
    FileWriteLine($hFileOpen, "Line 1")
    FileWriteLine($hFileOpen, "Line 2")
    FileWriteLine($hFileOpen, "Line 3")

    ; Vide le buffer du fichier sur le disque.
    FileFlush($hFileOpen)

    ; V�rifie la position de fichier et essaie de lire le contenu � la position actuelle.
    MsgBox($MB_SYSTEMMODAL, "", "Position: " & FileGetPos($hFileOpen) & @CRLF & "Donn�e: " & @CRLF & FileRead($hFileOpen))

    ; Maintenant, ajuste la position sur le d�but.
    FileSetPos($hFileOpen, 0, $FILE_BEGIN)

    ; V�rifie la position dans le fichier et essaie de lire le contenu � partir de la position actuelle.
    MsgBox($MB_SYSTEMMODAL, "", "Position: " & FileGetPos($hFileOpen) & @CRLF & "Donn�e: " & @CRLF & FileRead($hFileOpen))

    ; Ferme le handle retourn� par FileOpen.
    FileClose($hFileOpen)

    ; Supprime le fichier temporaire.
    FileDelete($sFilePath)
EndFunc   ;==>Example