mehrere Checkboxen abfragen

  • Hallo zusammen

    Ich möchte erzwingen, dass der Benutzer zwei verschiedene Combobox eingaben auch gemacht hat, bevor es weitergeht.

    In dem Beispiel von mir, wird der User zwar darauf hingewiesen, dass er die Eingaben zu machen hat - aber es geht weiter im Script.

    Wie erreiche ich, dass er die Abfragen solange macht, bis die Eingaben gemacht wurden?


    [autoit]

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

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

    #Region ### START Koda GUI section ### Form=
    $Form2 = GUICreate("Form1", 413, 305, 304, 188)
    $Button1 = GUICtrlCreateButton("Go", 112, 256, 75, 25)
    $Group1 = GUICtrlCreateGroup("Fall1", 64, 56, 185, 81)
    $Radio1 = GUICtrlCreateRadio("Test1", 88, 80, 113, 17)
    $Radio2 = GUICtrlCreateRadio("Test2", 88, 104, 113, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Fall2", 72, 168, 185, 73)
    $Radio3 = GUICtrlCreateRadio("Test1", 96, 192, 113, 17)
    $Radio4 = GUICtrlCreateRadio("Test2", 96, 216, 113, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Button2 = GUICtrlCreateButton("Cancel", 232, 256, 75, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    If GUICtrlRead($radio1) ="4" and GUICtrlRead($radio2) = "4" Then
    MsgBox(8192+64, "Attention", "kein Fall 1 ausgewählt", 10)
    EndIf
    If GUICtrlRead($radio3) ="4" and GUICtrlRead($radio4) = "4" Then
    MsgBox(8192+64, "Attention", "kein Fall 2 ausgewählt", 10)
    EndIf
    MsgBox(4096, "Test", "Alle bedingungen erfüllt")

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

    case $Button2
    exit
    EndSwitch
    WEnd

    [/autoit]


    Wo liegt mein Denkfehler?


    Danke für eure Hilfe :)

    Einmal editiert, zuletzt von Surfy (25. Juli 2011 um 13:38)

    • Offizieller Beitrag

    Dazu kannst Du ContinueLoop benutzen:

    Spoiler anzeigen
    [autoit]


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

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

    #region ### START Koda GUI section ### Form=
    $Form2 = GUICreate("Form1", 413, 305, 304, 188)
    $Button1 = GUICtrlCreateButton("Go", 112, 256, 75, 25)
    $Group1 = GUICtrlCreateGroup("Fall1", 64, 56, 185, 81)
    $Radio1 = GUICtrlCreateRadio("Test1", 88, 80, 113, 17)
    $Radio2 = GUICtrlCreateRadio("Test2", 88, 104, 113, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Fall2", 72, 168, 185, 73)
    $Radio3 = GUICtrlCreateRadio("Test1", 96, 192, 113, 17)
    $Radio4 = GUICtrlCreateRadio("Test2", 96, 216, 113, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Button2 = GUICtrlCreateButton("Cancel", 232, 256, 75, 25)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    If GUICtrlRead($Radio1) = "4" And GUICtrlRead($Radio2) = "4" Then
    MsgBox(8192 + 64, "Attention", "kein Fall 1 ausgewählt", 10)
    ContinueLoop
    EndIf
    If GUICtrlRead($Radio3) = "4" And GUICtrlRead($Radio4) = "4" Then
    MsgBox(8192 + 64, "Attention", "kein Fall 2 ausgewählt", 10)
    ContinueLoop
    EndIf
    MsgBox(4096, "Test", "Alle Bedingungen erfüllt")

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

    Case $Button2
    Exit
    EndSwitch
    WEnd

    [/autoit]