IniWrite funktioniert nicht

  • Hallo,
    also erstmal finde ich AutoIt einfach genial, ich kann zwar auch C++, aber hier hat man halt sehr viele nützliche Funktionen :D

    Also, ich habe ein Programm, das soll etwas in einen .ini schreieben und wieder auslesen. IniRead funzt perfekt, aber ich versteh einfach nicht, warum sich bei IniWrite nichts rührt ?(

    Hier mal der Code:

    [autoit]


    [...]
    $go = GUICtrlCreateButton( " Senden ", 305, $i * 30 + 16 )
    GUISetOnEvent($go, "writefile")

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

    While 1
    Sleep(1000)
    WEnd

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

    Func writefile()
    IniWrite($file, "Kategorie1", "Anzahl", "7")
    EndFunc

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

    Func CLOSEClicked()
    Exit
    EndFunc

    [/autoit]

    Es ist mir ein Rätsel warum sich nichts in der .ini verändert 8|

    Einmal editiert, zuletzt von don.banane (3. Juli 2008 um 21:19)

  • Hi,
    Was soll sich denn verändern, wenn alle optionen Angegeben sind und keine Variablen sind?
    Das einzigste was sich verändern könnte (was man aber aus dem Quelltextabschintt nicht sieht) ist die Variable $file.
    Und wenn sich diese Variable Verändert werden immer wieder neue INI's geschrieben, mit verändertem Namen und der Inhalt ist immer gleich, nämlich:

    Code
    [Kategorie1]
    Anzahl=7

    Schau dir die Hilfe an --> IniWrite

  • Wie soll mir das jetzt denn helfen? Ich hab mir die Hilfe auch zig mal angeschaut...
    In der ini steht Anzahl=5 und das bleibt so, wär ja auch blöd wenn da schon von Anfang an 7 stehen würde :|

  • Ich wär einfach mal dafür, dass du dein ganzes Script postest...

    Zitat

    aber ich versteh einfach nicht, warum sich bei IniWrite nichts rührt ?(

    Es rührt sich doch, es wird eine INI erstellt, erläutere dein Problem mal etwas genauer bitte :)

  • Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    Opt("GUIOnEventMode", 1)
    $mainwindow = GUICreate("IniWriter", 400, 500)
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")

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

    Dim $var[15]

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

    $file = "refver.ini"
    $anzahl = IniRead($file, "kategorie1", "anzahl", "Undefined")

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

    For $j = 1 to $anzahl
    $var[$j] = IniRead($file, "kategorie2", "var" & $j, "Null")
    Next

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

    For $i = 1 to $anzahl
    GUICtrlCreateLabel( $i & ". Var: " & $var[$i], 50, $i * 30 + 20 )
    Next

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

    GUICtrlCreateLabel( $i & ". Var:", 50, $i * 30 + 20 )
    $neu = GUICtrlCreateInput( "", 105, $i * 30 + 18, 180 )
    $go = GUICtrlCreateButton( " Senden ", 305, $i * 30 + 16 )
    GUISetOnEvent($go, "writefile")
    GUISetState(@SW_SHOW)

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

    While 1
    Sleep(1000)
    WEnd

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

    Func writefile()
    IniWrite($file, "kategorie2", "var" & $anzahl + 1, GUICtrlRead( $neu ) )
    IniWrite( $file, "kategorie1", "anzahl", $anzahl + 1 )
    EndFunc

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

    Func CLOSEClicked()
    Exit
    EndFunc

    [/autoit]

    Es rührt sich doch, es wird eine INI erstellt, erläutere dein Problem mal etwas genauer bitte

    Ich hab eine Ini mit 5 Variablen (hab ich von Hand eingetragen) und die Anzahl der Variablen, die Variablen werden mir aufgelistet und mit dem Input wollte ich neue Variablen hinzufügen, aber er schreibt nichts neues rein und es verändert sich auch nichts.

    3 Mal editiert, zuletzt von don.banane (3. Juli 2008 um 21:09)

  • Zeile 23 musst Du ändern:

    [autoit]

    GUICtrlSetOnEvent($go, "writefile")

    [/autoit]

    Aaaah es geht, danke :D
    Argh, immer diese kleinigkeiten :rolleyes: