Funktionreferenz


IniRenameSection

Beschreibung anzeigen in

Benennt eine Sektion in einer standardkonformen .ini-Datei um.

IniRenameSection ( "filename", "section", "new section" [, flag = 0] )

Parameter

filename Der Dateiname der .ini-Datei.
section Der Sektionsname der .ini-Datei.
new section Der neue Name der Sektion.
flag [optional]
    $FC_NOOVERWRITE(0) = (Standard) - Falls die "neue Sektion" bereits besteht, wird nichts umbenannt.
    $FC_OVERWRITE(1) = 1 - Überschreibt die "neue Sektion". Dies wird jeden existierenden Schlüssel in der "neuen Sektion" löschen

Die Konstanten sind in FileConstants.au3 definiert.

Rückgabewert

Erfolg: ungleich 0.
Fehler: 0 und es kann @error auf einen Wert ungleich 0 gesetzt werden, wenn die Umbenennung fehlschlug, da die Sektion bereits existiert (nur wenn flag = 0).

Bemerkungen

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

Verwandte Funktionen

IniDelete, IniRead, IniReadSection, IniReadSectionNames, 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 Sektions 'General', 'Version' und 'andere'.
    IniWriteSection($sFilePath, "General", $sSection)
    IniWriteSection($sFilePath, "Version", $sSection)
    IniWriteSection($sFilePath, "andere", $sSection)

    ; Benennt die Sektion 'General' in 'System' um.
    IniRenameSection($sFilePath, "General", "System")

    ; Liest die Sektions der ini-Datei. Es wird ein 1D Array zurückgegeben.
    Local $aArray = IniReadSectionNames($sFilePath)

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

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