请问各位老大,1。我想在程序中实现这样的功能“在每天8点,10点,10点20,12点20,14点,16点,时自动激发一事件”该怎么样做?(50分)

  • 主题发起人 主题发起人 geyufly
  • 开始时间 开始时间
G

geyufly

Unregistered / Unconfirmed
GUEST, unregistred user!
请问各位老大,1。我想在程序中实现这样的功能“在每天8点,10点,10点20,12点20,14点,16点,时自动激发一事件”该怎么样做?
2。当用ADOCONNECTION连接远端数据库时,如果数据库服务器未启动,怎么样才能捕捉到返回的错误后激发相应的处理程序?谢谢,我是
新手请多关照!!
 
可以使用定时器实现。
 
1. 用一个timer. 到了那个时候就激活。
 
1在定时器中对当前时间做判断
2用try
except
on error do
end;
 
用TIMEER会不会影响效率
 
用timer应该不会影响效率吧?
你需要达到多少的精确度呀?
把timer的定时设成60000,6000,或者1000?
 
Time组件好象在时间设置过长时就不会激发事件,我把程序写成server就
碰到这种情况,还没有解决,
 
用TIMER的话我就要随时检查当前时间是否和我需要的相符合,那样的话不就是它的平率很高吗?会不会降低效率???
 
1、设置一个Interrupts为TStrings,初始值如下:
0800
1000
1020
1220
1400
1600
在定时器的OnTimer事件中写如下代码:
if Interrupts.IndexOf(FormatDataTime('hhmm',Now)) <> -1 then
触发事件;

2、Connected := false;
while not Connected do
begin
try
ADOConnection1.Open;
Connected := true;
except
ADOConnection1.Close;
end;
 
用Timer,按你的说法,不用把定时设得太精确,设为60000即一分钟。每一分钟检查一次
,当系统时间为你想要的时间时,执行要做的事。最好做成托盘图标的形式。
 
请问HDZJ2000具体程序该怎么写?Interrupts我没用过,那还是得用TIMER,我担心的是效率,因为在这程序中还有许多数据库的操作
 
效率应该不是很差的,可以想像,每一分钟检测一次,在检测的过程中只执行一条语句(当然是没有到执行事件的时间了),
所占的CPU,内存资源很少!放心吧!
 
delphic我是要执行远程数据库的操作要是激发该事件时又有别的在对数据库进行操作怎么办?
 
Interrupts是一个TString类型的变量.
另外你可以构造一个事件记录器.当激发该事件时又有别的在对数据库进行操作时将该事件记入
事件记录器,在下一次Timer事件触发中继续处理它,处理成功后将该事件从记录器中删除.
事件记录器可以用一个TStrings类型的变量实现.
 
to:hdzj2000你能具体讲一下吗 ?
 
用TIMER不合适。
请问geyufly,你在做什么程序?是一个只在这些钟点工作还是还有其他动作??[?]
 
小弟认为在Application_OnIdle事件中触发事件可能更好!
 
还没搞掂?
 
一个意见仅公参考!
把你的程序正常作完不考虑时间激发!
然后在计划任务里添加事件激发你的程序
不知道可不可仪!
 
后退
顶部