Checkboxen auf "checked" prüfen

  • Hi und moin an @lle,

    ich habe wieder mal ein (für euch sicherlich :) ) kleines Problemchen. Ich lasse aus einer TXT Datei Computernamen auslesen. Jeder Computer soll einzel ausgewählt werden können mit einer Checkbox. Es sollen dann auch nur die Aktionen für die Ausgewählten Computer ausgeführt werden. Darüber hinaus soll halt noch ein Button sein mit "Alle" und "Keine" Auswählen da sein. Wie kann ich das umsetzen?
    Wieder mal herzlichsten Dank vorab.
    Gruß

    • Offizieller Beitrag

    Hallo!

    das geht so:

    [autoit]

    $aktStatus = GUICtrlRead($checkbox)
    If (BitAND($aktStatus, $GUI_CHECKED) = $GUI_CHECKED) Then
    MsgBox(0,"","checked")
    ElseIf (BitAND($aktStatus, $GUI_UNCHECKED) = $GUI_UNCHECKED) Then
    MsgBox(0,"","unchecked")
    EndIf

    [/autoit]
  • hi danke für die schnelle antwort,

    allerdings war das nicht die lösung meines problems :schild4:
    ich lass die checkboxen durch ein array aus einer textdatei auslesen. es sind immer unterschiedlich viele checkboxen, je nachdem was in der datei steht. wie kann ich die einzelnen boxen ansprechen bzw. wie heißen die checkboxen? wenn ich das wüßte, dann kann ich deine lösung zur abfrage verwenden.

    wiedermal danke vorab.

    • Offizieller Beitrag

    Hi,

    hier mal ein Anfang:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <File.au3>

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

    Global $aArray
    _FileReadToArray(@ScriptDir & '\test.txt', $aArray)
    If @error Then
    MsgBox(0x1, 'Error', "_FileReadToArray('test.txt', $aArray)")
    Exit
    EndIf

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

    GUICreate('Title')
    Global $checkbox[$aArray[0]+1]
    For $i = 1 To $aArray[0]
    $checkbox[$i] = GUICtrlCreateCheckbox($aArray[$i], 10, 18 * $i)
    Next
    $button_process = GUICtrlCreateButton('&Process', 100, 350, 80)
    $button_exit = GUICtrlCreateButton('E&xit', 200, 350, 80)
    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $button_exit
    Exit
    Case $msg = $button_process
    For $i = 1 To $aArray[0]
    ; Check state of checkboxes and do conditional action
    If GUICtrlRead($checkbox[$i]) = $GUI_CHECKED Then
    $state = 'checked'
    Else
    $state = 'unchecked'
    EndIf
    MsgBox(0x40000, $aArray[$i], $state)
    Next
    EndSelect
    WEnd

    [/autoit]

    Der Inhalt der test.txt könnte so aussehen:


    peethepee
    bernd670
    Gun-Food
    Gta-Spider
    Holger

    So long,

    Mega