by Ze'ev Rotshtein ()
Category: Miscellaneous
Compatability: Visual Basic 3.0
Difficulty: Unknown Difficulty
Originally Published: Thu 7th August 2003
Date Added: Mon 8th February 2021
Rating: (1 Votes)
A graphical clock.
API Declarations
Const HR = 60, MR = 80, SR = 90
Const SL = (2 * PI) / 60, ML = SL, HL = (2 * PI) / 12
Dim HC, MC, SC
Timer_Timer
End Sub
Private Sub Form_Load()
Scale (-120, -120)-(120, 120)
End Sub
Private Sub Form_Resize()
Height = Width
Scale (-120, -120)-(120, 120)
Timer_Timer
End Sub
Private Sub Form_Unload(Cancel As Integer)
End
End Sub
Private Sub Timer_Timer()
HC = HL * (Hour(Time) - 3)
MC = ML * (Minute(Time) - 15)
SC = SL * (Second(Time) - 15)
Cls
For x = 0.105 To (2 * PI) + 1 Step SL
DoEvents
s = s + 1
If s Mod 5 = 0 Then
If s Mod 15 = 0 Then
Line ((SR + 2) * Cos(x), (SR + 2) * Sin(x))-((SR + 15) * Cos(x - 0.05), (SR + 15) * Sin(x - 0.05))
Line ((SR + 2) * Cos(x), (SR + 2) * Sin(x))-((SR + 15) * Cos(x + 0.05), (SR + 15) * Sin(x + 0.05))
Else
Line ((SR + 2) * Cos(x), (SR + 2) * Sin(x))-((SR + 15) * Cos(x), (SR + 15) * Sin(x))
End If
Else
Line ((SR + 6) * Cos(x), (SR + 6) * Sin(x))-((SR + 10) * Cos(x), (SR + 10) * Sin(x))
End If
Next x
Line (0, 0)-(SR * Cos(SC), SR * Sin(SC))
Line (SR * Cos(SC), SR * Sin(SC))-((SR - 8) * Cos(SC + 0.05), (SR - 8) * Sin(SC + 0.05))
Line (SR * Cos(SC), SR * Sin(SC))-((SR - 8) * Cos(SC - 0.05), (SR - 8) * Sin(SC - 0.05))
Line (0, 0)-(MR * Cos(MC), MR * Sin(MC))
Line (MR * Cos(MC), MR * Sin(MC))-((MR - 8) * Cos(MC + 0.05), (MR - 8) * Sin(MC + 0.05))
Line (MR * Cos(MC), MR * Sin(MC))-((MR - 8) * Cos(MC - 0.05), (MR - 8) * Sin(MC - 0.05))
Line (0, 0)-(HR * Cos(HC), HR * Sin(HC))
Line (HR * Cos(HC), HR * Sin(HC))-((HR - 8) * Cos(HC + 0.05), (HR - 8) * Sin(HC + 0.05))
Line (HR * Cos(HC), HR * Sin(HC))-((HR - 8) * Cos(HC - 0.05), (HR - 8) * Sin(HC - 0.05))
SC = SC + SL
SC = SC + SL Mod (2 * PI)
End Sub