VB 关于timer控件的问题(时间不对)
设置了interval为10时,1min能差21s设置了interval为100时,1min能差5s设置了interval为1000时,1min内根本看不出差别设置了in...
设置了interval为10时,1min能差21s
设置了interval为100时,1min能差5s
设置了interval为1000时,1min内根本看不出差别
设置了interval为10时,
timer1_timer()中
秒小数点后 timec +1 (timec满100,向秒位进一)
秒位 timeb (timeb满60,向分位进一)
代码应该没问题吧?
是不是因为执行代码的原因?代码也不多啊?
3楼的API函数弄懂了,但我想要的是,得出两次按按钮之间的间隔
我的解决方法是:设置了interval为100
timer1_timer()中
秒小数点后 timec +11 (timec满100,向秒位进一) 展开
设置了interval为100时,1min能差5s
设置了interval为1000时,1min内根本看不出差别
设置了interval为10时,
timer1_timer()中
秒小数点后 timec +1 (timec满100,向秒位进一)
秒位 timeb (timeb满60,向分位进一)
代码应该没问题吧?
是不是因为执行代码的原因?代码也不多啊?
3楼的API函数弄懂了,但我想要的是,得出两次按按钮之间的间隔
我的解决方法是:设置了interval为100
timer1_timer()中
秒小数点后 timec +11 (timec满100,向秒位进一) 展开
3个回答
展开全部
没问题的。timer控件记时不精确,特别是interval很小的时候。可以考虑用win api里面的函数来记时,如果有需要的话可以直接上网下一个改进的控件。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
interval是以毫秒为单位的,设置成1000才上1秒钟.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用 Timer 控件
Timer 控件响应时间的流逝。它们独立于用户,编程后可用来在一定的时间间隔执行操作。此控件的一个一般用处是检查系统时钟,判断是否该执行某项任务。对于其它后台处理, Timer 控件也非常有用。
如果应用程序或其它应用程序正在进行对系统要求很高的操作— 例如长循环、高强度的计算或者正在访问驱动器、网络或端口— 则应用程序定时器事件的间隔可能比 Interval 属性指定的间隔长。
间隔的取值可在 0 到 64,767 之间(包括这两个数值),这意味着即使是最长的间隔也不比一分钟长多少(大约 64.8 秒)。
间隔并不一定十分准确。要保证间隔准确,应在需要时才让定时器检查系统时钟,而不在内部追踪积聚的时间。
系统每秒生成 18 个时钟信号— 所以即使用毫秒衡量 Interval 属性,间隔实际的精确度不会超过 18 分之一秒。
使用API函数精度在毫秒级:
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Command1_Click()
Label1.Caption = Time$
Sleep (6000) '精度在毫秒
Text1 = "123"
Label2.Caption = Time$
End Sub
Timer 控件响应时间的流逝。它们独立于用户,编程后可用来在一定的时间间隔执行操作。此控件的一个一般用处是检查系统时钟,判断是否该执行某项任务。对于其它后台处理, Timer 控件也非常有用。
如果应用程序或其它应用程序正在进行对系统要求很高的操作— 例如长循环、高强度的计算或者正在访问驱动器、网络或端口— 则应用程序定时器事件的间隔可能比 Interval 属性指定的间隔长。
间隔的取值可在 0 到 64,767 之间(包括这两个数值),这意味着即使是最长的间隔也不比一分钟长多少(大约 64.8 秒)。
间隔并不一定十分准确。要保证间隔准确,应在需要时才让定时器检查系统时钟,而不在内部追踪积聚的时间。
系统每秒生成 18 个时钟信号— 所以即使用毫秒衡量 Interval 属性,间隔实际的精确度不会超过 18 分之一秒。
使用API函数精度在毫秒级:
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Command1_Click()
Label1.Caption = Time$
Sleep (6000) '精度在毫秒
Text1 = "123"
Label2.Caption = Time$
End Sub
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询