Funktionsreferenz

IniWriteSection

Schreibt eine Sektion in eine standardkonforme .ini-Datei.

IniWriteSection ( "filename", "section", "data" [, index ] )

 

Parameter

filename Der Dateiname der .ini-Datei.
section Der Sektionsname in der .ini-Datei.
data Die zu schreibenden Daten. Die Daten können entweder ein String oder ein Array sein. Wenn die Daten ein String sind, dann muss jedes Schlüssel=Wert Paar durch @LF begrenzt werden. Wenn die Daten ein Array sind, dann muss das Array ein zweidimentionales Array sein und die zweite Dimension muss 2 Elemente beinhalten.
index [optional] Wenn ein Array als Dateninput verwendet wird, dann bestimmt dies den Startindex, ab dem geschrieben werden soll. Der Standard ist 1, so dass der Rückgabewert von IniReadSection() sofort genutzt werden kann. Für manuell erstellte Arrays, kann dieser Wert abweichen abhängig je nach dem wie das Array erstellt wurde. Dieser Parameter wird ignoriert, wenn ein String als Dateneingabe verwendet wird.

 

Rückgabewert

Erfolg: Gibt 1 zurück.
Fehler: Gibt 0 zurück. Diese Funktion setzt @error auf 1 wenn das Datenformat ungültig.

 

Bemerkungen

Eine standardkonforme .ini-Datei sieht folgendermaßen aus:
[SektionsName]
Schlüssel=Wert


Wenn die Datei nicht existiert, wird sie erstellt.
Verzeichnisse die nicht existieren werden nicht erstellt. Schlüssel und/oder Sektionen werden an das Ende angehängt und in keinster Weise sortiert.
Wenn die Sektion bereits existiert, wird deren Inhalt überschrieben.

 

Verwandte Funktionen

IniDelete, IniRead, IniReadSection, IniReadSectionNames, IniWrite, IniRenameSection

 

Beispiel


; Das ist die INI Datei in die wir schreiben wollen. Sie wird auf dem Desktop erstellt.
$sIni = @DesktopDir & "\AutoIt-Test.ini"

; Demonstration vom erstellen einer neuen Sektion mit einem String.
$sData = "Key1=Value1" & @LF & "Key2=Value2" & @LF & "Key3=Value3"
IniWriteSection($sIni, "Sektion1", $sData)

; Demonstration vom erstellen einer neuen Sektion mit einem Array.
$aData1 = IniReadSection($sIni, "Sektion1") ; Lesen was wir oben geschrieben haben.
For $i = 1 To UBound($aData1) - 1
    $aData1[$i][1] &= "-" & $i  ; Ändere die Daten
Next

IniWriteSection($sIni, "Sektion2", $aData1) ; Schreibt in eine neue Sektion

; Demonstration vom manuellen erstellen eines Arrays welches dann als Quelle für die INI verwendet wird.
Dim $aData2[3][2] = [ [ "ErsterSchlüssel", "ErsterWert" ], [ "ZweiterSchlüssel", "ZweiterWert" ], [ "DritterSchlüssel", "DritterWert" ] ]
; Das Array welches wir erstellt haben startet bei Element 0. Wir müssen IniWriteSection() verwenden um bei Element 0 das Schreiben zu starten.
IniWriteSection($sIni, "Section3", $aData2, 0)