SLider abfragen im "OnEventMode"

  • Hi,

    ich versuche einen Wert von einem Slider abzufragen, nachdem er eingestellt wurde. Danach soll er in einem Input angezeigt werden (input weil auch direkt Eingabe möglich sein soll).

    Desweiteren soll der Wert auch noch in der Function LED1 bzw. LED2 verwendet werden.

    In einem test von mir Funktioniert es, aber wen ich es mein Script einbau geht es nicht. In meinem Test benutzte ich kein "OnEventMode".

    Hat vielleicht jemand eine Idee wo mein Fehler liegt?


    Spoiler anzeigen

    #include <EditConstants.au3>
    #include <WinAPI.au3>
    #include <SliderConstants.au3>
    #include <StaticConstants.au3>
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <GuiEdit.au3>
    #include <array.au3>
    #include <string.au3>


    Opt("GUIOnEventMode", 1);Die Gui auf den OnEventMode umschalten

    $Form1 = GUICreate("Master Blaster V x.x", 900, 600, 0, 0)
    ;GUICreate("Master Blaster V x.x", 900, 600, 0, 0)


    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
    GUISetFont(22)
    GUICtrlCreateLabel("eeeee", 20, 10, 500, 40)
    GUISetFont(10)

    $Btn8 = GUICtrlCreateButton("LED1 ON", 460, 440, 95, 70)
    GUICtrlSetOnEvent($Btn8,"LED1")
    $Btn9 = GUICtrlCreateButton("LED2 ON", 460, 520, 95, 70)
    GUICtrlSetOnEvent($Btn9,"LED2")


    $slider1 = GUICtrlCreateSlider (680,440,200,30)
    GUICtrlSetLimit(-1,255,0) ; change min/max value
    ;$Slider1value = GUICtrlCreateLabel("LED 1 OFF", 720, 480, 236, 25)
    $Slider1value = GUICtrlCreateinput("", 680, 480, 200, 25)
    $slider2 = GUICtrlCreateSlider (680,520,200,30)
    GUICtrlSetLimit(-1,255,0) ; change min/max value
    ;$Slider2value = GUICtrlCreateLabel("LED 2 OFF", 720, 560, 236, 25)
    $Slider2value = GUICtrlCreateinput("", 680, 560, 200, 25)

    GUISetState()
    ;~ GUICtrlSetData($slider1,45) ; set cursor
    ;~ GUICtrlSetData($slider2,45) ; set cursor

    While True
    sleep(100)
    WEnd


    While True
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $slider1
    GUICtrlSetData($Slider1value, GUICtrlRead($slider1))
    Case $Slider1value
    GuiCtrlSetData($slider1, GUICtrlRead($Slider1value))
    GUICtrlSetData($Slider1value, GUICtrlRead($slider1)) ; für ungültige Werte
    Case $slider2
    GUICtrlSetData($Slider2value, GUICtrlRead($slider2))
    Case $Slider2value
    GuiCtrlSetData($slider2, GUICtrlRead($Slider2value))
    GUICtrlSetData($Slider2value, GUICtrlRead($slider2)) ; für ungültige Werte

    EndSwitch
    sleep(100)

    WEnd


    Func LED1()
    $slider1neu = hex(GUICtrlRead($slider1),2)
    GUICtrlSetData($Slider1value, $slider1neu & " [min = 00 max = FF]")
    WinActivate(" - KiTTY","")
    send("$c00:LED0" & $slider1neu & ":00")
    send("{ENTER}")
    sleep(300)
    EndFunc
    Func LED2()
    $slider2neu = hex(GUICtrlRead($slider2),2)
    GUICtrlSetData($Slider2value, $slider2neu & " [min = 00 max = FF]")
    WinActivate(" - KiTTY","")
    send("$c00:LED1" & $slider2neu & ":00")
    send("{ENTER}")
    EndFunc


    Func CLOSEClicked() ;Damit man auch das Fenster wieder schliessen kann, da im OnEventMode ohne dies nix passiert.
    MsgBox(0, "GUI Event", "Du hast auf CLOSE geklickt! Programm wird beendet...")
    winclose(" - KiTTY")
    WinActivate("KiTTY Exit Confirmation")
    send("{ENTER}")
    Exit
    EndFunc


    schon Mal Danke im Voraus

    Lyki

    Einmal editiert, zuletzt von Lyki (17. Februar 2014 um 15:52)