vb中秒表的准确讲解
5个回答
展开全部
Timer 控件
通过引发 Timer 事件,Timer 控件可以有规律地隔一段时间执行一次代码。
Timer 事件
在一个 Timer 控件的预定的时间间隔过去之后发生。该间隔的频率储存于该控件的 Interval 属性中,它以千分之一秒为单位指定时间的长度。语法:Private Sub object_Timer([index As Integer])
Timer 事件语法包括下列部分:
部分 描述
object 一个对象表达式,其值是“应用于”列表中的一个对象。
index 一个整数,用来唯一地标识一个在控件数组中的控件。
说明
使用 Timer 事件时,可用此事件在每次 Timer 控件时间间隔过去之后通知 Visual Basic 应该做什么:
Interval 属性以千分之一秒为单位指定 Timer 事件之间的间隔。
无论何时,只要 Timer 控件的 Enabled 属性被设置为 True 而且 Interval 属性大于 0,则 Timer 事件以 Interval 属性指定的时间间隔发生。
通过引发 Timer 事件,Timer 控件可以有规律地隔一段时间执行一次代码。
Timer 事件
在一个 Timer 控件的预定的时间间隔过去之后发生。该间隔的频率储存于该控件的 Interval 属性中,它以千分之一秒为单位指定时间的长度。语法:Private Sub object_Timer([index As Integer])
Timer 事件语法包括下列部分:
部分 描述
object 一个对象表达式,其值是“应用于”列表中的一个对象。
index 一个整数,用来唯一地标识一个在控件数组中的控件。
说明
使用 Timer 事件时,可用此事件在每次 Timer 控件时间间隔过去之后通知 Visual Basic 应该做什么:
Interval 属性以千分之一秒为单位指定 Timer 事件之间的间隔。
无论何时,只要 Timer 控件的 Enabled 属性被设置为 True 而且 Interval 属性大于 0,则 Timer 事件以 Interval 属性指定的时间间隔发生。
展开全部
采用一个API函数来实现秒表功能
Private Declare Sub GetLocalTime Lib "kernel32" (lpSystemTime As SYSTEMTIME)
Private Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type
Dim t1 As SYSTEMTIME
Dim t2 As SYSTEMTIME
Dim h As Integer
Dim m As Integer
Dim s As Integer
Dim ms As Integer
Function timesave() As String
'程序的主要部分,自定义过程用于记录时间间隔
GetLocalTime t2
h = t2.wHour - t1.wHour
m = t2.wMinute - t1.wMinute
s = t2.wSecond - t1.wSecond
ms = t2.wMilliseconds - t1.wMilliseconds
If ms < 0 Then ms = ms + 1000: s = s - 1
If s < 0 Then s = s + 60: m = m - 1
If m < 0 Then m = m + 60: h = h - 1
timesave = "时间" & h & "小时" & m & "分钟" & s & "秒" & ms & "毫秒"
End Function
Private Sub Command1_Click()
GetLocalTime t1
Timer1.Enabled = True
End Sub
Private Sub Command2_Click()
Timer1.Enabled = 0
Label1.Caption = timesave()
End Sub
Private Sub Form_Load()
Label1 = "计时"
Command1.Caption = "开始计时:"
Command2.Caption = "停止计时"
Timer1.Interval = 88
End Sub
Private Sub Timer1_Timer()
'控件作用为动态显示时间变化
Label1.Caption = timesave()
End Sub
Private Declare Sub GetLocalTime Lib "kernel32" (lpSystemTime As SYSTEMTIME)
Private Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type
Dim t1 As SYSTEMTIME
Dim t2 As SYSTEMTIME
Dim h As Integer
Dim m As Integer
Dim s As Integer
Dim ms As Integer
Function timesave() As String
'程序的主要部分,自定义过程用于记录时间间隔
GetLocalTime t2
h = t2.wHour - t1.wHour
m = t2.wMinute - t1.wMinute
s = t2.wSecond - t1.wSecond
ms = t2.wMilliseconds - t1.wMilliseconds
If ms < 0 Then ms = ms + 1000: s = s - 1
If s < 0 Then s = s + 60: m = m - 1
If m < 0 Then m = m + 60: h = h - 1
timesave = "时间" & h & "小时" & m & "分钟" & s & "秒" & ms & "毫秒"
End Function
Private Sub Command1_Click()
GetLocalTime t1
Timer1.Enabled = True
End Sub
Private Sub Command2_Click()
Timer1.Enabled = 0
Label1.Caption = timesave()
End Sub
Private Sub Form_Load()
Label1 = "计时"
Command1.Caption = "开始计时:"
Command2.Caption = "停止计时"
Timer1.Interval = 88
End Sub
Private Sub Timer1_Timer()
'控件作用为动态显示时间变化
Label1.Caption = timesave()
End Sub
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Interval属性指定运行 Timer1_Timer() 过程的间隔 值为毫秒 最大可以指定60000 即1分钟
如果拿来记时还是算了 这东西长时间运行 值不准确~!
如果是计时可以计算 timer 这个函数的返回值 该函数返回一个从午夜0时0分到现在所经过的秒数
如果拿来记时还是算了 这东西长时间运行 值不准确~!
如果是计时可以计算 timer 这个函数的返回值 该函数返回一个从午夜0时0分到现在所经过的秒数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
dim i as interge '通用
private sub timer_time()
i=i+1
text1.text=val(i) ‘将i的值显示再文本框中
text1.refresh ’文本框刷新显示
end sub
private sub timer_time()
i=i+1
text1.text=val(i) ‘将i的值显示再文本框中
text1.refresh ’文本框刷新显示
end sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询