你的思路是错的,监控程序是一直运行的,你只在开始运行中建立一次MYWEEK,MYTIME这样的肯定不会正常运行的。

Interval 设为60000 (一分钟检查一次就好)

在TIMER事件中,取出当前的时间NOW(),判定当前是不是周五,如果是,在判定时间和15:00:00差值是多少,如果在3分钟之内,就备份文件,然后再SLEEP 10分钟。

具体代码就不写了。

 

 

 

这种定法本身就有问题。很容易跳过那个时间段。解决办法:
1、在INI文件或注册表,或者是备份的文件名写上日期:如备份的文件(2011-12-03.txt);
2、Timer判断是否大于或等于15:30,如果是,则取当天的日期判断是否进行了备份。如果是则退出。如果不是就进行备份。并修改备份的日期。
3、如果程序自动运行不经过人工操作,这种办法有一个缺点。Timer个运行,一直判断。不过你可以这样。如果判断今天已经备份,把Timer的时间Interval设置为24小时或小一点。然后Timer在运行的时候设置短一点,如1秒钟。如此反复就可以实现了。

 

 

(mytime>='15:30:00') and(mytime<15:30:01)

Interval設為1000
应该没有问题.



要想更保险就在备份完成后,在数据库中写入备份完成的时间。

然后在备份前去查这个时间,如果今天已经做了,就不在做了。这样的话时间段可放大一点,以防系统忙而错过了这个时间。
(mytime>='15:30:00') and(mytime<15:30:10)
Interval設為5000