Wie, womit Du die ProgrammProceduren letztenendes füllst,
bleibt Dir überlassen.
Viel Spass.
BSP
Code: Alles auswählen
; Window
#window0 = 0
; Gadgets
Enumeration
#txtgadget1
#txtgadget2
#txtgadget3
#txtgadget4
#imggadget1
#endebutton
#pausebutton
EndEnumeration
; Images
#image1 = 0
; Timer
Enumeration
#timer1
#timer2
#timer3
#timer4
#timer5
EndEnumeration
Global ende=0
Global y , x1 , x2
Procedure Programm1()
;Uhrzeit
Protected zeit$
zeit$ = FormatDate("%hh.%ii.%ss",Date())
If GetGadgetText(#txtgadget1) <> zeit$
SetGadgetText(#txtgadget1,zeit$)
EndIf
EndProcedure
Procedure Programm3()
; Grafik
GrabImage(#image1,#image1,1,0,180,180)
StartDrawing(ImageOutput(#image1))
x1+(Random(2)-1)
If x1<1 : x1=1 : EndIf
If x1>170 : x1=170 : EndIf
LineXY(179,179,179,x1,RGB(255,0,0))
LineXY(179,x1,179,0,RGB(0,255,0))
StopDrawing()
SetGadgetState(#imggadget1,ImageID(#image1))
EndProcedure
Procedure Programm4()
; Position X1
SetGadgetText(#txtgadget3,"X 1 = "+Str(x1))
EndProcedure
;-===== OpenWindow
If OpenWindow(#Window0, 100, 100, 200, 300, "Testfenster", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered)
TextGadget(#txtgadget1, 10,10,80,20,"",#PB_Text_Border | #PB_Text_Center)
TextGadget(#txtgadget2,110,10,80,20,"",#PB_Text_Border | #PB_Text_Center)
CreateImage(#image1,180,180)
ImageGadget(#imggadget1,10,40,0,0,ImageID(#image1))
TextGadget(#txtgadget3, 10,230,80,20,"",#PB_Text_Border | #PB_Text_Center)
TextGadget(#txtgadget4,110,230,80,20,"",#PB_Text_Border | #PB_Text_Center)
ButtonGadget(#endebutton,10,260,60,30,"Ende")
ButtonGadget(#pausebutton,130,260,60,30,"Pause",#PB_Button_Toggle)
Else: End : EndIf
;-===== SetTimer
SetTimer_(WindowID(#Window0), #timer1, 10, @Programm1())
SetTimer_(WindowID(#Window0), #timer3, 1, @Programm3())
SetTimer_(WindowID(#Window0), #timer4, 10, @Programm4())
;-===== Hauptschleife
Repeat
Select WaitWindowEvent(10)
Case #PB_Event_CloseWindow
ende=1
Case #PB_Event_Gadget
Select EventGadget()
Case #endebutton
ende=1
Case #pausebutton
If GetGadgetState(#pausebutton)
KillTimer_(WindowID(#Window0),#timer3)
SetGadgetText(#txtgadget2,"Pause")
Else
SetTimer_(WindowID(#Window0), #timer3, 0, @Programm3())
SetGadgetText(#txtgadget2,"Läuft")
EndIf
EndSelect
EndSelect
Until ende; = ;#WM_CLOSE
;-===== Ende
KillTimer_(WindowID(#Window0),#timer1)
KillTimer_(WindowID(#Window0),#timer3)
KillTimer_(WindowID(#Window0),#timer4)
End