当前位置:编程学习 > VB >>

送分100分:如何定时运行程序中的某个模块

现用VB6开发一个程序,这个程序全天运行,请问,如何让这个程序的某个模块定时运行,比方说 程序自动判断到了凌晨 4:30:30,自动运行那个模块。

请列个详细的原代码。 详细的没有  思路有 
计划任务里 添加 就行了   或者程序一直运行  每秒刷新一次 直到这个时间 现在的难点是如何判断时间:

   比如 IF  NOW = "4:30:30"   THEN 

  我主要是想问一下这个判断语句如何写。
Private Sub Command1_Click()
    If Time >= #8:30:30 PM# Then
        Me.Caption = "该干活了"
    Else
        Me.Caption = "没到时候"
    End If
End Sub
你应该弄个定时器,再在定时器里不断地判断......... 用这个 ScriptControl 控件更好实现一点~~,甚至可以用脚本动态加载代码也可以啊 timer控件一秒钟一循环,然后内部写上判断代码,调用模块 时间不需要精确到秒,4:30:01--4:30:59之间,仅运行一次即可。可以用format转换当前时间为指定格式,判断字符串是否相等。这样做的好处是不会因为那一刻(4:30:30)系统忙或其它原因错过了执行 一秒的定时器去判断。
引用 8 楼 chinaboyzyq 的回复:
一秒的定时器去判断。

+1 do until true
if hour(time)=xx and second(time)=xx then 
dosomething...
endif
doevents
sleep 10000
loop 用Timer控件吧,应该是最简单的方法了,根据你要求的精确定,设定定时器周期是1秒或更长些,每个周期判断系统时钟。

if DateDiff("s", "4:30:30",Time)>=0 then '时钟与预定时间间隔秒数
'执行
end if 用TIMER,INTERVEL=29000
引用 11 楼 wangxuejun 的回复:
用Timer控件吧,应该是最简单的方法了,根据你要求的精确定,设定定时器周期是1秒或更长些,每个周期判断系统时钟。

if DateDiff("s", "4:30:30",Time)>=0 then '时钟与预定时间间隔秒数
'执行
end if

正解 11楼 正解   mTime = Format(Now(), "hh:mm")
   If mTime = "08:00" Then
     Call 执行你的模块
   End If
我觉得还有个问题,万一那一秒系统被其他程序卡假死了呢?
所以,我觉得除了指定时间运行外,还应该增加一个判断该代码是否在当天被执行过的功能 创建一个进程在程序里,到时间触发 过客一个,学习一次
补充:VB ,  网络编程
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,