用vb做一个小闹钟

用vb做一个小闹钟,第1张

下面是一个时钟程序代码,你可以参考一下。

Const PI = 3.14159265

Dim H, W, R As Integer '窗体高、宽、圆半径

Private Sub BiaoKe()

Dim I As Integer

'外盘

Circle (W \ 2, H \胡衡 2), R, vbBlue

'中心

Circle (W \ 2, H \ 2), 1, vbWhite

'盘面各点

For I = 0 To 59

If I Mod 5 = 0 Then

Circle (W \ 2 + R * Cos(I * PI / 30), H \ 2 + R * Sin(I * PI / 30)), 2, vbGreen

Else

Circle (W \ 2 + R * Cos(I * PI / 30), H \ 2 + R * Sin(I * PI / 30)), 1, vbWhite

End If

Next I

End Sub

Private Sub Form_Load()

Me.Show

Me.Cls

H = frmTime.ScaleHeight

W = frmTime.ScaleWidth

R = W \ 4

lbTime.Left = (frmTime.ScaleWidth - lbTime.Width) \ 2

lbTime.Top = frmTime.ScaleHeight - R \ 4

End Sub

Private Sub Form_Resize()

Call Form_Load

End Sub

Private Sub Timer1_Timer()

Dim T1, T2, T3 As Integer

Dim I, J, K As Integer

Me.Cls

T1 = Hour(Time): T2 = Minute(Time): T3 = Second(Time)

I = T1 - 15

J = T2 - 15

K = T3 - 15

'钟表裤岩做外壳

Call BiaoKe

'画时针

Line (W \ 2, H \ 2)-(W \ 2 + 0.5 * (R * Cos((I + J / 60) * PI / 6)), H \ 2 + 0.5 * (R * Sin((I + J / 60) * PI / 6))), vbGreen

'画分针

Line (W \ 2, H \ 2)-(W \ 2 + 0.7 * (R * Cos((J + K / 60) * PI / 30)), H \ 2 + 0.7 * (R * Sin((J + K / 60) * PI /枣伍 30))), vbYellow

'画秒针

Line (W \ 2, H \ 2)-(W \ 2 + 0.9 * (R * Cos(K * PI / 30)), H \ 2 + 0.9 * (R * Sin(K * PI / 30))), vbRed

K = K + 1

If K >360 Then K = K Mod 360

lbTime.Caption = Time

End Sub

Dim ydsj As Date

Private Sub Form_Load()

ydsj = InputBox("请输入约定时间!格式如括号里:(年号/月号/日子)或者又如括号里:(年号/月号/日子空格小时:分钟:秒数)如下格式:", , "2011/1/1 00:00:00")

Timer1.Enabled = True

End Sub

Private Sub Timer1_Timer()

Dim dqnyr As Date

If Now <ydsj Then

sysj = ydsj - Now

syn = Year(ydsj) - Year(Now) - 1

If Year(ydsj) = Year(Now) Then syn = syn + 1 '年

syy = 12 - Month(Now) &"+" &Month(ydsj) - 1 &"=" &12 - Month(Now) + Month(ydsj) - 1

If Year(ydsj) = Year(Now) Then

syy = Month(ydsj) - Month(Now) - 1

If Month(ydsj) = Month(Now) Then syy = syy + 1

End If

'月

dqnf = Year(Now)

dqyf = Month(Now)

If dqyf = 12 Then

dqyf = 1

dqnf = dqnf + 1

End If

dqnyr = dqnf &"-" &dqyf &"- " &1

syr = Fix(dqnyr - Now) &"+" &Day(ydsj) - 1 &"=" &Fix(dqnyr - Now) + Day(ydsj) - 1

If Year(ydsj) = Year(Now) And Month(ydsj) = Month(Now) Then syr = Fix(dqnyr - Now) - Fix(dqnyr - ydsj) '日

nowh = Format(Now, "hh")

nowm = Format(Now, "nn")

nows = Format(Now, "ss")

now1 = Date + 1

dqsyhms = now1 - Now

nowsyh = Format(dqsyhms, "hh")

nowsym = Format(dqsyhms, "nn")

nowsys = Format(dqsyhms, "ss")

ydhms = Format(ydsj, "hh:mm:ss")

ydh = Format(ydsj, "信猛扒hh")

ydm = Format(ydsj, "nn")

yds = Format(ydsj, "ss")

syh = nowsyh &"+" &ydh &"=" &Val(nowsyh) + Val(ydh)

bzd = Format(ydsj, "yyyy-m-d")

If Format(Now, "yyyy-mm-dd") = Format(ydsj, "yyyy-mm-dd") Then

syh = ydh - nowh

End If

'时

sym = nowsym &"+" &ydm &"=" &Val(nowsym) + Val(ydm)

If Format(Now, "yyyy-mm-dd hh") = Format(ydsj, "yyyy-mm-dd hh") Then

sym = ydm - nowm

End If

'分

sys = nowsys &"+" &yds &"=" &Val(nowsys) + Val(yds)

If Format(Now, "yyyy-mm-dd hh:nn") = Format(ydsj, "知禅yyyy-mm-dd hh:nn") Then

sys = yds - nows

End If

'秒

Label1.Caption = "当前时间是:" &Now &" 距 " &ydsj &"还有(" &syn &")个年头+(" &syy &")个月份+(" &syr &")个日子+(滑昌" &syh &")小时+(" &sym &")分钟+(" &sys &")秒;合计=: (" &sysj &")天!"

ElseIf Now = ydsj Then

Label1.FontSize = 28

Label1.ForeColor = &HFF&

Label1.Caption = ydsj &"到了!祝您在以后的日子里万事如意,身体安康!88!88!"

Timer1.Interval = 8888

ElseIf Now >ydsj Then

Label1.FontSize = 28

Label1.ForeColor = &HFF0000

Label1.Caption = ydsj &"已经过了!祝您万事如意,身体安康!"

End If

End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/12493672.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存