Microsoft Small Basic
Program Listing:
Embed this in your website
<object id='sbapp' data='data:application/x-silverlight-2,' type='application/x-silverlight-2' width='640' height='480'> <param name='source' value='http://smallbasic.com/program/ClientBin/SBWeb.xap'/> <param name='onError' value='onSilverlightError' /> <param name='background' value='white' /> <param name='minRuntimeVersion' value='3.0.40624.0' /> <param name='autoUpgrade' value='true' /> <param name='initParams' value='programId=KMX174' /> </object>
gw
=
600
gh
=
gw
GraphicsWindow
.
Width
=
gw
GraphicsWindow
.
Height
=
gh
GraphicsWindow
.
CanResize
=
0
GraphicsWindow
.
KeyDown
=
keydown
GraphicsWindow
.
Title
=
"Analog Clock"
img_relogio
=
ImageList
.
LoadImage
(
"http://nickm.hdfree.com.br/relogio.png"
)
Timer
.
Interval
=
1000
Timer
.
Tick
=
update
h_raio
=
155
m_raio
=
205
s_raio
=
245
Sub
keydown
last_key
=
GraphicsWindow
.
LastKey
If
(
last_key
=
"F1"
)
Then
show_debug
=
1
EndIf
EndSub
Sub
update
GraphicsWindow
.
Clear
(
)
' Shapes.AddImage(Program.Directory + "\relogio.png")
GraphicsWindow
.
DrawImage
(
img_relogio
,
0
,
0
)
'draw_numbers()
hour
=
Clock
.
Hour
minute
=
Clock
.
Minute
second
=
Clock
.
Second
GraphicsWindow
.
BrushColor
=
"black"
GraphicsWindow
.
FontSize
=
25
'GraphicsWindow.DrawRectangle(gw/2-80,gh/2+20,160,32)
'time_txt = Shapes.AddText(Clock.Date)
'Shapes.Move(time_txt,gw/2 - 78,gh/2 + 20)
a_second
=
360
/
60
*
second
angulo
=
a_second
*
0.0174532925199433
sen
=
Math
.
Sin
(
angulo
)
cos
=
Math
.
Cos
(
angulo
)
cat_o
=
sen
*
s_raio
cat_a
=
cos
*
s_raio
GraphicsWindow
.
PenColor
=
"red"
GraphicsWindow
.
PenWidth
=
"3"
GraphicsWindow
.
DrawLine
(
gw
/
2
,
gh
/
2
,
(
gw
/
2
)
+
cat_o
,
(
gh
/
2
)
-
cat_a
)
GraphicsWindow
.
PenWidth
=
"2"
a_minute
=
360
/
60
*
minute
+
(
0.1
*
second
)
GraphicsWindow
.
PenColor
=
"black"
angulo
=
a_minute
*
0.0174532925199433
sen
=
Math
.
Sin
(
angulo
)
cos
=
Math
.
Cos
(
angulo
)
cat_o
=
sen
*
m_raio
cat_a
=
cos
*
m_raio
GraphicsWindow
.
PenWidth
=
"4"
GraphicsWindow
.
DrawLine
(
gw
/
2
,
gh
/
2
,
(
gw
/
2
)
+
cat_o
,
(
gh
/
2
)
-
cat_a
)
GraphicsWindow
.
PenWidth
=
"2"
If
(
hour
<
12
)
Then
a_hour
=
360
/
12
*
hour
+
(
0.5
*
minute
)
Else
a_hour
=
360
/
12
*
hour
+
(
0.5
*
minute
)
-
360
EndIf
angulo
=
a_hour
*
0.0174532925199433
sen
=
Math
.
Sin
(
angulo
)
cos
=
Math
.
Cos
(
angulo
)
cat_o
=
sen
*
h_raio
cat_a
=
cos
*
h_raio
GraphicsWindow
.
PenWidth
=
"5"
GraphicsWindow
.
DrawLine
(
gw
/
2
,
gh
/
2
,
(
gw
/
2
)
+
cat_o
,
(
gh
/
2
)
-
cat_a
)
GraphicsWindow
.
PenWidth
=
"2"
GraphicsWindow
.
BrushColor
=
"black"
GraphicsWindow
.
FillEllipse
(
gw
/
2
-
10
,
gh
/
2
-
10
,
20
,
20
)
If
(
show_debug
=
1
)
Then
TextWindow
.
Left
=
GraphicsWindow
.
Left
+
620
TextWindow
.
Top
=
GraphicsWindow
.
Top
TextWindow
.
Clear
(
)
size
=
41
TextWindow
.
Title
=
"Analog Clock : Debug"
TextWindow
.
WriteLine
(
"+----------------------------------------+"
)
TextWindow
.
WriteLine
(
"| Analog Clock - v1.0 - NM Studio - 2010 |"
)
TextWindow
.
WriteLine
(
"+----------------------------------------+"
)
TextWindow
.
WriteLine
(
"| |"
)
TextWindow
.
Write
(
"|Hour : "
+
Clock
.
Hour
)
TextWindow
.
CursorLeft
=
size
TextWindow
.
WriteLine
(
"|"
)
TextWindow
.
Write
(
"|Minutes : "
+
Clock
.
Minute
)
TextWindow
.
CursorLeft
=
size
TextWindow
.
WriteLine
(
"|"
)
TextWindow
.
Write
(
"|Seconds : "
+
Clock
.
Second
)
TextWindow
.
CursorLeft
=
size
TextWindow
.
WriteLine
(
"|"
)
TextWindow
.
WriteLine
(
"| |"
)
TextWindow
.
Write
(
"|a_hour : "
+
a_hour
)
TextWindow
.
CursorLeft
=
size
TextWindow
.
WriteLine
(
"|"
)
TextWindow
.
Write
(
"|a_minutes: "
+
a_minute
)
TextWindow
.
CursorLeft
=
size
TextWindow
.
WriteLine
(
"|"
)
TextWindow
.
Write
(
"|a_seconds: "
+
a_second
)
TextWindow
.
CursorLeft
=
size
TextWindow
.
WriteLine
(
"|"
)
TextWindow
.
WriteLine
(
"| |"
)
TextWindow
.
WriteLine
(
"+----------------------------------------+"
)
EndIf
EndSub
Copyright (c) Microsoft Corporation. All rights reserved.