Wo ist der Fehler?

  • Ich mache mir gerade meinen Taschenrechner, aber irgendwie hakt es. Wenn ich die Checkboxen deaktiviere, dann auf Save druecke, werden diese aber nicht deaktiviert und die ini-eintraege sind falsch. Statt 0, schreibt er entweder garnix oder 1.

    Pls help.

    Spoiler anzeigen
    [autoit]


    $gui2=GUICreate("Optionen",150,200)
    GUICtrlCreateTab(0,0,149,175)
    GUICtrlCreateTabItem("Rechenoperationen")
    $che1=GUICtrlCreateCheckbox("Addition",0,25,145,25)
    $che2=GUICtrlCreateCheckbox("Subtraktion",0,50,145,25)
    $che3=GUICtrlCreateCheckbox("Dvision",0,75,145,25)
    $che4=GUICtrlCreateCheckbox("Multiplikation",0,100,145,25)
    $che5=GUICtrlCreateCheckbox("Wurzel",0,125,145,25)
    $che6=GUICtrlCreateCheckbox("Potenz",0,150,145,20)
    if $cplus = 1 then GUICtrlSetState($che1, $GUI_CHECKED)
    if $cminus = 1 then GUICtrlSetState($che2, $GUI_CHECKED)
    if $cdurch = 1 then GUICtrlSetState($che3, $GUI_CHECKED)
    if $cmal = 1 then GUICtrlSetState($che4, $GUI_CHECKED)
    if $cwurzel = 1 then GUICtrlSetState($che5, $GUI_CHECKED)
    if $cpotenz = 1 then GUICtrlSetState($che6, $GUI_CHECKED)
    $ch1 = GUICtrlRead($che1)
    $ch2 = GUICtrlRead($che2)
    $ch3 = GUICtrlRead($che3)
    $ch4 = GUICtrlRead($che4)
    $ch5 = GUICtrlRead($che5)
    $ch6 = GUICtrlRead($che6)
    GUICtrlCreateTabitem("")
    $savesett = GUICtrlCreateButton("Einstellungen speichern",0,170,150,30)
    guisetstate()
    while 1
    $msg2 = GUIGetMsg()
    Select
    case $msg2 = $savesett
    if $ch1 Then
    IniWrite(@scriptdir & "\settings.ini","settings","plus","1")
    else
    IniWrite(@scriptdir & "\settings.ini","settings","plus","0")
    endif
    if $ch2 Then
    IniWrite(@scriptdir & "\settings.ini","settings","minus","1")
    else
    IniWrite(@scriptdir & "\settings.ini","settings","minus","0")
    endif
    if $ch3 Then
    IniWrite(@scriptdir & "\settings.ini","settings","durch","1")
    else
    IniWrite(@scriptdir & "\settings.ini","settings","durch","0")
    endif
    if $ch4 Then
    IniWrite(@scriptdir & "/settings.ini","settings","mal","1")
    else
    IniWrite(@scriptdir & "/settings.ini","settings","mal","0")
    endif
    if $ch5 Then
    IniWrite(@scriptdir & "\settings.ini","settings","potenz","1")
    else
    IniWrite(@scriptdir & "\settings.ini","settings","potenz","0")
    endif
    if $ch6 Then
    IniWrite(@scriptdir & "\settings.ini","settings","wurzel","1")
    else
    IniWrite(@scriptdir & "\settings.ini","settings","plus","0")
    endif
    GUIDelete($gui2)
    exitloop
    EndSelect
    WEnd

    [/autoit]

    Einmal editiert, zuletzt von der Scripter (7. April 2009 um 10:27)

  • Du must bei IniWrite das GuiCtrlRead machen:
    IniWrite(@scriptdir & "\settings.ini","settings","plus",GUICtrlRead($che1))

    Und beim Erstellen der Checkbox:
    If IniRead(@scriptdir & "\settings.ini","settings","plus","1")=1 Then GUICtrlSetState($che1, $GUI_CHECKED)

    lge