Inihilfe

  • So, ich habe folgenden Iniwrite befehl :

    [autoit]


    iniwrite ($ini,"Test","Testkey",$Input1)

    [/autoit]


    Ich will das wenn in der ini schon Testkey vorhanden ist eine 1 Hinzugefügt wird, also
    das bei erneuetem druck des buttons statt Testkey überschrieben, ein neuer Key , Testkey1,2,3,4,...
    angelegt wird.

    Hoffe jemand kann mir helfen ;)

    MFG

    • Offizieller Beitrag

    Da hatte ich vor ewigen Zeiten mal was für geschrieben:

    [autoit]

    ;===============================================================================
    ; Funktion: _DelKey_RebuildINI($del, $ini, $sec, $key)
    ;
    ; Beschreibung: Bei INI-Struktur mit fortlaufendem Schlüsselnamen
    ; (schlüssel1; schlüssel2; schlüssel3; ...)
    ; wird das gewünschtes Paar Schlüssel-Wert gelöscht
    ; und dann die Sektion wieder mit fortlaufender Nummerierung
    ; der Schlüssel neu aufgebaut.
    ; Ermöglicht dem Nutzer, in dieser Sektion ständig neue Werte
    ; hinzuzufügen oder zu entfernen.
    ;
    ; Parameter(s): $del: zu löschender Wert
    ; $ini: INI-Datei(kpl. Pfad)
    ; $sec: INI-Section
    ; $key: INI-Schlüssel
    ;===============================================================================
    Func _DelKey_RebuildINI($del, $ini, $sec, $key)
    Local $var, $i
    ; löschen
    $var = IniReadSection($ini, $sec)
    For $i = 1 To $var[0][0]
    If $var[$i][1] = $del Then
    IniDelete($ini, $sec, $key & $i)
    ExitLoop
    EndIf
    Next
    ; neu aufbauen
    $var = IniReadSection($ini, $sec)
    IniDelete($ini, $sec)
    For $i = 1 To $var[0][0]
    IniWrite($ini, $sec, $key & $i, $var[$i][1])
    Next
    EndFunc ;==>_DelKey_RebuildINI

    [/autoit][autoit][/autoit][autoit]

    Func _AddKey_INI_Val($add, $ini, $sec, $key)
    Local $var, $maxNr
    $var = IniReadSection($ini, $sec)
    $maxNr = $var[0][0]
    IniWrite($ini, $sec, $key & $maxNr+1, $add)
    EndFunc

    [/autoit]