Funktionreferenz


IniReadSection

Beschreibung anzeigen in

Liest alle Schlüssel-/Wert-Paare aus einer Sektion einer standardkonformen .ini-Datei.

IniReadSection ( "filename", "section" )

Parameter

filename Der Dateiname der .ini-Datei.
section Der Name der Sektion in der .ini-Datei.

Rückgabewert

Erfolg: ein 2D Array, in dem element[n][0] der Schlüssel und element[n][1] der Wert ist.
Fehler: Setzt das @error Flag auf ungleich null, wenn die Sektion nicht gelesen werden kann (Die .ini-Datei oder die Sektion könnte nicht existieren oder ist leer)

Bemerkungen

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


Die Anzahl der zurückgegebenen Elemente steht in $aArray[0][0]. Wenn ein @error auftaucht, wird kein Array erstellt.
    $aArray[0][0] = Anzahl
    $aArray[1][0] = 1. Schlüssel
    $aArray[1][1] = 1. Wert
    $aArray[2][0] = 2. Schlüssel
    $aArray[2][1] = 2. Wert
    ...
    $aArray[n][0] = n. Schlüssel
    $aArray[n][1] = n. Wert

Nur die ersten 32767 Zeichen werden aufgrund der Kompatibilität in einer Sektion gelesen.

Verwandte Funktionen

IniDelete, IniRead, IniReadSectionNames, IniRenameSection, IniWrite, IniWriteSection

Beispiel

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

Example()

Func Example()
    ; Erstellt eine Konstante im lokalen Bereich des Dateipfades, welcher zum lesen bzw. schreiben verwendet wird.
    Local Const $sFilePath = _WinAPI_GetTempFileName(@TempDir)

    ; Erstellt eine Sektion in der ini mit der Struktur eines Strings.
    Local $sSection = "Title=AutoIt" & @LF & "Version=" & @AutoItVersion & @LF & "OS=" & @OSVersion

    ; Schreibt den String in die Sektion 'General'.
    IniWriteSection($sFilePath, "General", $sSection)

    ; Liest die Sektion 'General'. Es wird ein 2D Array zurückgegeben.
    Local $aArray = IniReadSection($sFilePath, "General")

    ; Prüft, ob ein Fehler aufgetreten ist.
    If Not @error Then
        ; Durchläuft das Array und stellt die einzelnen Schlüssel und deren Werte dar.
        For $i = 1 To $aArray[0][0]
            MsgBox($MB_SYSTEMMODAL, "", "Schlüssel: " & $aArray[$i][0] & @CRLF & "Wert: " & $aArray[$i][1])
        Next
    EndIf

    ; Löscht die ini-Datei.
    FileDelete($sFilePath)
EndFunc   ;==>Example