GUICtrlCreateCheckbox

  • Hi ich möchte eine überprüfung einbauen, ob mindestens 1 von 3 Kästchen ausgewählt ist leider funktioniert es nicht

    hier der Code:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #Include <String.au3>
    #include <Array.au3>

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

    GUICreate ("Testlabel",130,700,-1,-1,$WS_SIZEBOX + $WS_SYSMENU)
    GUICtrlCreateTab(0,0,130,700)

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

    GUICtrlCreateTabItem("test")

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

    $T2_Button30 = GUICtrlCreateButton("Ableiten",10,85,100,20)
    $T2_Button31 = GUICtrlCreateCheckbox("F1",10,105,30,20)
    $T2_Button32 = GUICtrlCreateCheckbox("F2",40,105,30,20)
    $T2_Button33 = GUICtrlCreateCheckbox("F3",70,105,30,20)

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

    While 1
    $msg=GUIGetMsg()

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

    select
    Case $msg=$GUI_EVENT_CLOSE
    ExitLoop

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

    Case $msg=$T2_Button30
    If not GUICtrlRead ($T2_Button31) = 1 And not GUICtrlRead ($T2_Button32) = 1 And not GUICtrlRead ($T2_Button33) = 1 Then
    MsgBox(0,"Fehler","Es wurde kein Kästchen ausgewählt"&@CRLF&@CRLF&"Bitte Markiere ein Kästchen")
    EndIf
    If GUICtrlRead ($T2_Button31) = 1 Then
    Send ("Checkbox 1")
    Send("{ENTER}")
    EndIf
    If GUICtrlRead ($T2_Button32) = 1 Then
    Send ("Checkbox 2")
    Send("{ENTER}")
    Sleep(1000)
    EndIf
    If GUICtrlRead ($T2_Button33) = 1 Then
    Send ("usw. 3")
    Send("{ENTER}")
    Sleep(1000)
    EndIf
    endselect

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

    Gruß ret0x

    wenn ich das "not" rausnehme funktioniert es wenn man alle Checkboxen markiert, warum also nicht wenn man das "not" dazusetzt und nichts markiert?

    Einmal editiert, zuletzt von ret0x (10. März 2009 um 16:15)

  • [autoit]


    If not (GUICtrlRead ($T2_Button31) = 1) And not (GUICtrlRead ($T2_Button32) = 1) And not (GUICtrlRead ($T2_Button33) = 1) Then

    [/autoit]


    Sprich: Du musst klammern setzen, bei deinem Script überprüft er nur ob das nicht verhanden ist/der wert umgekehrt ist

    Padmak