Hallo zusammen,
ich bin gerade dabei eine GUI zu basteln, wo ich durch Checkboxen abfragen machen kann welche Programme installiert werden sollen.
Da ich das ganze noch nicht so lange mache weiss ich gerade nicht weiter.
Spoiler anzeigen
#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Hello World", 500, 300, -1, -1)
;~ $Radio1 = GUICtrlCreateRadio("Radio1", 8, 136, 57, 33)
;~ $Radio2 = GUICtrlCreateRadio("Radio2", 8, 176, 57, 41)
$Button1 = GUICtrlCreateButton("Starten", 400, 250)
$Button2 = GUICtrlCreateButton("Exit", 450, 250)
$Checkbox1 = GUICtrlCreateCheckbox("Prog1 ", 70, 50, 80)
$Checkbox2 = GUICtrlCreateCheckbox("Prog2 ", 70, 70, 80)
$Checkbox3 = GUICtrlCreateCheckbox("Prog3", 70, 90, 80)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
;soll aufgehen, wenn Checkbox 1, 2 und 3 ausgewählt ist und ein Button über das GUI gedrückt wird.
If BitAnd(GUICtrlRead($Checkbox1), $GUI_CHECKED) And BitAnd(GUICtrlRead($Checkbox2), $GUI_CHECKED) And BitAnd(GUICtrlRead($Checkbox3), $GUI_CHECKED) then
msgbox(0,"Prog 1, 2 und 3","Prog 1, 2 und 3")
Exit
;soll aufgehen, wenn Checkbox 1 und 3 ausgewählt ist und ein Button über das GUI gedrückt wird.
ElseIf BitAnd(GUICtrlRead($Checkbox1), $GUI_CHECKED) And BitAnd(GUICtrlRead($Checkbox3), $GUI_CHECKED) then
Msgbox(0,"Prog 1 und 3","Prog 1 und 3")
Exit
;soll aufgehen, wenn Checkbox 1 und 2 ausgewählt ist und ein Button über das GUI gedrückt wird.
ElseIf BitAnd(GUICtrlRead($Checkbox1), $GUI_CHECKED) And BitAnd(GUICtrlRead($Checkbox2), $GUI_CHECKED) then
msgbox(0,"Prog 1 und 2","Prog 1 und 2")
Exit
;soll aufgehen, wenn Checkbox 2 und 3 ausgewählt ist und ein Button über das GUI gedrückt wird.
ElseIf BitAnd(GUICtrlRead($Checkbox2), $GUI_CHECKED) And BitAnd(GUICtrlRead($Checkbox3), $GUI_CHECKED) then
msgbox(0,"Prog 2 und 3","Prog 2 und 3")
Exit
;funktioniert: soll aufgehen, wenn NUR Checkbox 3 ausgewählt ist und ein Button über das GUI gedrückt wird.
ElseIf BitAnd(GUICtrlRead($Checkbox3), $GUI_CHECKED) then
msgbox(0,"Prog 3","Prog 3")
Exit
;funktioniert: soll aufgehen, wenn NUR Checkbox 2 ausgewählt ist und ein Button über das GUI gedrückt wird.
ElseIf BitAnd(GUICtrlRead($Checkbox2), $GUI_CHECKED) then
msgbox(0,"Prog 2","Prog 2")
Exit
;funktioniert: soll aufgehen, wenn NUR Checkbox 1 ausgewählt ist und ein Button über das GUI gedrückt wird.
ElseIf BitAnd(GUICtrlRead($Checkbox1), $GUI_CHECKED)then
msgbox(0,"Prog 1","Prog 1 ")
Exit
EndIf
case $Button2
Exit
EndSwitch
WEnd
Das habe ich mir auch teils zusammengesucht hier aus dem Forum und der hilfe, was auch gut funktioniert hat aber hier laufe ich gerade in den Fehler
"(68 : ==> "EndSwitch" statement with no matching "Switch" statement.:
EndSwitch"
wenn ich das script aber so mache
Spoiler anzeigen
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Hello World", 500, 300, -1, -1)
;~ $Radio1 = GUICtrlCreateRadio("Radio1", 8, 136, 57, 33)
;~ $Radio2 = GUICtrlCreateRadio("Radio2", 8, 176, 57, 41)
$Button1 = GUICtrlCreateButton("Starten", 400, 250)
$Button2 = GUICtrlCreateButton("Exit", 450, 250)
$Checkbox1 = GUICtrlCreateCheckbox("Prog1 ", 70, 50, 80)
$Checkbox2 = GUICtrlCreateCheckbox("Prog2 ", 70, 70, 80)
$Checkbox3 = GUICtrlCreateCheckbox("Prog3", 70, 90, 80)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
;soll aufgehen, wenn Checkbox 1, 2 und 3 ausgewählt ist und ein Button über das GUI gedrückt wird.
If BitAnd(GUICtrlRead($Checkbox1), $GUI_CHECKED) And BitAnd(GUICtrlRead($Checkbox2), $GUI_CHECKED) And BitAnd(GUICtrlRead($Checkbox3), $GUI_CHECKED) then
msgbox(0,"Prog 1, 2 und 3","Prog 1, 2 und 3")
Exit
;~ ;soll aufgehen, wenn Checkbox 1 und 3 ausgewählt ist und ein Button über das GUI gedrückt wird.
;~ If BitAnd(GUICtrlRead($Checkbox1), $GUI_CHECKED) And BitAnd(GUICtrlRead($Checkbox3), $GUI_CHECKED) then
;~ msgbox(0,"Prog 1 und 3","Prog 1 und 3")
;~ Exit
;~ ;soll aufgehen, wenn Checkbox 1 und 2 ausgewählt ist und ein Button über das GUI gedrückt wird.
;~ If BitAnd(GUICtrlRead($Checkbox1), $GUI_CHECKED) And BitAnd(GUICtrlRead($Checkbox2), $GUI_CHECKED) then
;~ msgbox(0,"Prog 1 und 2","Prog 1 und 2")
;~ Exit
;~ ;soll aufgehen, wenn Checkbox 2 und 3 ausgewählt ist und ein Button über das GUI gedrückt wird.
;~ If BitAnd(GUICtrlRead($Checkbox2), $GUI_CHECKED) And BitAnd(GUICtrlRead($Checkbox3), $GUI_CHECKED) then
;~ msgbox(0,"Prog 2 und 3","Prog 2 und 3")
;~ Exit
;funktioniert: soll aufgehen, wenn NUR Checkbox 3 ausgewählt ist und ein Button über das GUI gedrückt wird.
ElseIf BitAnd(GUICtrlRead($Checkbox3), $GUI_CHECKED) then
msgbox(0,"Prog 3","Prog 3")
Exit
;funktioniert: soll aufgehen, wenn NUR Checkbox 2 ausgewählt ist und ein Button über das GUI gedrückt wird.
ElseIf BitAnd(GUICtrlRead($Checkbox2), $GUI_CHECKED) then
msgbox(0,"Prog 2","Prog 2")
Exit
;funktioniert: soll aufgehen, wenn NUR Checkbox 1 ausgewählt ist und ein Button über das GUI gedrückt wird.
ElseIf BitAnd(GUICtrlRead($Checkbox1), $GUI_CHECKED)then
msgbox(0,"Prog 1","Prog 1 ")
Exit
EndIf
case $Button2
Exit
EndSwitch
WEnd
läuft es ohne probleme!
Was mache ich falsch?
MfG
Psyche