P pandababy Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-06 #3 你的过程是存储过程吗 设置计划任务呀,想哪个时间都行
Y yanyandt2 Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-06 #4 楼主正在制作一个病毒,每天下午6:00运行, 大家小心了 -_-!!
C csz Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-06 #6 该程序如果是常驻内存也就是一直运行的话,做个检测系统时间的控制函数好了 如果不是,那就像finalrinoa说的,用计划任务
T thx1180 Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-07 #7 procedure TForm1.Timer1Timer(Sender: TObject); begin if TimeToStr(Time) = '18:00:00' then begin //DoSomething; end; end;
procedure TForm1.Timer1Timer(Sender: TObject); begin if TimeToStr(Time) = '18:00:00' then begin //DoSomething; end; end;
L LeeChange Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-07 #8 thx1180的方法值得商量,定时器的消息(wm_timer)优先级是很低的,如果在18点整的那一秒钟内,机器负担比较重,偏就没有触发OnTimer,那么这一天就不会运行了.
刀 刀剑如梦 Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-07 #10 常驻内存有点浪费资源!不知道定时杀毒程序的核心内容是啥?
L LEEMA Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-07 #12 在开机时取得系统时间,计算出当前时间与18:00:00的差距为X秒,放置一个Timer1,它的Interval=X*1000,在Timer1Timer时写要执行的过程。 procedure TForm1.Timer1Timer(Sender: TObject); begin Timer1.interval := 0 ; //Do you procedure ; end;
在开机时取得系统时间,计算出当前时间与18:00:00的差距为X秒,放置一个Timer1,它的Interval=X*1000,在Timer1Timer时写要执行的过程。 procedure TForm1.Timer1Timer(Sender: TObject); begin Timer1.interval := 0 ; //Do you procedure ; end;
L LEEMA Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-07 #13 稍更正一下,是在软件刚运行时取系统时间,不是开机时。
啊 啊啊啊啊啊 Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-07 #14 如果在18点整的那一秒钟内,机器负担比较重,偏就没有触发OnTimer,那么这一天就不会运行了. 这可能吗?死机了?
L LEEMA Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-07 #15 Timer在软件刚运行时给它赋值的时候,即Timer1.Interval:=X*1000时,就已被触发,经过Interval指定的毫秒后,运行所指定的过程,所以不会出现不触发的情况。
A along1976 Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-17 #16 to:lf43 把你的问题具体点吧,是程序自己调用特定过程呢,还是需要其他程序(象计划任务)激活这个程序呢~~~~~~~~ 不过上面的回答应该可以解决这些问题了~~~~~~~~~~[]
没 没脾气2x Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-19 #18 有一个值用来记录下一次运行的时间,计时器判断,如果超过这个时间便运行操作。 运行后计算下一次的时间。 如果防止一启动就执行。可以在每次 OnTimter 时,记录时间,下一次 OnTimer 时判断与上一次时间正好跳过预定定单,便执行操作。 (应该还有一个,运行时间段,比如如何超过十分钟就下一次再执行什么的)
有一个值用来记录下一次运行的时间,计时器判断,如果超过这个时间便运行操作。 运行后计算下一次的时间。 如果防止一启动就执行。可以在每次 OnTimter 时,记录时间,下一次 OnTimer 时判断与上一次时间正好跳过预定定单,便执行操作。 (应该还有一个,运行时间段,比如如何超过十分钟就下一次再执行什么的)
S smj_9547 Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-19 #19 可以呀!用时间>每天的 18:00:00,然后将时间加一为明天的做的时间了!