(Ist jetzt aber verdammt unübersichtlich weil ich halt sehr viel probiert habe -.-)
Code: Alles auswählen
;// 1.A
If OpenWindow(0, 200, 200, 400, 200, "Shutdown Control", #PB_Window_TitleBar|#PB_Window_SystemMenu )
;// 2.A
If CreateGadgetList(WindowID(0))
TextGadget (5, 10, 28, 200, 15,"Shutdown Status:")
TextGadget (6, 10, 40, 200, 8,"--------------------------------")
ButtonGadget (1, 260, 25, 120 , 24, "Neuer Countdown")
ButtonGadget (2, 260, 120, 120 , 24, "Info")
ButtonGadget (9, 260, 160, 120 , 24, "Exit")
ButtonGadget (3, 20, 160, 80 , 24, "Start")
ButtonGadget (4, 120, 160, 80 , 24, "Stop")
TextGadget (7, 10, 50, 200, 100,"", #PB_Text_Border)
TextGadget (8, 150, 10, 200, 15,"")
;CheckBoxGadget(0, 290, 90, 250, 20, "Neustarten")
OptionGadget (20, 270, 60, 90, 20, "Neustarten")
OptionGadget (21, 270, 80, 90, 20, "Herunterfahren")
SetGadgetState(21, 1)
EndIf
;// 2.E
EndIf
;// 1.E
;// Start Main- Programm
Repeat
;SmartWindowRefresh(0, 0)
EventID = WaitWindowEvent()
;If EventID = 0
; Delay(1)
;EndIf
;Until EventID = #PB_Event_CloseWindow Or EventID = #PB_Event_Gadget
;// 4.A
;
If EventID = #PB_Event_Gadget
GadgetNummer = EventGadget()
;// Exit ;// 5.A
If GadgetNummer = 9
End
EndIf
;// 5.E
;// Info ;// 6.A
If GadgetNummer = 2
MessageRequester("Infos","Programmierer: Olaf de Viesel"+ Chr(10) + " BGP- Studio"+Chr(10)+Chr(10)+" Version: Sep 1.1_09",0)
EndIf
;// 6.E
;// Start ;// 7.A
If GadgetNummer = 3
;// 8.A
If Start.l = 1
Repeat
;EventID3 = #PB_Event_Gadget
;GadgetNummer2 = EventGadget()
StartTime = ElapsedMilliseconds()
Repeat
Time.l = ElapsedMilliseconds()-StartTime
EventID3 = WindowEvent()
GadgetNummer2 = EventGadget()
;SetGadgetText (7, Str(Time)) // DebugInfo
Until Time.l = 1000
Sek.l = Sek.l -1
SetGadgetText (7, " Timer gestartet...(H : M : S)" + Chr(10) + Chr(10) + Chr(10) + " " + Str(Hou.l) + ":" + Str(Min.l) + ":" + (Str(Sek.l)))
;// 9.A
If Sek.l <= 0
Min.l = Min.l - 1
Sek.l = Sek.l + 60
;// 10.A
If Min.l < 0
Min.l = 0
Hou.l = Hou.l - 1
;// 11.A
If Hou.l <> 0
;Hou.l = Hou.l -1
Min.l = Min.l + 59
EndIf
;// 11.E
;// 12.A
If Hou.l <= 0
Hou.l = 0
Min.l = 0
Sek.l = 0
EndIf
;// 12.E
;// 10.E
EndIf
;// 9.E
EndIf
Until Sek.l = 0 Or GadgetNummer2 = 4
;// 8.E
EndIf
;// 13.A
If GadgetNummer2 = 4
SetGadgetText (7, " Timer gestartet...(H : M : S)" + Chr(10) + Chr(10) + Chr(10) + " " + Str(Hou.l) + ":" + Str(Min.l) + ":" + (Str(Sek.l)) + Chr(10) + Chr(10) + "Timer gestoppt! Zum Fortsetzten 'Start' drücken!")
EndIf
;// 13.E
;// Timer beendet
;// 14.A
If Sek.l = 0
State = GetGadgetState(20)
;// 15.A
If State = 1
;RunProgram("C:\Windows\System32\shutdown.exe","-r -t 10 -f","System wird in 10 Sekunden neu gestartet!")
Else
;RunProgram("C:\Windows\System32\shutdown.exe","-s -t 10 -f","System wird in 10 Sekunden Heruntergefahren!")
EndIf
;// 15.E
EndIf
;// 14.E
EndIf
;// 7.E
;// Neuer Countdown
If GadgetNummer = 1
If OpenWindow(1, 200, 200, 230, 200, "Shutdown Control", #PB_Window_TitleBar|#PB_Window_SystemMenu )
If CreateGadgetList(WindowID(1))
TextGadget (10, 10, 30, 200, 15,"Timer:")
TextGadget (11, 10, 40, 200, 10,"--------------------------------")
ButtonGadget (12, 80, 160, 80 , 24, "Speichern")
StringGadget (14, 30, 60, 40, 20, "")
StringGadget (15, 90, 60, 40, 20, "")
StringGadget (16, 150, 60, 40, 20, "")
EndIf
Eingabe:
Repeat
EventID = WindowEvent()
GadgetNummer = EventGadget()
If GadgetNummer = 12
Sekunden$ = GetGadgetText (16)
Sek.l = Val(Sekunden$)
Minuten$ = GetGadgetText (15)
Min.l = Val(Minuten$)
Hour$ = GetGadgetText (14)
Hou.l = Val(Hour$)
If Sek.l < 0
MessageRequester ("ERROR" , "Falsche Eingabe! Überprüfung erforderlich!")
SetGadgetText (16," ")
Fehler = 1
EndIf
If Min.l < 0
Min.l = 0
MessageRequester ("ERROR" , "Falsche Eingabe! Überprüfung erforderlich!")
SetGadgetText (15," ")
Fehler = 1
EndIf
If Hou.l < 0
Hou.l = 0
MessageRequester ("ERROR" , "Falsche Eingabe! Überprüfung erforderlich!")
SetGadgetText (14," ")
Fehler = 1
EndIf
If Fehler = 1
Fehler = 0
Goto Eingabe:
Else
EventID = 1
EndIf
EndIf
If EventID = #PB_Event_CloseWindow
EventID = 1
EndIf
Until EventID = 1
If Sek.l >= 60
Repeat
Min.l = Min.l + 1
Sek.l = Sek.l - 60
Until Sek.l <= 59
EndIf
If Min.l >= 60
Repeat
Hou.l = Hou.l + 1
Min.l = Min.l - 60
Until Min.l <= 59
EndIf
SetGadgetText (7, "Timer initialisiert... " + Chr(10) + "Timer gestellt auf: " + Str(Hou.l) + ":" + Str(Min.l) + ":" + Str(Sek.l))
Start.l = 1
CloseWindow(1)
;
EndIf
EndIf
EndIf
Until EventID = #PB_Event_CloseWindow
;EndIf
so und @Kaeru Gaman: Ich hab deinen Code zur Kenntnis genommen. Und nicht nur das. Ich habe meinen alten Code (siehe oben) jetzt verworfen und fange komplett neu an... Und ich bin wirklich über jede Hilfe dankbar... Es tut mir leid falss das jetzt anders rübergekommen ist.
So jetzt müsste aber alles gehen...
Desweiteren kommt beim Compilieren immer die Meldung, das ich die Veraltete Funktion "CreateGadgetListe()" benutze... weiß aber auch nicht wie ich das beheben kann...
Hab die Version 4.30 Beta 1...