Die Radio Box

  • Entschuldigung noch einmal für ganz doofe:

    Wie würde das denn aussehen wenn man das in Zussamenhang mit einer in KODA gemachten GUI Box macht?

  • Aaalso, ganz so einfach ist das leider nicht.
    Ich hab die Überprüfung mit eine for-Schleife gemacht. Damit ich nicht jede Abfrage von Hand machen muss habe ich alle Radiobuttons in einem Array. Dann muss ich nur noch eine Abfrage abarbeiten und der Schleifen-Counter erhöht sich jedes mal um 1. Ich wei snicht ob du damit jetzt was anfange kannst,a ber das ist z.B. wichtig, wenn man jetzt 100 Radiobuttons hast, dann wirst du mit einer von Hand geschriebenen Lösung ganz schön blöd ausschauen :D.

    "normaler"-Code:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 633, 447, 193, 125)
    $Radio1 = GUICtrlCreateRadio("Radio1", 80, 80, 113, 17)
    $Radio2 = GUICtrlCreateRadio("Radio2", 88, 104, 113, 17)
    $Radio3 = GUICtrlCreateRadio("Radio3", 80, 128, 113, 17)
    $Button1 = GUICtrlCreateButton("Button1", 280, 80, 75, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    If BitAND(GUICtrlRead($Radio1), $GUI_Checked) Then
    MsgBox(0, "", "hallo")
    ElseIf BitAND(GUICtrlRead($Radio2), $GUI_Checked) Then
    MsgBox(0, "", "test2")
    ElseIf BitAND(GUICtrlRead($Radio3), $GUI_Checked) Then
    MsgBox(0, "", "die letzte box")
    EndIf
    EndSwitch
    WEnd

    [/autoit]

    Vergleich 50 Checkboxen mit For-Schleife ausgewertet:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    Dim $aRadio[50]

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

    $Form1 = GUICreate("RadioBox for Math", 259, 850)
    For $i = 0 To UBound($aRadio) - 1
    $aRadio[$i] = GUICtrlCreateRadio("Radio " & $i+1, 24, 32 + $i * 16, 65, 17)
    Next
    GUICtrlSetState($aRadio[0], $GUI_CHECKED)
    $Button1 = GUICtrlCreateButton("OK", 100, 40, 150, 33, 0)

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

    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    For $i = 0 To UBound($aRadio) - 1
    If BitAND(GUICtrlRead($aRadio[$i]), $GUI_CHECKED) Then
    MsgBox(0,"","Radio " & $i+1 & " ist ausgewählt.")
    ExitLoop
    EndIf
    Next
    EndSwitch
    WEnd

    [/autoit]

    Viel Spass von Hand :)

    2 Mal editiert, zuletzt von anno2008 (21. November 2008 um 18:32)

  • Hi,
    ja das Hab ich vergessen :). Ein bisschen was müssen sie ja selber machen :D

    Nee, du kannst ja auch ein Beispiel machen und meine Fehler verbessern, wenn du willst :).

    Zitat


    haben alle "50" den gleichen Namen ? :D

    Hmm, warum, das versteh ich jetzt nicht?