如何使timer事件的循环的时间为三分钟?

湫龙 2010-04-21 06:03:03
请高手支招.急求!如何使timer事件的循环的时间为三分钟?
...全文
137 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhzxymd2010 2010-08-22
  • 打赏
  • 举报
回复
多看贴是种好习惯
dl20070302 2010-04-29
  • 打赏
  • 举报
回复
interval 设为1000 '时间间隔是1秒
static i as long
i=i+1
if i>180 then
i=0
end if

每一秒i+1等i>180时就是3分钟了三.
lxq19851204 2010-04-29
  • 打赏
  • 举报
回复
经过。。。。。。。。。。。
嗷嗷叫的老马 2010-04-29
  • 打赏
  • 举报
回复
路过........
熊孩子开学喽 2010-04-22
  • 打赏
  • 举报
回复
3分钟就是180秒
dim T as long
sub form_load()
timer.interval=10000 '计时器10秒钟出发一次
end sub

Private Sub Timer1_Timer()
T=T+1
if T=18 then '触发满18次就是三分钟
'这里写你3分钟执行一次的代码
T=0 '从头来过
end if
End Sub

简单不,再长的时间也这么解决
bcrun 2010-04-22
  • 打赏
  • 举报
回复
考虑到timer本身优先级不高,容易受系统繁忙而延时,如希望定时准确点的话,建议用5楼说的这种方法,将interval设短一点,而总间隔时间则用GetTickCount计算。如果还不够准确的话,则要用timeSetEvent等了:)
湫龙 2010-04-21
  • 打赏
  • 举报
回复
谢谢了
chinaboyzyq 2010-04-21
  • 打赏
  • 举报
回复

Dim dtNextTime as Date

Private Sub Form_load()
Timer1.interval=500
 Timer1.Enabled=True
 dtNextTime=DateAdd("n",3,Now)'3分钟执行一次任务
End Sub

Private Sub Timer1_Timer()
 if Now>=dtNextTime Then
  Timer1.Enabled=False
  
  '在此加入你的代码

  dtNextTime=DateAdd("n",3,Now)
  Timer1.Enabled=True
 End if
End Sub


of123 2010-04-21
  • 打赏
  • 举报
回复
最长 47 天的 Timer:

'模块中代码
Dim lTimerId As Long
Private Declare Function SetTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long

Private Declare Function KillTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long) As Long

Private Sub TimerProc(ByVal lHwnd As Long, ByVal lMsg As Long, ByVal lTimerId As Long, ByVal lTime As Long)

Dim lResult As Long
lResult = StopTimer(lTimerId)
Call InsertYourProcessNameHere
'code to be executed after interval
End Sub

Public Sub StartTimer(lInterval As Long) 'convert interval to milliseconds prior to passing
lTimerId = SetTimer(0, 0, lInterval, AddressOf TimerProc)
End Sub

Public Function StopTimer(lTimerId As Long) As Long
'must pass the TimerId returned by SetTimer
StopTimer = KillTimer(0, lTimerId)
End Function

'调用方式
Call StartTimer(3*60*1000) '3 minutes
clear_zero 2010-04-21
  • 打赏
  • 举报
回复
1。timer.interval=60000 '一分钟

2。 dim i as integer
Private Sub tmr_Timer()
if i=2 then
'-- Do your things
i=0
end if
i=i+1
End Sub

1,452

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧