送分100分:如何定时运行程序中的某个模块
现用VB6开发一个程序,这个程序全天运行,请问,如何让这个程序的某个模块定时运行,比方说 程序自动判断到了凌晨 4:30:30,自动运行那个模块。请列个详细的原代码。 详细的没有 思路有
计划任务里 添加 就行了 或者程序一直运行 每秒刷新一次 直到这个时间 现在的难点是如何判断时间:
比如 IF NOW = "4:30:30" THEN
我主要是想问一下这个判断语句如何写。
Private Sub Command1_Click()你应该弄个定时器,再在定时器里不断地判断......... 用这个 ScriptControl 控件更好实现一点~~,甚至可以用脚本动态加载代码也可以啊 timer控件一秒钟一循环,然后内部写上判断代码,调用模块 时间不需要精确到秒,4:30:01--4:30:59之间,仅运行一次即可。可以用format转换当前时间为指定格式,判断字符串是否相等。这样做的好处是不会因为那一刻(4:30:30)系统忙或其它原因错过了执行 一秒的定时器去判断。
If Time >= #8:30:30 PM# Then
Me.Caption = "该干活了"
Else
Me.Caption = "没到时候"
End If
End Sub
+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楼 正解 mTime = Format(Now(), "hh:mm")
If mTime = "08:00" Then
Call 执行你的模块
End If
我觉得还有个问题,万一那一秒系统被其他程序卡假死了呢?
所以,我觉得除了指定时间运行外,还应该增加一个判断该代码是否在当天被执行过的功能 创建一个进程在程序里,到时间触发 过客一个,学习一次
补充:VB , 网络编程