Hay
Also ich mochte das AutoIT alle Checkboxen liest.
Bis jetzt bin ich so weit:
Case $OK
GUICtrlRead(4)
If GUICtrlRead(4) = 1 Then
Test()
EndIf
aber hier liest er nur die 4.
kann man das so machen das er direkt alle liest?
Hay
Also ich mochte das AutoIT alle Checkboxen liest.
Bis jetzt bin ich so weit:
Case $OK
GUICtrlRead(4)
If GUICtrlRead(4) = 1 Then
Test()
EndIf
aber hier liest er nur die 4.
kann man das so machen das er direkt alle liest?
Natürlich geht das, aber ohne das gesamte Script kann man nicht sagen, wie Du das am besten integrierst.
Das ist mein Skript
[autoit]
#Region ### START Koda GUI section ### Form=C:\Users\Michael\Desktop\AutoIT\Travianer Bot Auflösungen.kxf
$Form1 = GUICreate("Form1", 234, 162, 192, 124)
$Label1 = GUICtrlCreateLabel("Test", 0, 0, 100, 17)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 216, 0, 17, 17)
$Label2 = GUICtrlCreateLabel("Test2", 0, 16, 100, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Checkbox1", 216, 16, 17, 17)
$Label3 = GUICtrlCreateLabel("Anderer", 0, 32, 100, 17)
$Checkbox3 = GUICtrlCreateCheckbox("Checkbox1", 216, 32, 17, 17)
$Label4 = GUICtrlCreateLabel("Label1", 0, 48, 36, 17)
$Checkbox4 = GUICtrlCreateCheckbox("Checkbox1", 216, 48, 17, 17)
$Label5 = GUICtrlCreateLabel("Label1", 0, 64, 36, 17)
$Checkbox5 = GUICtrlCreateCheckbox("Checkbox1", 216, 64, 17, 17)
$Label6 = GUICtrlCreateLabel("Label1", 0, 80, 36, 17)
$Checkbox6 = GUICtrlCreateCheckbox("Checkbox1", 216, 80, 17, 17)
$Label7 = GUICtrlCreateLabel("Label1", 0, 96, 36, 17)
$Checkbox7 = GUICtrlCreateCheckbox("Checkbox1", 216, 96, 17, 17)
$OK = GUICtrlCreateButton("OK", 88, 120, 49, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $OK
GUICtrlRead(4)
If GUICtrlRead(4) = 1 Then
Test()
EndIf
EndSwitch
WEnd
Func Test2()
_____________________
EndFunc
Func Test()
______________
Endfunc
Ich denke das hier sollte die einfachste Variante sein:
#include <GUIConstantsEx.au3>
#Region ### START Koda GUI section ### Form=C:\Users\Michael\Desktop\AutoIT\Travianer Bot Auflösungen.kxf
$Form1 = GUICreate("Form1", 234, 162, 192, 124)
$Label1 = GUICtrlCreateLabel("Test", 0, 0, 100, 17)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 216, 0, 17, 17)
$Label2 = GUICtrlCreateLabel("Test2", 0, 16, 100, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Checkbox1", 216, 16, 17, 17)
$Label3 = GUICtrlCreateLabel("Anderer", 0, 32, 100, 17)
$Checkbox3 = GUICtrlCreateCheckbox("Checkbox1", 216, 32, 17, 17)
$Label4 = GUICtrlCreateLabel("Label1", 0, 48, 36, 17)
$Checkbox4 = GUICtrlCreateCheckbox("Checkbox1", 216, 48, 17, 17)
$Label5 = GUICtrlCreateLabel("Label1", 0, 64, 36, 17)
$Checkbox5 = GUICtrlCreateCheckbox("Checkbox1", 216, 64, 17, 17)
$Label6 = GUICtrlCreateLabel("Label1", 0, 80, 36, 17)
$Checkbox6 = GUICtrlCreateCheckbox("Checkbox1", 216, 80, 17, 17)
$Label7 = GUICtrlCreateLabel("Label1", 0, 96, 36, 17)
$Checkbox7 = GUICtrlCreateCheckbox("Checkbox1", 216, 96, 17, 17)
$OK = GUICtrlCreateButton("OK", 88, 120, 49, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $OK
For $i = 1 To 7
If GUICtrlRead(Eval("Checkbox"&$i)) = 1 Then
Test()
EndIf
Next
EndSwitch
WEnd
;~ Func Test2()
;~ _____________________
;~ EndFunc
Func Test()
MsgBox(0,"","jaa")
Endfunc
Zur erklärung:
In der sog. For-Next schleife, wird eine Schleife durchgegangen. Bei jedem Schleifendurchlauf ändert sich der Wert von "$i"!
Das heißt er macht quasi das hier:
If GUICtrlRead($Checkbox1)) = 1 Then
Test()
EndIf
If GUICtrlRead($Checkbox2)) = 1 Then
Test()
EndIf
If GUICtrlRead($Checkbox3)) = 1 Then
Test()
EndIf
If GUICtrlRead($Checkbox4)) = 1 Then
Test()
EndIf
If GUICtrlRead($Checkbox5)) = 1 Then
Test()
EndIf
If GUICtrlRead($Checkbox6)) = 1 Then
Test()
EndIf
If GUICtrlRead($Checkbox7)) = 1 Then
Test()
EndIf
Nur seeehr viel kürzer!
der Befehl Eval ist auch ganz wichtig. Er kann Variablennamen "zusammenfügen". Am einfachsten ist das hier zu erkennen:
[autoit]$HalloDu = "huhu!"
MsgBox(0,"",Eval("Hallo" & "Du"))
Das ist mein Skript
[autoit][/autoit]
#Region ### START Koda GUI section ### Form=C:\Users\Michael\Desktop\AutoIT\Travianer Bot Auflösungen.kxf
Schon mal die Forenregeln gelesen?