UDF > File >


_FileWriteToLine

Écrit du texte sur une ligne donnée d'un fichier

#include <File.au3>
_FileWriteToLine ( $sFilePath, $iLine, $sText [, $bOverWrite = False [, $bFill = False]] )

Paramètres

$sFilePath Le fichier dans lequel écrire
$iLine Le numéro de la ligne dans laquelle écrire le texte
$sText Le texte à écrire
$bOverwrite [optionnel]
    True - Le texte remplacera l'ancien
    False - (par défaut) Le texte sera inséré à la ligne donnée et toutes les lignes suivantes seront décalées vers le bas
$bFill [optionnel]
    True - ajoutera des lignes vides au fichier si nécessaire afin que le numéro de ligne existe.
    False - (par défaut) n'ajoutera pas de lignes. Voir Remarque ci-dessous

Valeur de retour

Succès: Retourne 1.
Échec: Retourne 0 et définit @error <> 0.
@error: 1 - Le fichier a moins de lignes que $iLine
2 - Le fichier n'existe pas
3 - Erreur lors de l'ouverture du fichier
4 - $iLine est invalide
5 - $fOverwrite est invalide
6 - $sText est invalide
7 - $bFill est invalide

Remarque

Si _FileWriteToLine() est appelée avec $bOverwrite = True et $sText = "", la fonction supprimera la ligne.

Par défaut, la fonction retournera une erreur si la ligne n'existe pas dans le fichier, mais si le paramètre $bFill est défini à True, cela forcera l'ajout de lignes vides pour remplir le fichier à une taille permettant l'écriture de la ligne.

Exemple

#include <File.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>

Example()

Func Example()
    ; Crée une constante de portée Local avec le chemin du fichier qui sera lu/écrit.
    Local Const $sFilePath = _WinAPI_GetTempFileName(@TempDir)

    ; Crée des données à écrire dans le fichier.
    Local $sData = "Ligne 1: Ceci est un exemple d'utilisation de _FileWriteToLine()" & @CRLF & _
            "Ligne 2: Ceci est un exemple d'utilisation de _FileWriteToLine()" & @CRLF & _
            "Ligne 3: Ceci est un exemple d'utilisation de _FileWriteToLine()" & @CRLF & _
            "Ligne 4: Ceci est un exemple d'utilisation de _FileWriteToLine()" & @CRLF & _
            "Ligne 5: Ceci est un exemple d'utilisation de _FileWriteToLine()" & @CRLF

    ; Crée un fichier temporaire pour lire dedans.
    If Not FileWrite($sFilePath, $sData) Then
        MsgBox($MB_SYSTEMMODAL, "", "Erreur lors de l'écriture dans le fichier temporaire.")
        Return False
    EndIf

    ; Ecrit en ligne 3 avec remplacement défini à true.
    _FileWriteToLine($sFilePath, 3, "Ligne 3: CECI A éTé REMPLACé", True)

    ; Lit le contenu du fichier en utilisant filepath.
    Local $sFileRead = FileRead($sFilePath)

    ; Affiche le contenu du fichier
    MsgBox($MB_SYSTEMMODAL, "", "Contenu du fichier:" & @CRLF & $sFileRead)

    ; Ecrit en ligne 3 avec remplacement défini à false.
    _FileWriteToLine($sFilePath, 3, "Ligne 3: CECI A éTé INSéRé", False)

    ; Lit le contenu du fichier en utilisant filepath.
    $sFileRead = FileRead($sFilePath)

    ; Affiche le contenu du fichier.
    MsgBox($MB_SYSTEMMODAL, "", "Contenu du fichier:" & @CRLF & $sFileRead)

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