' Alarm | Ring
Sub Alarm_Ring
iAHour = Controls.GetTextBoxText(oHour)
iAMin = Controls.GetTextBoxText(oMin)
If (iHour = iAHour) And (iMin = iAMin) Then
Sound.PlayChimesAndWait()
EndIf
EndSub
' Analog | Draw hour numerals
' in: rAke6, rKure6 - ake 6 and kure 6 [JST hour]
' in: iHX, iHY - font size for hour numerals
Sub Analog_DrawHourNumerals
GraphicsWindow.BrushColor = sFGColor
GraphicsWindow.FontSize = iHY
For iHour = 0 To 22 Step 2
If iHour > 9 Then
idX = - iHX
Else
idX = - iHX / 2
EndIf
rHour = iHour
Edo_HourToRadian()
iX = iXC - Math.Round(iR * 1.1 * Math.Sin(rEdoRadian) - idX)
iY = iYC + Math.Round(iR * 1.1 * Math.Cos(rEdoRadian) - iHY / 2)
GraphicsWindow.DrawText(iX, iY, iHour)
EndFor
EndSub
' Analog | Initialization
Sub Analog_Init
' time table initialization
sCity[9] = "Tokyo"
rDelta[9] = 9
iCities = 24
' selected city
iCity = 9
GraphicsWindow.BrushColor = sFGColor
If rDelta[iCity] > 0 Then
sSign = "+"
Else
sSign = ""
EndIf
GraphicsWindow.DrawText(iAX * 3 + iTX0, iAY * 7, sCity[iCity] + " (" + sSign + rDelta[iCity] + ")")
' show clock face
iR = 100 ' radius for analog clock face
iXC = 50 + iR ' center of analog clock
iYC = 40 + iR
uDialPlate = uFolder + "EdoDialPlate.png"
GraphicsWindow.DrawImage(uDialPlate, iXC - iR, iYC - iR)
' add hour hand as shape
uHour = uFolder + "EdoHourHand.png"
oHour = Shapes.AddImage(uHour)
Shapes.Move(oHour, iXC - iR, iYC - iR)
EndSub
' Analog | Rotate hour hand
' in: iHour, iMin, iSec - current hour, minute, second [JST]
Sub Analog_RotateHourHand
rHour = iHour + iMin / 60 + iSec / 3600
Edo_HourToRadian()
rEdoDegree = Math.GetDegrees(rEdoRadian)
rDegree = rEdoDegree + 12 * 360 / 24
Shapes.Rotate(oHour, rDegree)
EndSub
' Clock | Initialization
Sub Clock_Init
sBGColor = "Sienna" ' background color
sFGColor = "White" ' foreground color
sHourHandColor = "DarkGoldenrod" ' hour hand color
sHourHandFrame = "Goldenrod" ' hour hand frame color
Timer.Interval = 1000
Timer.Tick = Clock_OnTick
bTick = "False"
iDaySec = 24 * 60 * 60
iHourSec = 60 * 60
uFolder = "http://homepage2.nifty.com/nobukit/smallbasic.files/"
uWood = uFolder + "Wood.png"
GraphicsWindow.DrawImage(uWood, 0, 0)
EndSub