VB程序设计怎么做数字时钟

VB程序设计怎么做数字时钟,第1张

1、添加一个“label控件”命名为label

2、添加一个“timer控件”命名为timer1

3、设置“timer1”的“Interval属性”为1000

使用到的代码:

Dim Hour As Integer '小时

Dim Min As Integer  '分钟

Dim Sec As Integer '秒

Private Sub Form_Load()

   Hour = 0

   Min = 0

   Sec = 0

   Label1Caption = "00 : 00 : 00"

End Sub

Private Sub Timer1_Timer()

   Dim strHour As String

   Dim strMin As String

   Dim strSec As String

   Sec = Sec + 1

   If Sec >= 60 Then

       Sec = 0

       Min = Min + 1

       If Min >= 60 Then

           Min = 0

           Hour = Hour + 1

           If Hour >= 24 Then

               Hour = 0

           End If

       End If

   End If

   If Hour < 10 Then

       strHour = "0" & Hour

   Else

       strHour = Hour

   End If

   If Min < 10 Then

       strMin = "0" & Min

   Else

       strMin = Min

   End If

   If Sec < 10 Then

       strSec = "0" & Sec

   Else

       strSec = Sec

   End If

   Label1Caption = strHour & " : " & strMin & " : " & strSec

End Sub

计时器代码:

Dim i As Integer

Private Sub Command1_Click()

Timer1Enabled = True

End Sub

Private Sub Form_Load()

Timer1Enabled = False

Timer1Interval = 1000

i = 5

End Sub

Private Sub Timer1_Timer()

i = i - 1

Label1Caption = "距离考试结束时间还有" & "(" & i & ")" & "秒"

Command1Enabled = False

If i = 0 Then

MsgBox "时间到"

Timer1Enabled = False

ElseIf i < 0 Then

MsgBox "你挂了"

End

End If

End Sub

这是我写的一个,你可以参考一下。

敲代码很好学。

在面向对象的程序设计中,我们把外界的刺激用事件来表示,而把对这个事件的反应称为事件过程。

可视化和事件驱动正是使用VB进行Windows程序设计的精髓所在。事件驱动,即事件发生时,程序才会运行,在没有事件时,整个程序处于停滞状态。事件决定了对象之间的联系。在VB中,事件就是能够被对象识别的动作,如用鼠标单击或双击,键盘输入、鼠标的移动、窗体的载入,还有定时器产生的定时信号。

VB的每个窗体和控件都有一个预定义的事件集,它们能够自动识别属于事件集中的事件,大多数类型的事件是各种控件所共有的,例如命令按钮和窗体都可以对单击、双击和按键这样的事件做出响应,而某些事件只能发生在特定的对象上。 相同的事件发生在不同的对象上得到的反应是不一样的,造成这种差异是事件过程的缘故,对象对每一个可以识别的事件都有一个事件过程,当事件发生时,会自动执行这个事件的过程。语法如下:

Private Sub 对象名_事件()

处理事件的程序代码

End Sub

在VB程序设计过程中,基本的思想就是改变对象的属性,使用对象的方法和为对象的事件编写事件过程。除非有必要,用户不必为所有的事件编写事件过程,Windows系统会以默认的方式来处理事件。使用VB编写程序的妙处在于:只有当用户要以某种特定方式来响应某个事件时,才有必要针对某个事件的事件过程。

事件驱动程序中典型的事件序列:

启动应用程序,装载并显示窗体,产生Load和Show事件。

窗体或窗体上的控件接收事件。事件可以由用户引发、由系统引发,也可以由代码间接引发。

如果在相应的事件过程中存在代码,则执行代码。

应用程序等待下一次事件。

应用程序中使用一个窗体时,程序开始运行时窗体接收到了Load消息,从而引发了窗体的Load事件,在这个默认的事件过程中,什么语句都没有,这个过程只是调用就结束了,而VB则执行了一个重要的默认 *** 作——把窗体装入内存。

许多事件的发生常常会伴随其它事件发生:双击事件发生时,按下鼠标键、复原鼠标键和单击事件也会发生。

希望我能帮助你解疑释惑。

放三根line,位置,长度随便放,添加一个timer,然后复制代码:

Dim xx1%, yy1% '宣告变量xx1,yy1为整型(给圆心用的)

Private Sub Form_Load()

MeAutoRedraw = True '重画为真 '窗体置中

Timer1Interval = 500

Call Form_Resize

End Sub

Private Sub Form_Resize()

MeCls

'MeMove (ScreenWidth - MeWidth) \ 2, (ScreenHeight - meiheight) \ 2 '计算圆心的x轴 xx1

xx1 = MeWidth \ 2 '计算圆心的y轴 yy1

yy1 = (MeHeight - 405) \ 2 '将下面3根针的起点x1,y1全定位在圆心上

Line1X1 = xx1: Line1Y1 = yy1

Line2X1 = xx1: Line2Y1 = yy1

Line3X1 = xx1: Line3Y1 = yy1 '画钟的外匡让线条粗一点

MeDrawWidth = 4 '画一个圆

MeCircle (xx1, yy1), 950

MeDrawWidth = 2

For i = 0 To 11

MeLine (950 Cos(i (314 2 / 12)) + xx1, 950 Sin(i (314 2 / 12)) + yy1)-(850 Cos(i (314 2 / 12)) + xx1, 850 Sin(i (314 2 / 12)) + yy1)

MeCurrentX = 1100 Cos(i (314 2 / 12)) + xx1 - MeTextWidth(CStr(i))

MeCurrentY = 1100 Sin(i (314 2 / 12)) + yy1 - MeTextHeight(CStr(i)) / 2

MePrint IIf(i < 10, i + 3, i - 9)

Next

Line2BorderWidth = 1 '秒针的粗度

Line2BorderColor = QBColor(12) '秒针的颜色

Line1BorderWidth = 2 '分针的粗度

Line1BorderColor = QBColor(14) '分针的颜色

Line3BorderWidth = 3 '时针的粗度

Line3BorderColor = QBColor(10) '时针的颜色

End Sub

Private Sub Timer1_Timer()

MeCaption = Time '标题栏显示现在时间 '

Second Hand '画秒针

'计算秒针的角度,每一秒是 360度除以60秒=6度, 所以要乘上6

sdeg = Second(Time) 6 'vb是以弧度为单位来计算,所以角度换算弧度是 314/180, 秒针跑了N度就乘上N

srad = (314 / 180) sdeg '900是秒针的长度,以圆心(line2的x1,y1)为准,计算出在这个弧度时line2x2在什么位置

Line2X2 = Line2X1 + (900 Sin(srad)) '900是秒针的长度,以圆心(line2的x1,y1)为准,计算出在这个弧度时line2y2在什么位置

Line2Y2 = Line2Y1 - (900 Cos(srad)) '

Minute Hand '画分针

'计算分针的角度,每一分是360度除以60分=6度, 所以要乘上6,秒针动分针也会动,所以还要加上秒针移动所产生的分针移动

'秒针转了1圈360度,分针才会前进1分钟=6度,所以比例是 6/360等于 1/60

Mdeg = Minute(Time) 6 + (sdeg 1 / 60) 'vb是以弧度为单位来计算,所以角度换算弧度是 314/180, 分针跑了N度就乘上N

mrad = (314 / 180) Mdeg 'vb是以弧度为单位来计算,所以角度换算弧度是 314/180, 分针跑了N度就乘上N

'750是分针的长度,以圆心(line1的x1,y1)为准,计算出在这个弧度时line1x2在什么位置

Line1X2 = (750 Sin(mrad)) + Line1X1 '750是分针的长度,以圆心(line1的x1,y1)为准,计算出在这个弧度时line1y2在什么位置

Line1Y2 = Line1Y1 - (750 Cos(mrad)) '

Hour Hand '画时针

'计算时针的角度,每一小时时针跑30度,分针动时针也会动,所以还要加上分针移动所产生的时针移动

'分针转了1圈360度,时针才会前进1刻划=30度,所以比例是 30/360等于 1/12

hdeg = Hour(Time) 30 + (Mdeg / 12) 'vb是以弧度为单位来计算,所以角度换算弧度是 314/180, 时针跑了N度就乘上N

hrad = (314 / 180) hdeg '500是时针的长度,以圆心(line3的x1,y1)为准,计算出在这个弧度时line3x2在什么位置

Line3X2 = (500 Sin(hrad)) + Line3X1 '500是时针的长度,以圆心(line3的x1,y1)为准,计算出在这个弧度时line3y2在什么位置

Line3Y2 = Line3Y1 - (500 Cos(hrad))

End Sub

使用Timer 函数来实现。

Timer 函数,返回一个 Single,代表从午夜开始到现在经过的秒数。

Microsoft Windows中,Timer函数返回一秒的小数部分。

不错,windows自带的计划任务完全能满足你的要求了,如果你确实想自己设计的话:

两个文本框text1,text2,

text1填时间,text2填运行程序的路径+运行程序文件名

一个按钮command1,确认

一个时间控件timer1,Interval设为60000,精确程度接近1分钟

在Private Sub Timer1_Timer()里面添加代码,判断当前时间(用time函数取得当前时间)是否到了你设定的时间,到了就shell text2text没到就不理会,程序开始时在form_load()时可以设置timer1enabled=false,在command1_click()里面设置timer1enabled=true,这样在设置好text1和text2的内容后,点击command1按钮程序就开始运行了。详细代码自己写哈。说得够清楚了我觉得。最好加上容错处理代码

加入一个label,加入一个timer,timer的interval属性设置1000,然后加代码:

Private Sub Timer1_Timer()

Label1Caption = Now

End Sub

以上就是关于VB程序设计怎么做数字时钟全部的内容,包括:VB程序设计怎么做数字时钟、我设计了一个简易的VB倒计时程序,但运行时发现时间不对,请问原因何在、vb有哪些编程技巧等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/zz/10208207.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存