In GUI zwischen mehreren skripten wählen.

  • Hi!

    Ich wollte mal nachfragen ob jemand weiß wie ich in einer gui das so einstellen kann das ich die wahl zischen mehreren skripten habe.
    also das ich z.b n radiobutton für jeden skript habe . un wenn ich z.b den radiobutton an skript 2 setzte er auch nur den zweiten skript ausführen soll.

    (Ich wollte meine skripte alle in eine exe bauen)

    Einmal editiert, zuletzt von Kajabuschka (19. Mai 2010 um 21:39)

  • sry aber ich habe ka wo ich das finde... kannst du mir bitte einen link geben? :/

  • also ich habs mir eigentlich so vorgestellt:

    Ich habe mehrere Radiobuttons untereinander wo halt daneben jeweils steht um welchen skript es sich handelt.
    Dann halt nur noch den startbutton klicken.

  • Im Prinzip ist dass ganz einfach:

    • Du erstellst eine GUI mit:

    > einem Button
    > mehreren Radio-Kontrols

    • fragst diese mit einer While schleife ab,
    • wenn der Button gedrückt wird, wird überprüft welches Radio aktiviert ist,
    • und startest das dazugehörige Programm.

    Das ganze sieht dann ungefähr so aus:
    [Blockierte Grafik: http://9vjicq.blu.livefilestore.com/y1p9L3hxLnMpEhS4GKahK7HimJK4j55CQHxArfhcbElnMOUpBpLeh2kHWRMUI0-ugDy3kqxTWVS_ybJPGsaA04LtbmEC_rt3eZ-/Radio_starter.jpg]

    Und hier das Skript dazu:
    [autoit]

    #include <GUIConstantsEx.au3>
    AutoItSetOption("TrayIconHide", 1)

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

    GUICreate("Menü", 230, 110); GUI erstellen
    GUICtrlCreateLabel("Bitte wählen sie das gewünschte skript aus.", 10, 5)
    $W = GUICtrlCreateButton(" Programm starten! ", 100, 50)
    GUIStartGroup()
    $1 = GUICtrlCreateRadio("[Programm 1]", 5, 20)
    $2 = GUICtrlCreateRadio("[Programm 2]", 5, 40)
    $3 = GUICtrlCreateRadio("[Programm 3]", 5, 60)
    $4 = GUICtrlCreateRadio("[Programm 4]", 5, 80)
    GUISetState()
    While WinExists("Menü"); Die While schleife
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $W
    If GUICtrlRead($1) = $GUI_CHECKED Then; Und die Überprüfung welches Radio angeklickt ist.
    Run("Programm1")
    ElseIf GUICtrlRead($2) = $GUI_CHECKED Then
    Run("Programm2")
    ElseIf GUICtrlRead($3) = $GUI_CHECKED Then
    Run("Programm3")
    ElseIf GUICtrlRead($1) = $GUI_CHECKED Then
    Run("Programm4")
    EndIf
    EndSwitch
    WEnd

    [/autoit]

    Hoffe das Skript gefällt. :D

  • Hier ein bisschen besser und kürzer.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    AutoItSetOption("TrayIconHide", 1)

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

    Global $aRadio[4]
    Global $aPrograms[4] = ["Programm 1", "Programm 2", "Programm 3", "Programm 4"] ; hier kommen die Pfade der Programme

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

    GUICreate("Menü", 280, 110); GUI erstellen
    GUICtrlCreateLabel("Bitte wählen sie das gewünschte Programm/Skript aus.", 10, 5)
    $hStart = GUICtrlCreateButton(" Programm starten! ", 130, 50, 120, 25)
    $aRadio[0] = GUICtrlCreateRadio("[Programm 1]", 20, 20)
    $aRadio[1] = GUICtrlCreateRadio("[Programm 2]", 20, 40)
    $aRadio[2] = GUICtrlCreateRadio("[Programm 3]", 20, 60)
    $aRadio[3] = GUICtrlCreateRadio("[Programm 4]", 20, 80)
    GUISetState()

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hStart
    For $i = 0 To UBound($aPrograms) - 1
    If BitAND(GUICtrlRead($aRadio[$i]), $GUI_CHECKED) Then Run($aPrograms[$i])
    Next
    EndSwitch
    WEnd

    [/autoit]