+ -
当前位置:首页 → 问答吧 → 请高手帮我检查哈时钟,并标注。我不知道错在哪

请高手帮我检查哈时钟,并标注。我不知道错在哪

时间:2011-07-18

来源:互联网

Dim prehr, premin
Dim yuan

Sub drawcircle()
Dim r, i, x, y
'DrawMode = 10
Const pi = 3.1415926
DrawWidth = 2
r = 8
Circle (0, 0), r
FillStyle = 0
FillColor = vbBlack
For i = 1 To 12 Step 1

  x = 7.5 * Sin(i * pi / 6)
  y = 7.5 * Cos(i * pi / 6)
Circle (x, y), 0.2, vbRed
 Next i

End Sub
Private Sub Form_Load()
Dim x, y
Form1.Width = Form1.Height
ScaleWidth = 20
ScaleHeight = 20
x = ScaleWidth / 2
y = ScaleHeight / 2
Scale (-x, y)-(x, -y)
yuan = True
End Sub

Private Sub Timer1_Timer()
Dim x, y
Dim ttime
Dim hr, min, sec, h
ttime = Now
hr = Hour(ttime)
min = Minute(ttime)
miao = Second(ttime)
If yuan = True Then
  drawcircle
End If
If yuan = True Then
  DrawMode = 10
  h = hr Mod 12
h = hr * 5 + min / 12
x = 5 * Sin(h * pi / 30)
y = 5 * Cos(h * pi / 30)
  Line (0, 0)-(x, y), vbBlack
  prehr = hr
x = 6 * Sin(min * pi / 30)
y = 6 * Cos(min * pi / 30)
  Line (0, 0)-(x, y), vbGreen
  premin = min
End If
DrawMode = 10
  If premin <> min Then
  h = prehr * 5 + premin / 12
  x = 5 * Sin(h * pi / 30)
  y = 5 * Cos(h * pi / 30)
  Line (0, 0)-(x, y), vbBlack
  x = 6 * Sin(premin * pi / 30)
  y = 6 * Cos(premin * pi / 30)
  Line (0, 0)-(X1, Y1), vbGreen
  
  h = hr * 5 + min / 12
  x = 5 * Sin(h * pi / 30)
  y = 5 * Cos(h * pi / 30)
  Line (0, 0)-(x, y), vbBlack
  prehr = hr
  x = 6 * Sin(min * pi / 30)
  y = 6 * Cos(min * pi / 30)
  Line (0, 0)-(x, y), vbGreen
  premin = min
  End If
  
  
  
  
yuan = False '没有此项则表盘会变黑。变量yuan没有释放
End Sub

作者: lufeng112   发布时间: 2011-07-18

我只写了时针和分针的代码,结果运行时时针和分针没有动。我检查了好几道,觉得正确,请高手帮我看哈我的代码到底错在哪里了
 在这里我谢谢大家了,帮帮忙啊

作者: lufeng112   发布时间: 2011-07-18

刚才发的有点错误 重新发

作者: lufeng112   发布时间: 2011-07-18

Dim prehr, premin
Dim yuan

Sub drawcircle()
Dim r, i, x, y
'DrawMode = 10
Const pi = 3.1415926
DrawWidth = 2
r = 8
Circle (0, 0), r
FillStyle = 0
FillColor = vbBlack
For i = 1 To 12 Step 1

  x = 7.5 * Sin(i * pi / 6)
  y = 7.5 * Cos(i * pi / 6)
Circle (x, y), 0.2, vbRed
 Next i
End Sub

Private Sub Form_Load()
Dim x, y
Form1.Width = Form1.Height
ScaleWidth = 20
ScaleHeight = 20
x = ScaleWidth / 2
y = ScaleHeight / 2
Scale (-x, y)-(x, -y)
yuan = True
End Sub

Private Sub Timer1_Timer()
Dim x, y
Dim ttime
Dim hr, min, sec, h
ttime = Now
hr = Hour(ttime)
min = Minute(ttime)
miao = Second(ttime)
If yuan = True Then
  drawcircle
End If
If yuan = True Then
  DrawMode = 10
  h = hr Mod 12
h = hr * 5 + min / 12
x = 5 * Sin(h * pi / 30)
y = 5 * Cos(h * pi / 30)
  Line (0, 0)-(x, y), vbBlack
  prehr = hr
x = 6 * Sin(min * pi / 30)
y = 6 * Cos(min * pi / 30)
  Line (0, 0)-(x, y), vbGreen
  premin = min
End If
DrawMode = 10
  If premin <> min Then
  h = prehr * 5 + premin / 12
  x = 5 * Sin(h * pi / 30)
  y = 5 * Cos(h * pi / 30)
  Line (0, 0)-(x, y), vbBlack
  x = 6 * Sin(premin * pi / 30)
  y = 6 * Cos(premin * pi / 30)
  Line (0, 0)-(x, y), vbGreen
  
  h = hr * 5 + min / 12
  x = 5 * Sin(h * pi / 30)
  y = 5 * Cos(h * pi / 30)
  Line (0, 0)-(x, y), vbBlack
  prehr = hr
  x = 6 * Sin(min * pi / 30)
  y = 6 * Cos(min * pi / 30)
  Line (0, 0)-(x, y), vbGreen
  premin = min
  End If
  yuan = False '没有此项则表盘会变黑。变量yuan没有释放
End Sub

作者: lufeng112   发布时间: 2011-07-18

热门下载

更多