Der Code da unten läßt sich bei mir auf jeden Fall beenden.
Ich würde das ganze zwecks Übersichtlichkeit so formatieren und die Rückgabewerte der Button-erstellung so verwenden, wie bei Licht und dolby
Code: Alles auswählen
If OpenWindow(0,000,300,1274,58,"Relais Butler",#PB_Window_SystemMenu|#PB_Window_MinimizeGadget)
If CreateGadgetList(WindowID(0))
;#########################################################
;Anlegen aller BUTTON´s
;#########################################################
;Eingabefeld
str_gdgt = StringGadget(#PB_Any,0010,06,100,20,"", #PB_String_Numeric)
;Relais 1
licht_an = ButtonGadget(#PB_Any,0140,06,100,20,"PC Licht Ein")
licht_aus= ButtonGadget(#PB_Any,0140,32,100,20,"PC Licht Aus")
;Relais 2
dolby_an = ButtonGadget(#PB_Any,0260,06,100,20,"Dolby Sound Ein")
dolby_aus= ButtonGadget(#PB_Any,0260,32,100,20,"Dolby Sound Aus")
;Relais 3
ButtonGadget(05,0380,06,100,20,"Drucker Ein")
ButtonGadget(06,0380,32,100,20,"Drucker Aus")
;Relais 4
ButtonGadget(07,0500,06,100,20,"HD - T - Ein")
ButtonGadget(08,0500,32,100,20,"HD - T - Aus")
;Relais 5
ButtonGadget(09,0620,06,100,20,"HD - U - Ein")
ButtonGadget(10,0620,32,100,20,"HD - U - Aus")
;Relais 6
ButtonGadget(11,0740,06,100,20,"HD - V - Ein")
ButtonGadget(12,0740,32,100,20,"HD - V - Aus")
;Relais 7
ButtonGadget(13,0860,06,100,20,"HD - W - Ein")
ButtonGadget(14,0860,32,100,20,"HD - W - Aus")
;Relais 8
ButtonGadget(15,0980,06,100,20,"HD - X - Ein")
ButtonGadget(16,0980,32,100,20,"HD - X - Aus")
;Relais ALLE
ButtonGadget(17,1100,06,160,20,"A L L E - E I N")
ButtonGadget(18,1100,32,160,20,"A L L E - A U S")
;Buttom Go
ButtonGadget(19,0010,32,100,20,"G O")
EndIf
EndIf
;#########################################################
;Abfrage aller BUTTON´s - ob sie gedrückt wurden
;#########################################################
Repeat
WWE=WaitWindowEvent()
Select WWE
Case #PB_Event_Gadget
Select EventGadget()
Case licht_an
RunProgram ("SETRelay", "/device:InterfaceA /on:1", "", 2) : Delay(500) : RE1 = 1
Case licht_aus
RunProgram ("SETRelay", "/device:InterfaceA /off:1", "", 2) : Delay(500) : RE1 = 0
Case dolby_an
RunProgram ("SETRelay", "/device:InterfaceA /on:2", "", 2) : Delay(500)
Case dolby_aus
RunProgram ("SETRelay", "/device:InterfaceA /off:2", "", 2) : Delay(500)
Case 05
RunProgram ("SETRelay", "/device:InterfaceA /on:3", "", 2) : Delay(500)
Case 06
RunProgram ("SETRelay", "/device:InterfaceA /off:3", "", 2) : Delay(500)
Case 07
RunProgram ("SETRelay", "/device:InterfaceA /on:4", "", 2) : Delay(500)
Case 08
RunProgram ("SETRelay", "/device:InterfaceA /off:4", "", 2) : Delay(500)
Case 09
RunProgram ("SETRelay", "/device:InterfaceA /on:5", "", 2) : Delay(500)
Case 10
RunProgram ("SETRelay", "/device:InterfaceA /off:5", "", 2) : Delay(500)
Case 11
RunProgram ("SETRelay", "/device:InterfaceA /on:6", "", 2) : Delay(500)
Case 12
RunProgram ("SETRelay", "/device:InterfaceA /off:6", "", 2) : Delay(500)
Case 13
RunProgram ("SETRelay", "/device:InterfaceA /on:7", "", 2) : Delay(500)
Case 14
RunProgram ("SETRelay", "/device:InterfaceA /off:7", "", 2) : Delay(500)
Case 15
RunProgram ("SETRelay", "/device:InterfaceA /on:8", "", 2) : Delay(500) : RE8 = 1
Case 16
RunProgram ("SETRelay", "/device:InterfaceA /off:8", "", 2) : Delay(500) : RE8 = 0
Case 17
RunProgram ("SETRelay", "/device:InterfaceA /on:1", "", 2) : Delay(1000)
RunProgram ("SETRelay", "/device:InterfaceA /on:2", "", 2) : Delay(1000)
RunProgram ("SETRelay", "/device:InterfaceA /on:3", "", 2) : Delay(1000)
RunProgram ("SETRelay", "/device:InterfaceA /on:4", "", 2) : Delay(1000)
RunProgram ("SETRelay", "/device:InterfaceA /on:5", "", 2) : Delay(1000)
RunProgram ("SETRelay", "/device:InterfaceA /on:6", "", 2) : Delay(1000)
RunProgram ("SETRelay", "/device:InterfaceA /on:7", "", 2) : Delay(1000)
RunProgram ("SETRelay", "/device:InterfaceA /on:8", "", 2) : Delay(1000)
Case 18
RunProgram ("SETRelay", "/device:InterfaceA /off:1", "", 2) : Delay(1000)
RunProgram ("SETRelay", "/device:InterfaceA /off:2", "", 2) : Delay(1000)
RunProgram ("SETRelay", "/device:InterfaceA /off:3", "", 2) : Delay(1000)
RunProgram ("SETRelay", "/device:InterfaceA /off:4", "", 2) : Delay(1000)
RunProgram ("SETRelay", "/device:InterfaceA /off:5", "", 2) : Delay(1000)
RunProgram ("SETRelay", "/device:InterfaceA /off:6", "", 2) : Delay(1000)
RunProgram ("SETRelay", "/device:InterfaceA /off:7", "", 2) : Delay(1000)
RunProgram ("SETRelay", "/device:InterfaceA /off:8", "", 2) : Delay(1000)
;###########################################################################################
;Eingabe überprüfen und entsprechend verzweigen - If Eingabe = 1 : RunProgram "yxz.avi"
;###########################################################################################
Case 19
Eingabe = Val(GetGadgetText(00))
Debug Eingabe
;SetGadgetText(00, "")
;###########################################################################################
;Starte Festplatten und dann denn Movie
;###########################################################################################
If Eingabe = 1 And RE8 = 0 ; Ab hier ist der Hase im Pfeffer
RunProgram ("SETRelay", "/device:InterfaceA /on:8", "", 2) ; Starte Relais 8 und somit die HD ein
Delay (10000) ; warte 10 Sekunden, damit die HD initialisiert ist
RunProgram ("X:\0001 ° yxz.avi") ; Starte Avi-Datei
ElseIf Eingabe = 1 And RE8 = 1 ; Starte Datei direkt denn HD ist an ( RE8 = 1 )
RunProgram ("X:\0001 ° yxz.avi")
EndIf
SetGadgetText(00, "")
EndSelect
EndSelect
Until WWE = #PB_Event_CloseWindow
End