我是一名数学教师,因为《认识时间》里要用到一个时钟,目前在网上没有找到合适的,而手头中的一个也差强人意。只是有点瑕疵——现在这时针和分针的转速太快了。不知道有没有高手愿意帮我把时钟的转速调慢点。
附上原代码:
Option ExplicitConst pi = 3.141592653
Dim j As IntegerDim IsMod As BooleanPublic Function DoTime(ByVal TimeA As Date) As Boolean
Dim s As Single
Dim m As Single
Dim h As Single
Dim Len_M As Long
Dim Len_H As Long
s = Second(TimeA)
m = Minute(TimeA)
h = Hour(TimeA) + m / 60
Dim TempH As Long
TempH = Hour(TimeA)
If TempH > 12 Then
TempH = TempH - 12
End If
If IsMod = True Then
If m Mod 5 = 0 Then
Else
m = m - (m Mod 5)
End If
Else End If
Label1.Caption = "时间:" & TempH & ":" & IIf(m < 10, "0" & m, m)
'Text1.Text = TempH & ":" & IIf(m < 10, "0" & m, m)
Len_M = 3500
Len_H = 2500
'LineS.X2 = LineS.X1 + Len_S * Sin(PI * s / 30)
'
'LineS.Y2 = LineS.Y1 - Len_S * Cos(PI * s / 30)
LineM.X2 = LineM.X1 + Len_M * Sin(pi * m / 30)
LineM.Y2 = LineM.Y1 - Len_M * Cos(pi * m / 30)
If h > 12 Then h = h - 12
LineH.X2 = LineH.X1 + Len_H * Sin(pi * h / 6)
LineH.Y2 = LineH.Y1 - Len_H * Cos(pi * h / 6)
End FunctionPrivate Sub Check1_Click() If Check1.Value = 1 Then
Label1.Visible = True
Else
Label1.Visible = False
End IfEnd SubPrivate Sub Command1_Click() IsMod = False
If Timer1.Enabled = True Then
Else
KaiGuan
Timer1.Enabled = True
End If
Command1.Enabled = False
End SubPrivate Sub Command2_Click() If Command2.Caption = "暂停A" Then
KaiGuan
IsMod = True
Timer1.Enabled = False
Dim TimeS As Date
TimeS = Time
j = j + 1
TimeS = DateAdd("n", j, TimeS)
DoTime TimeS
Command2.Caption = "继续"
Command3.Enabled = False
Else
KaiGuan
IsMod = False
Command2.Caption = "暂停A"
Timer1.Enabled = True
Command3.Enabled = True
End If
End SubPrivate Sub Command3_Click()
If Command3.Caption = "暂停B" Then
KaiGuan
IsMod = False
Timer1.Enabled = False
Command3.Caption = "继续"
Command2.Enabled = False
Else
KaiGuan
IsMod = False
Command3.Caption = "暂停B"
Timer1.Enabled = True
Command2.Enabled = True
End If
End SubPrivate Sub Command4_Click()
On Error GoTo Err
Dim TimeS As Date
TimeS = CDate(Text1.Text)
DoTime TimeS
Exit Sub
Err:
MsgBox Err.Description
End SubPrivate Sub Form_Load()
j = 1
Form1.Caption = "石英钟"
Dim TimeS As Date
TimeS = Time
DoTime TimeS
End SubPrivate Sub Timer1_Timer() Dim TimeS As Date
TimeS = Time
j = j + 1
TimeS = DateAdd("n", j, TimeS)
DoTime TimeS
End Sub
Public Function KaiGuan() As BooleanEnd Function
附上原代码:
Option ExplicitConst pi = 3.141592653
Dim j As IntegerDim IsMod As BooleanPublic Function DoTime(ByVal TimeA As Date) As Boolean
Dim s As Single
Dim m As Single
Dim h As Single
Dim Len_M As Long
Dim Len_H As Long
s = Second(TimeA)
m = Minute(TimeA)
h = Hour(TimeA) + m / 60
Dim TempH As Long
TempH = Hour(TimeA)
If TempH > 12 Then
TempH = TempH - 12
End If
If IsMod = True Then
If m Mod 5 = 0 Then
Else
m = m - (m Mod 5)
End If
Else End If
Label1.Caption = "时间:" & TempH & ":" & IIf(m < 10, "0" & m, m)
'Text1.Text = TempH & ":" & IIf(m < 10, "0" & m, m)
Len_M = 3500
Len_H = 2500
'LineS.X2 = LineS.X1 + Len_S * Sin(PI * s / 30)
'
'LineS.Y2 = LineS.Y1 - Len_S * Cos(PI * s / 30)
LineM.X2 = LineM.X1 + Len_M * Sin(pi * m / 30)
LineM.Y2 = LineM.Y1 - Len_M * Cos(pi * m / 30)
If h > 12 Then h = h - 12
LineH.X2 = LineH.X1 + Len_H * Sin(pi * h / 6)
LineH.Y2 = LineH.Y1 - Len_H * Cos(pi * h / 6)
End FunctionPrivate Sub Check1_Click() If Check1.Value = 1 Then
Label1.Visible = True
Else
Label1.Visible = False
End IfEnd SubPrivate Sub Command1_Click() IsMod = False
If Timer1.Enabled = True Then
Else
KaiGuan
Timer1.Enabled = True
End If
Command1.Enabled = False
End SubPrivate Sub Command2_Click() If Command2.Caption = "暂停A" Then
KaiGuan
IsMod = True
Timer1.Enabled = False
Dim TimeS As Date
TimeS = Time
j = j + 1
TimeS = DateAdd("n", j, TimeS)
DoTime TimeS
Command2.Caption = "继续"
Command3.Enabled = False
Else
KaiGuan
IsMod = False
Command2.Caption = "暂停A"
Timer1.Enabled = True
Command3.Enabled = True
End If
End SubPrivate Sub Command3_Click()
If Command3.Caption = "暂停B" Then
KaiGuan
IsMod = False
Timer1.Enabled = False
Command3.Caption = "继续"
Command2.Enabled = False
Else
KaiGuan
IsMod = False
Command3.Caption = "暂停B"
Timer1.Enabled = True
Command2.Enabled = True
End If
End SubPrivate Sub Command4_Click()
On Error GoTo Err
Dim TimeS As Date
TimeS = CDate(Text1.Text)
DoTime TimeS
Exit Sub
Err:
MsgBox Err.Description
End SubPrivate Sub Form_Load()
j = 1
Form1.Caption = "石英钟"
Dim TimeS As Date
TimeS = Time
DoTime TimeS
End SubPrivate Sub Timer1_Timer() Dim TimeS As Date
TimeS = Time
j = j + 1
TimeS = DateAdd("n", j, TimeS)
DoTime TimeS
End Sub
Public Function KaiGuan() As BooleanEnd Function
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货