Funktionreferenz


_FileWriteToLine

Beschreibung anzeigen in

Schreibt Text in eine bestimmte Zeile einer Datei

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

Parameter

$sFilePath Die Datei die die zu schreibende Zeile beinhaltet
$iLine Die Zeilennummer in die der Text geschrieben werden soll
$sText Der zu schreibende Text
$bOverWrite [optional]
    True - Der Text überschreibt die festgelegte Zeile
    False - (Standard) Der Text wird an der festgelegten Zeile eingefügt und alle folgenden Zeilen werden nach unten verschoben
$bFill [optional]
    True - fügt der Datei bei Bedarf Leerzeilen hinzu, so dass die Zeilennummern existieren
    False - (Standard) fügt keine Zeilen hinzu. Siehe Bemerkungen unten.

Rückgabewert

Erfolg: 1
Fehler: 0 und setzt das @error Flag auf ungleich null
@Error: 1 - Die Datei hat weniger Zeilen als $iLine
2 - Die Datei existiert nicht
3 - Fehler beim öffnen der Datei
4 - $iLine ist ungültig
5 - $bOverWrite ist ungültig
6 - $sText ist ungültig
7 - $bFill ist ungültig

Bemerkungen

Eine Datei kann aufgrund von Zugriffsrechten oder Attributen nicht geöffnet werden.

Falls _FileWriteToLine() mit dem Parameter $bOverWrite = 1 und $sText = "" aufgerufen wird, wird der Inhalt der Zeile entfernt, so dass sie leer bleibt, aber die Zeile bleibt in der Datei erhalten.

Standardmäßig gibt die Funktion einen Fehler zurück, wenn die Zeile nicht in der Datei vorhanden ist. Wird der Parameter $ bFill jedoch auf True gesetzt, werden leere Zeilen hinzugefügt, um die Datei aufzufüllen, die das Schreiben der Zeile ermöglicht.

Beispiel

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

Example()

Func Example()
    ; Erstellt eine Konstanten im lokalen Bereich des Dateipfads, in welchem gelesen bzw. geschrieben wird.
    Local Const $sFilePath = _WinAPI_GetTempFileName(@TempDir)

    ; Erstellt Daten die in die Datei geschrieben werden soll.
    Local $sData = "Zeile 1: Dies ist ein Beispiel von der Verwendung von _FileWriteToLine()" & @CRLF & _
            "Zeile 2: Dies ist ein Beispiel von der Verwendung von _FileWriteToLine()" & @CRLF & _
            "Zeile 3: Dies ist ein Beispiel von der Verwendung von _FileWriteToLine()" & @CRLF & _
            "Zeile 4: Dies ist ein Beispiel von der Verwendung von _FileWriteToLine()" & @CRLF & _
            "Zeile 5: Dies ist ein Beispiel von der Verwendung von _FileWriteToLine()" & @CRLF

    ; Erstellt eine temporäre Datei von der Daten gelesen werden sollen.
    If Not FileWrite($sFilePath, $sData) Then
        MsgBox($MB_SYSTEMMODAL, "", "Es ist ein Fehler aufgetreten während die temporäre Datei geschrieben wurde.")
        Return False
    EndIf

    ; Schreibt in Zeile 3, mit aktiviertem Überschreibemodus (true).
    _FileWriteToLine($sFilePath, 3, "Zeile 3: DIES WURDE ERSETZT", True)

    ; Liest den Inhalt der Datei durch Verwendung des Dateipfads.
    Local $sFileRead = FileRead($sFilePath)

    ; Zeigt den Inhalt der Datei an.
    MsgBox($MB_SYSTEMMODAL, "", "Inhalt der Datei:" & @CRLF & $sFileRead)

    ; Schreibt in Zeile 3 mit deaktiviertem Überschreibemodus (false).
    _FileWriteToLine($sFilePath, 3, "Zeile 3: DIES WURDE EINGEFÜGT", False)

    ; Liest den Inhalt der Datei durch Verwendung des Dateipfads.
    $sFileRead = FileRead($sFilePath)

    ; Zeigt den Inhalt der Datei an.
    MsgBox($MB_SYSTEMMODAL, "", "Inhalt der Datei:" & @CRLF & $sFileRead)

    ; Löscht die temporäre Datei.
    FileDelete($sFilePath)
EndFunc   ;==>Example