Aktivierte Checkbox auslesen

  • Hey,

    ich habe zur Zeit leider ein kleines Problem.
    Und zwar habe ich mehrere Reiter. Auf jedem Reiter sind überall die gleichen Checkboxen (Siehe Bild)

    Diese Checkboxen werden in einem 2D Array angesprochen, sprich Checkbox[softwarekat][computername]

    Nun zu meinem Problem: Wie bekomme ich am schnellsten und einfachsten raus, welche die Angeklickten Checkboxen sind???

    Ich könnte zwar erstmal in einer verschachtelten For Schleife die Werte in ein neues Array schreiben, aber dann Stoße ich auf das Problem wie ich am besten das Array in der For-Schleife anwende.

    btw: Wie zähle ich denn ein Array (bei PHP mittels count($array)) um es für eine For Schleife zu benutzen


    Im Voraus, Danke für eure Hilfe

    Grüße
    dragst3r

  • Hallo!
    Ich bin mir nicht ganz sicher aber geht das nicht mit:

    Spoiler anzeigen
    [autoit]

    GuiCtrlRead($Checkbox1)

    [/autoit]

    #
    Mit der Passenden If-Schleife, sollte es gehen!

    Lenny!

    Oder hab ich da was falsch verstanden ?

    Sorry wenn ja!

    Edit2: Okay sorry :S
    ...

    Tut mir echt leid :S

    Jaja, Moo does the Cow!

    3 Mal editiert, zuletzt von Lenny (16. Oktober 2007 um 11:33)

  • Ja hast du leider etwas missverstanden =)


    [autoit]

    If GUICtrlRead($GUI_Array_Checkbox[$i][$a]) == 0 Then

    [/autoit]

    Mir klar, das ich so die Checkboxen prüfen kann. Aber es geht mir eher um das 2Dimensionale Array.

    Ich muss doch irgendwie schnell rausbringen können, welche Checkboxen aktiv sind.

    Einmal editiert, zuletzt von dragst3r (16. Oktober 2007 um 11:30)

    • Offizieller Beitrag

    HI,

    so ähnlich:

    [autoit]

    #include <GUIConstants.au3>
    GUICreate("My GUI Checkbox")
    $1_CB = GUICtrlCreateCheckbox("AN", 10, 10, 120, 20)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $2_CB = GUICtrlCreateCheckbox("AUS", 10, 30, 120, 20)
    $start = GUICtrlCreateButton("Statuscheck", 10, 50, 100, 21)
    GUISetState()

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

    While 1
    $msg = GUIGetMsg()

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

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    If $msg = $start Then
    ConsoleWrite(_getCheckboxState($1_CB) & @CRLF)
    ConsoleWrite(_getCheckboxState($2_CB) & @CRLF)
    EndIf
    WEnd

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

    Func _getCheckboxState($controlID)
    Return BitAND(GUICtrlRead($controlID),$GUI_CHECKED)
    EndFunc ;==>_getCheckboxState

    [/autoit]

    So long,

    Mega

  • Hallo,

    Mit UBound ( Array [, Dimension] ) findest du die grösse deines Arrays heraus, den Rest kriegste wie schon erwähnt mit For Schlaufen hin.

    greez

  • Danke. Ich konnte es lösen. Die Lösung allerdings zu Posten ist komplex.
    Da es verschiedene mit ineinander verschachtelte For Schleifen sind. Also nix programmier Komplexes, sonder nur Logik =)


    gruß
    dragst3r