哪位大哥教教我VB里怎么用定时器啊????????????

imwinner 2004-11-07 10:35:39
我编了个程序,现在用一个按钮控制,按一下按钮就执行一遍程序,但我现在要让他每隔15分钟自动运行一次,该怎么弄? 我看了一下VB的TIMER,其中断时间最长只能设置成65535毫秒,现在我该怎么办,是不是有别的API定时器可用,高手指教~~~
...全文
348 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
行云边 2004-11-10
  • 打赏
  • 举报
回复
//还有你的这个定时器里怎么没设置INTERVAL???
使用的我方法 INTERVAL 随便设置就可以了 ,最好是15的倍数的最大值 譬如 50000 (5分)

//运行程序的时候CPU占用率会不会一直很高

由于是在 timer 里运行 不是死循环, CPU占用率 忽略不记
CrazyHosptial 2004-11-10
  • 打赏
  • 举报
回复
Option Explicit
Dim txtm As Integer

Private Sub Command1_Click() '开始计时
Timer1.Enabled = True
Timer2.Enabled = True
Label1.Caption = 0
txtm = 0
End Sub

Private Sub Form_Load()

End Sub

Private Sub Timer1_Timer()
txtm = txtm + 1
If txtm = Trim(Text1.Text) Then
MsgBox "时间到!!"
Timer1.Enabled = False
Timer2.Enabled = False
End If
End Sub

Private Sub Timer2_Timer() '显示经过秒数
Label1.Caption = Label1.Caption + 1
End Sub


'Timer1的Interval 为 :60000
'timer2的Interval 为 : 1000

不就可以了?
不让超过65535 ..咱们每隔 1 分钟计数一次不就行了么..
如果达到你的要求15分钟的话是没有问题的..15分钟后或者更长时间后只要清零即可
imwinner 2004-11-09
  • 打赏
  • 举报
回复
还是没明白.. 就5秒调用一下Sample()这个过程,哪位能写个简单的定时器示例??
xjdcxm 2004-11-09
  • 打赏
  • 举报
回复
用TIME嵌套TIME多套几个直到满足你的要求,
用FOR NEXT
来做。
lyxhappy 2004-11-09
  • 打赏
  • 举报
回复
你可以将定时器设置为一秒刷新一次,然后在定时器事件里用一全局变量进行累加,然后根据判断该变量的数来实现你说的功能
imwinner 2004-11-09
  • 打赏
  • 举报
回复
baoaya(点头) 你好:
我是初学者,还不太懂定时器的概念. 你的程序是否是每时每刻都在判断Timer1.Tag和Now之间的大小?
那企不是很占CPU?? 运行程序的时候CPU占用率会不会一直很高???? 还有你的这个定时器里怎么没设置INTERVAL???
行云边 2004-11-09
  • 打赏
  • 举报
回复
Private Sub Timer1_Timer()
If Len(Timer1.Tag) = 0 Then Timer1.Tag = Now
If DateDiff("s", Timer1.Tag, Now) >= 15 Then '15分钟
MsgBox "时间到"
Timer1.Tag = Now
End If
End Sub
imwinner 2004-11-09
  • 打赏
  • 举报
回复
hdhai9451(※★開拓者...糊涂中☆※):
确实是SQL SERVER 2000的数据库. "應該考慮用作業完成" 请问是什么意思???
superbug1984 2004-11-08
  • 打赏
  • 举报
回复
我知道在API函数中有一个是sleep函数,直接调用就可以了
具体的语法有点忘了,呵呵,不好意思~~
Andy__Huang 2004-11-07
  • 打赏
  • 举报
回复
你要運行的是什么程序﹐是不是數據庫的﹖

如果是sql server2000的數據庫﹐應該考慮用作業完成
to017 2004-11-07
  • 打赏
  • 举报
回复
就是要灵活运用,不能动不动就要API
WXMORC 2004-11-07
  • 打赏
  • 举报
回复
还要把TIMER1.INTERVAL设为10000
WXMORC 2004-11-07
  • 打赏
  • 举报
回复
你可以这样呀!
加入如下代码:
Dim n As Long

Private Sub Timer1_Timer()
n = n + 1
If n = 5400 Then
call 子程序
n = 0
End If
End Sub
我想等15分钟的,没等到.
你看看行不行
helanshan 2004-11-07
  • 打赏
  • 举报
回复
搜索一下其它文档,有很多....

7,762

社区成员

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

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