; PureBasic Visual Designer v3.82 build 1356 ; Erstellt durch Falko "Stoppuhr" ; Hierzu braucht man umbedingt die PureTools Lib von Danilo (Siehe www.PureArea.net ; An RINGS ein Dankeschön für den Flacker-Tip :), konnte ich gut gebrauchen. ; Ebenfalls an KushelTeddy82 der den Code optimiert hat, Danke. ;- Window Constants ; Enumeration #Window_0 EndEnumeration ;- Gadget Constants ; Enumeration #String_0 #String_1 #Button_0 #Button_1 #Button_2 #String_2 #Frame3D_0 #String_5 #String_7 EndEnumeration ;- Fonts ; Global FontID1, FontID2, FontID3 FontID1 = LoadFont(1, "Arial", 72) FontID2 = LoadFont(2, "Arial", 14) FontID3 = LoadFont(3, "Arial Black", 48) Procedure Open_Window_0() If OpenWindow(#Window_0, 397, 8, 531, 304, #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "Stoppuhr geschrieben von Falko") If CreateGadgetList(WindowID()) StringGadget(#String_0, 50, 60, 110, 90, "00", #PB_String_ReadOnly | #PB_String_Numeric | #PB_String_BorderLess) SetGadgetFont(#String_0, FontID1) StringGadget(#String_1, 200, 60, 120, 90, "00", #PB_String_ReadOnly | #PB_String_Numeric | #PB_String_BorderLess) SetGadgetFont(#String_1, FontID1) ButtonGadget(#Button_0, 20, 200, 100, 50, "START") SetGadgetFont(#Button_0, FontID2) ButtonGadget(#Button_1, 150, 200, 100, 50, "STOP") SetGadgetFont(#Button_1, FontID2) ButtonGadget(#Button_2, 390, 200, 100, 50, "RESET") SetGadgetFont(#Button_2, FontID2) StringGadget(#String_2, 170, 60, 20, 90, ":", #PB_String_ReadOnly | #PB_String_BorderLess) SetGadgetFont(#String_2, FontID3) Frame3DGadget(#Frame3D_0, 20, 50, 470, 110, "", #PB_Frame3D_Double) StringGadget(#String_5, 320, 60, 30, 90, ":", #PB_String_ReadOnly | #PB_String_BorderLess) SetGadgetFont(#String_5, FontID3) StringGadget(#String_7, 350, 60, 120, 90, "00", #PB_String_ReadOnly | #PB_String_Numeric | #PB_String_BorderLess) SetGadgetFont(#String_7, FontID1) EndIf EndIf EndProcedure Global Sekunde.l , Minute.l, ZSekunde.l Minute=0 : Sekunde=0 Procedure Refresh(Text,timer.l) Alt$ = GetGadgetText(Text) New$ = Str(timer) If Len(New$) = 1 : New$ = "0" + New$ : EndIf If New$ <> Alt$ : SetGadgetText(Text, New$) : EndIf EndProcedure Procedure addTimer() Refresh(#String_7,ZSekunde) ZSekunde + 1 ; Refresh(#String_7,ZSekunde) ; nach oben gesetzt wegen der 10er-Anzeige. If ZSekunde=100 ZSekunde=0 : Sekunde+1 Refresh(#String_1,Sekunde) If Sekunde=60 Sekunde=0 : Minute+1 Refresh(#String_0,Minute) EndIf EndIf EndProcedure Open_Window_0() Repeat Event = WaitWindowEvent() If Event = #PB_EventGadget GadgetID = EventGadgetID() If GadgetID = #Button_0 StartTimer( 1,10, @addTimer() ) ElseIf GadgetID = #Button_1 EndTimer(1) ElseIf GadgetID = #Button_2 SetGadgetText(#String_0,"00") SetGadgetText(#String_1,"00") SetGadgetText(#String_7,"00") Minute=0 : Sekunde=0 EndIf EndIf Until Event = #PB_EventCloseWindow End ; ExecutableFormat=Windows ; EnableAsm ; EnableNT4 ; EOF