Checkbox

  • Brauche mal eure hilfe und zwar wie mach ich daß, das die checkbox aus der ini ausgelesen wird ob sie CHECKED ist oder UNCHECKED ist.
    Sie soll bei 0 UNCHECKED sein und bei 1 CHECKED die Ini ist im Spoiler

    Autoitcode

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    $2 = IniRead(@ScriptDir & "\data\settings.ini", "Lizenzkey", "checkbox2", "Default")
    $2_1 = ""
    ;$2_1 = IniRead(@ScriptDir & "\data\settings.ini", "Lizenzkey", "checkbox2", "Default")
    $Checkbox2 = GUICtrlCreateCheckbox("Deaktiviert", 104, 48, 97, 17)
    If "0" >= $2 And "" <= $2_1 Then
    GUICtrlSetState ($Checkbox2 ,$GUI_UNCHECKED)
    ElseIf "1" >= $2 And "" <= $2_1 Then
    GUICtrlSetState ($Checkbox2 ,$GUI_CHECKED)
    EndIf

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

    #Region ### START Koda GUI section ### Form=C:\Users\Sirocool\Pictures\WebPlayer\Vorlagen\Lizenzschlüssel.kxf
    $Form1 = GUICreate("Lizenzschlüssel", 395, 78, 596, 505)
    GUISetFont(8, 800, 0, "MS Sans Serif")
    GUISetBkColor(0xFFFFFF)
    $Label1 = GUICtrlCreateLabel("Ihr Lizenzschlüssel.:", 8, 16, 119, 21)
    $Input1 = GUICtrlCreateInput("", 128, 16, 257, 21)
    $Checkbox1 = GUICtrlCreateCheckbox("Aktiviert", 8, 48, 97, 17)
    GUICtrlSetState($Checkbox1, $GUI_Disable)
    $Checkbox2 = GUICtrlCreateCheckbox("Deaktiviert", 104, 48, 97, 17)

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

    ;GUICtrlSetData($Checkbox2,$2)
    ;GUICtrlSetState($Checkbox2,$2)
    GUICtrlSetState($Checkbox2, $GUI_Disable)
    $Okay = GUICtrlCreateButton("Okay", 208, 48, 179, 21)
    GUICtrlSetState($Okay, $GUI_Disable)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]

    Inicode

    Spoiler anzeigen


    [Lizenzkey]
    Checkbox1=0
    Checkbox2=0

    Einmal editiert, zuletzt von Sirocool (28. Januar 2010 um 06:23)

  • Versuch mal das hier:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    Global $Checkbox[2]

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

    $Gui = GUICreate("Gui", 200, 200)
    $Holen = GUICtrlCreateButton("Holen", 10, 10, 60, 25)
    $Checkbox[0] = GUICtrlCreateCheckbox("Checkbox1", 10, 50)
    $Checkbox[1] = GUICtrlCreateCheckbox("Checkbox2", 10, 70)
    GUISetState()

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Holen
    $Ini = IniReadSection(@DesktopDir & "\Test.ini", "Checkboxen")
    For $i = 1 To $Ini[0][0]
    If $Ini[$i][1] = 1 Then GUICtrlSetState($Checkbox[$i - 1], $GUI_CHECKED)
    If $Ini[$i][1] = 0 Then GUICtrlSetState($Checkbox[$i - 1], $GUI_UNCHECKED)
    Next
    EndSwitch
    WEnd

    [/autoit]

    musst du halt nur noch bei dir einbauen.

  • Hallo sirocool,

    so:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    $2 = IniRead(@ScriptDir & "\data\settings.ini", "Lizenzkey", "checkbox2", "Default")
    $2_1 = ""
    ;$2_1 = IniRead(@ScriptDir & "\data\settings.ini", "Lizenzkey", "checkbox2", "Default")
    $Checkbox2 = GUICtrlCreateCheckbox("Deaktiviert", 104, 48, 97, 17)
    If "0" >= $2 And "" <= $2_1 Then
    GUICtrlSetState ($Checkbox2 ,$GUI_UNCHECKED)
    ElseIf "1" >= $2 And "" <= $2_1 Then
    GUICtrlSetState ($Checkbox2 ,$GUI_CHECKED)
    EndIf

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

    #Region ### START Koda GUI section ### Form=C:\Users\Sirocool\Pictures\WebPlayer\Vorlagen\Lizenzschlüssel.kxf
    $Form1 = GUICreate("Lizenzschlüssel", 395, 78, 596, 505)
    GUISetFont(8, 800, 0, "MS Sans Serif")
    GUISetBkColor(0xFFFFFF)
    $Label1 = GUICtrlCreateLabel("Ihr Lizenzschlüssel.:", 8, 16, 119, 21)
    $Input1 = GUICtrlCreateInput("", 128, 16, 257, 21)
    $Checkbox1 = GUICtrlCreateCheckbox("Aktiviert", 8, 48, 97, 17)
    ;GUICtrlSetState($Checkbox1, $GUI_Disable)
    $Checkbox2 = GUICtrlCreateCheckbox("Deaktiviert", 104, 48, 97, 17)
    $aIniVars = IniReadSection("Liz.INI", "Lizenzkey")

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

    GUICtrlSetState($Checkbox1,mod($aIniVars[1][1]+7,4)+1) ;1 1 bleibt 1 also $GUI_CHECKED 0 wird 4 $GUI_UNCHECKED
    GUICtrlSetState($Checkbox2,mod($aIniVars[2][1]+7,4)+1) ;1 1 bleibt 1 also $GUI_CHECKED 0 wird 4 $GUI_UNCHECKED

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

    ;GUICtrlSetState($Checkbox2,$2)
    GUICtrlSetState($Checkbox2, $GUI_Disable)
    $Okay = GUICtrlCreateButton("Okay", 208, 48, 179, 21)
    GUICtrlSetState($Okay, $GUI_Disable)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]

    du musst evtl. noch den Namen der Ini anpassen,

    Edit: m-obi's Lösung ist sofort mit noch mehr Checkboxen lauffähig
    Edit2: Skript ausgebessert (GUICtrlSetState)

    Post: 1177
    mfg (Auto)Bert

    Einmal editiert, zuletzt von AutoBert (28. Januar 2010 um 15:07)

  • Hallo (Auto)Bert

    $GUI_CHECKED ist 1, dass ist richtig,aber $GUI_UNCHECKED ist 4. Checken geht, aber Unchecken nicht.

  • habe es so gelöst mit m_Obi script

    Autoiitscriptcode

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    Global $Checkbox[2]
    #Region ### START Koda GUI section ### Form=C:\Users\Sirocool\Pictures\WebPlayer\Vorlagen\Lizenzschlüssel.kxf
    $Form1 = GUICreate("Lizenzschlüssel", 395, 78, 596, 505)
    GUISetFont(8, 800, 0, "MS Sans Serif")
    GUISetBkColor(0xFFFFFF)
    $Label1 = GUICtrlCreateLabel("Ihr Lizenzschlüssel.:", 8, 16, 119, 21)
    $Input1 = GUICtrlCreateInput("", 128, 16, 257, 21)
    $Checkbox[0] = GUICtrlCreateCheckbox("Aktiviert", 8, 48, 97, 17)
    $Ini = IniReadSection(@ScriptDir & "\data\settings.ini", "Lizenzkey")
    For $i = 1 To $Ini[0][0]
    If $Ini[$i][1] = 1 Then GUICtrlSetState($Checkbox[$i - 1], $GUI_CHECKED)
    If $Ini[$i][1] = 0 Then GUICtrlSetState($Checkbox[$i - 1], $GUI_UNCHECKED)
    Next
    GUICtrlSetState($Checkbox[0], $GUI_Disable)
    $Checkbox[1] = GUICtrlCreateCheckbox("Deaktiviert", 106, 48, 97, 17)
    For $i = 1 To $Ini[0][0]
    If $Ini[$i][1] = 1 Then GUICtrlSetState($Checkbox[$i - 1], $GUI_CHECKED)
    If $Ini[$i][1] = 0 Then GUICtrlSetState($Checkbox[$i - 1], $GUI_UNCHECKED)
    Next
    GUICtrlSetState($Checkbox[1], $GUI_Disable)
    $Okay = GUICtrlCreateButton("Okay", 208, 48, 179, 21)
    GUICtrlSetState($Okay, $GUI_Disable)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]

    Inicode

    Spoiler anzeigen
    [autoit]


    [Lizenzkey]
    Checkbox1=1
    Checkbox2=0

    [/autoit]

    jetzt brauch ich nur das mit IniWrite ändern lassen sobald der key rein kommt :thumbup:

  • Das reicht wenn du die For-Schleife nur einmal ausführst und nicht doppelt. ;)

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    Global $Checkbox[2]

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

    #Region ### START Koda GUI section ### Form=C:\Users\Sirocool\Pictures\WebPlayer\Vorlagen\Lizenzschlüssel.kxf
    $Form1 = GUICreate("Lizenzschlüssel", 395, 78, 596, 505)
    GUISetFont(8, 800, 0, "MS Sans Serif")
    GUISetBkColor(0xFFFFFF)
    $Label1 = GUICtrlCreateLabel("Ihr Lizenzschlüssel.:", 8, 16, 119, 21)
    $Input1 = GUICtrlCreateInput("", 128, 16, 257, 21)
    $Checkbox[0] = GUICtrlCreateCheckbox("Aktiviert", 8, 48, 97, 17)
    GUICtrlSetState(-1, $GUI_Disable)
    $Checkbox[1] = GUICtrlCreateCheckbox("Deaktiviert", 106, 48, 97, 17)
    GUICtrlSetState(-1, $GUI_Disable)
    $Ini = IniReadSection(@ScriptDir & "\data\settings.ini", "Lizenzkey")
    For $i = 1 To $Ini[0][0]
    If $Ini[$i][1] = 1 Then GUICtrlSetState($Checkbox[$i - 1], $GUI_CHECKED)
    If $Ini[$i][1] = 0 Then GUICtrlSetState($Checkbox[$i - 1], $GUI_UNCHECKED)
    Next
    $Okay = GUICtrlCreateButton("Okay", 208, 48, 179, 21)
    GUICtrlSetState($Okay, $GUI_Disable)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]