Functions > FileDirDisk >


FileReadLine

Lit une ligne de texte dans un fichier texte pr�c�demment ouvert.

FileReadLine ( "filehandle/filename" [, line = 1] )

Param�tres

filehandle/filename Le handle du fichier, retourn� par un pr�c�dent appel � FileOpen(). Alternativement vous pouvez utiliser le nom du fichier comme premier param�tre.
line [optional] Le num�ro de la ligne � lire. La premi�re ligne du fichier texte est la ligne 1 (pas z�ro), la derni�re ligne est -1.

Valeur de retour

Succ�s: Retourne une ligne de texte
�chec: D�finit @error <> 0.
@error: 1 = si le fichier n'est pas ouvert en mode lecture ou d'autres erreurs.
-1 = si la fin du fichier est atteinte

Remarques

Retourne le texte de la ligne lue, tous les caract�res de saut de ligne (Chr(10) ou @LF) � la fin d'une ligne lue sont automatiquement supprim�s.
Si aucun num�ro de ligne � lire est donn�, la ligne "suivante" sera lue. (La "suivante" pour un fichier nouvellement ouvert est la premi�re ligne.)
Si un nom de fichier est donn� plut�t qu'un handle de fichier - le fichier sera ouvert et ferm� pendant l'appel de fonction - pour traiter des fichiers texte volumineux ce sera beaucoup plus lent que d'utiliser des handles de fichiers.
Note: Ne pas utiliser en m�me temps les handles de fichiers et les noms de fichiers, par exemple, n'ouvrez pas un fichier avec FileOpen(), pour ensuite utiliser un nom de fichier dans FileReadLine. Utilisez des handles de fichiers ou des noms de fichiers dans vos fonctions, mais pas les deux!

Du point de vue performance ce serait une mauvaise id�e de lire ligne par ligne en sp�cifiant le param�tre "line" dont la valeur serait incr�ment�e de un. Ceci forcerait AutoIt � relire le fichier depuis le d�but jusqu'� atteindre la ligne sp�cifi�e.

Les deux formats de texte ANSI et UTF16/UTF8 peuvent �tre lus - consultez FileOpen() pour plus de d�tails.

En relation

FileGetPos, FileOpen, FileRead, FileSetPos, FileWrite, FileWriteLine, IniRead

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)

    ; Cr�e un fichier temporaire pour y lire les donn�es.
    If Not FileWrite($sFilePath, "Example d'utilisation de FileReadLine.") Then
        MsgBox($MB_SYSTEMMODAL, "", "Une erreur est survenue lors de l'�criture dans le fichier temporaire.")
        Return False
    EndIf

    ; Ouvre le fichier pour la lecture et stocke le handle dans une variable.
    Local $hFileOpen = FileOpen($sFilePath, $FO_READ)
    If $hFileOpen = -1 Then
        MsgBox($MB_SYSTEMMODAL, "", "Une erreur est survenue lors de la lecture du fichier.")
        Return False
    EndIf

    ; Lit la 1�re ligne du fichier en utilisant le handle renvoy� par FileOpen.
    Local $sFileRead = FileReadLine($hFileOpen, 1)

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

    ; Affiche la premi�re ligne du fichier.
    MsgBox($MB_SYSTEMMODAL, "", "Premi�re ligne du fichier:" & @CRLF & $sFileRead)

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