une pendule analogic classic en purebasic
Publié : ven. 20/févr./2009 21:40
Je cherche un code d'une pendule analogique.
bon week-end.
YB
bon week-end.
YB
Forums PureBasic - Français
http://forums.purebasic.com/french/
Progi1984 a écrit :Je cherche le code de Windows
bon week-end.
progi
Code : Tout sélectionner
Enumeration
#w
#d
#i
EndEnumeration
Global PI.d = ACos(-1)
OpenWindow(#w, 20, 20, 500, 500, "Pendule")
CreateGadgetList(WindowID(#w))
ImageGadget(#d, x, y, w, h, 0)
i.d = 0
stepv.d = 2 * PI / 60
hour = Hour(Date())
minute = Minute(Date())
second = Second(Date())
hh.d = 0
ii.d = 0
ss.d = 0
Repeat
Delay(1000)
CreateImage(#i, 200, 200, 32)
StartDrawing(ImageOutput(#i))
BackColor(RGB(240, 240, 240))
i = 0
m.d = 0
Repeat
If m/5 - Int(m/5) = 0
r = 82
Else
r = 88
EndIf
m = m + 1
LineXY(Cos(i)*90+100, Sin(i)*90+100, Cos(i)*r+100, Sin(i)*r+100, RGB(255, 255, 255))
i = i + stepv
Until i >= 2 * PI
hour = Hour(Date())
minute = Minute(Date())
second = Second(Date())
hh = PI / 6 * hour - PI / 2 + PI / 360 * minute
ii = PI / 30 * minute - PI / 2 + PI / 2160 * second
ss = PI / 30 * second - PI / 2
LineXY(Cos(hh)*0+100, Sin(hh)*0+100, Cos(hh)*55+100, Sin(hh)*55+100, RGB(255, 255, 255))
LineXY(Cos(ii)*0+100, Sin(ii)*0+100, Cos(ii)*75+100, Sin(ii)*75+100, RGB(255, 255, 255))
LineXY(Cos(ss)*0+100, Sin(ss)*0+100, Cos(ss)*80+100, Sin(ss)*80+100, RGB(255, 255, 255))
StopDrawing()
SetGadgetState(#d, ImageID(#i))
ForEver
KrisJNT a écrit :Voila !
A modifier à ta convenance !