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