Checkbox

  • Hay
    Also ich mochte das AutoIT alle Checkboxen liest.
    Bis jetzt bin ich so weit:

    [autoit]


    Case $OK
    GUICtrlRead(4)
    If GUICtrlRead(4) = 1 Then
    Test()
    EndIf

    [/autoit]


    aber hier liest er nur die 4.
    kann man das so machen das er direkt alle liest?

  • 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)

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $OK
    GUICtrlRead(4)
    If GUICtrlRead(4) = 1 Then
    Test()
    EndIf

    EndSwitch
    WEnd

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

    Func Test2()
    _____________________
    EndFunc

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

    Func Test()
    ______________
    Endfunc

    [/autoit][autoit][/autoit][autoit][/autoit]
  • Ich denke das hier sollte die einfachste Variante sein:

    Spoiler anzeigen
    [autoit]

    #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)

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    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

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

    EndSwitch
    WEnd

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

    ;~ Func Test2()
    ;~ _____________________
    ;~ EndFunc

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

    Func Test()
    MsgBox(0,"","jaa")
    Endfunc

    [/autoit]

    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:

    Spoiler anzeigen
    [autoit]

    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

    [/autoit]


    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"))

    [/autoit]
  • Das ist mein Skript

    [autoit]


    #Region ### START Koda GUI section ### Form=C:\Users\Michael\Desktop\AutoIT\Travianer Bot Auflösungen.kxf

    [/autoit]

    Schon mal die Forenregeln gelesen? ^^

    Zitat

    [Heute, 11:39] Raupi: Soll ich es dir machen?
    [Heute, 11:47] BugFix: "Soll ich es dir machen? " - also Raupi !! bitte nicht so öffentlich :rofl:

    Zitat

    [Heute, 11:51] BugFix: und ich werde es mir jetzt machen - das Mittagessen :P

    AMsg UDF v1.00.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%
    OwnStyle UDF Version 1.10.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%