Hey Leute,
Ich habe eine GUI mit 5 Inputfeldern und 5 Comboboxen. Je eine der Comboboxen is für 1 Inputfeld "zuständig". Das heißt, wenn eine Combobox gecheckt wird, dass dann das Inputfeld Enabled und Disabled wird. Nun kann man in die Inputfelder Nachrichten reinschreiben, welche dann ausgegeben werden, wenn man auf den Start Button klickt. Diese nachrichten sollen jedoch zufällig ausgegeben werden. Das heißt das eine von den 5 (oder auch wenigern) ausgewählt wird. Das is klar das kann ich mit Random machen. Also das ganze sieht z.B. so aus:
Inputfelder
Hi (Disabled) Checkbox 4
Hey (Enabled) Checkbox 1
Hallo (Disabled) Checkbox 4
Huhu (Disabled) Checkbox 4
Sers (Enabled) Checkbox 1
Also hier müsste jetzt entweder Hey oder Sers ausgegeben werden.
Nun wie kann ich das nun machen, dass das Ganze immer funktioniert, ohne dass ich jede einzelne Möglichkeit in mein Scipt schreib?
Hier is das Script:
Spoiler anzeigen
#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]GUICreate ("Hallo",450,300,-1,-1)
GUISetBkColor (0xDF6E12)
GUISetState ()
$input1 = GUICtrlCreateInput ("Hi",20,40,200)
$input2 = GUICtrlCreateInput ("Hey",20,90,200)
$input3 = GUICtrlCreateInput ("Hallo",20,140,200)
$input4 = GUICtrlCreateInput ("Huhu",20,190,200)
$input5 = GUICtrlCreateInput ("Sers",20,240,200)
Global $pn[6]
$pn[1] = GUICtrlCreateCheckbox ("Nachricht 1 aktivieren",300,40,-1,-1)
$pn[2] = GUICtrlCreateCheckbox ("Nachricht 2 aktivieren",300,90,-1,-1)
$pn[3] = GUICtrlCreateCheckbox ("Nachricht 3 aktivieren",300,140,-1,-1)
$pn[4] = GUICtrlCreateCheckbox ("Nachricht 4 aktivieren",300,190,-1,-1)
$pn[5] = GUICtrlCreateCheckbox ("Nachricht 5 aktivieren",300,240,-1,-1)
$button = GUICtrlCreateButton ("Start",150,270,100,30)
GUICtrlSetState ($input1,$GUI_DISABLE)
GUICtrlSetState ($input2,$GUI_DISABLE)
GUICtrlSetState ($input3,$GUI_DISABLE)
GUICtrlSetState ($input4,$GUI_DISABLE)
GUICtrlSetState ($input5,$GUI_DISABLE)
While 1
$msg = GUIGetMsg ()
Select
Case $msg = $pn[1]
If GUICtrlRead ($pn[1]) = 4 Then
GUICtrlSetState ($input1,$GUI_DISABLE)
ElseIf GUICtrlRead ($pn[1]) = 1 Then
GUICtrlSetState ($input1,$GUI_ENABLE)
EndIf
Case $msg = $pn[2]
If GUICtrlRead ($pn[2]) = 4 Then
GUICtrlSetState ($input2,$GUI_DISABLE)
ElseIf GUICtrlRead ($pn[2]) = 1 Then
GUICtrlSetState ($input2,$GUI_ENABLE)
EndIf
Case $msg = $pn[3]
If GUICtrlRead ($pn[3]) = 4 Then
GUICtrlSetState ($input3,$GUI_DISABLE)
ElseIf GUICtrlRead ($pn[3]) = 1 Then
GUICtrlSetState ($input3,$GUI_ENABLE)
EndIf
Case $msg = $pn[4]
If GUICtrlRead ($pn[4]) = 4 Then
GUICtrlSetState ($input4,$GUI_DISABLE)
ElseIf GUICtrlRead ($pn[4]) = 1 Then
GUICtrlSetState ($input4,$GUI_ENABLE)
EndIf
Case $msg = $pn[5]
If GUICtrlRead ($pn[5]) = 4 Then
GUICtrlSetState ($input5,$GUI_DISABLE)
ElseIf GUICtrlRead ($pn[5]) = 1 Then
GUICtrlSetState ($input5,$GUI_ENABLE)
EndIf
Case $msg = $button
For $i = 1 to 5
If GUICtrlRead ($pn[$i]) = 1 Then
Call ("Sender")
EndIf
Next
Exit
Case $msg = $GUI_EVENT_CLOSE
Exit
EndSelect
WEnd
Func Sender ()
;Send ?!?!?!?!?!?
EndFunc