我想用delphi编一个设置某一时间点,等系统时间到达这个时间点就触发某一程序自动运行,请问将如何实现,最好能给出代码,小弟将不胜感激!!谢谢!!!

解决方案 »

  1.   

    用控件Timer1,然后定一个时间,比如你要1秒运行一次,就在属性interval设置为1000(单位为毫秒),然后在Timer1的onTimer事件中写运行一个程序的代码。
    运行程序的代码可以用函数,shellexecute
      

  2.   

    我在Timer1的onTimer事件中用了一个if来判断设置的时间是否和系统时间相等,可是就是不行.判断不了.请你该如何办?
      

  3.   

    这个主要是系统的时间带有毫秒的,所以要转化一下,比如转化成不带毫秒的字符串比较var
        dDoReadTime: TTime;    if TimeToStr(dDoReadTime)=TimeToStr(Time()) then
      

  4.   

    字符串转化我也试了,我上面放了一个Timer1组件,一个DateTimePicker1组件,在DateTimePicker1中于设置时间,在Timer1里用于判断设置的时间和系统时间是否相等,我是转化是字符串来判断的,可是不行,就是不能判断相等.你看该如何,谢谢!!
      

  5.   

    procedure TForm1.Timer1Timer(Sender: TObject);
    var
      ss:string;
    begin
    ss:='20:20:20';
    if comparestr(timetostr(now),ss)=0 then
      label1.Caption:='1'
    else
      label1.Caption:='2';
    end;
      

  6.   

    以下代码是我项目中的,在指定的时间读取一些文件,测试过是可行的。
    不妨把Timer属性interval设置为500procedure TFAutoStat.Timer1Timer(Sender: TObject);
    begin
      StatusBar1.Panels.Items[0].Text:=DateToStr(Date())+' '+TimeToStr(Time());
      if (bDoRead=false) and (dDoReadTime<>0) then
      begin
        if TimeToStr(dDoReadTime)=TimeToStr(Time()) then
        begin
          ActReadData.Execute();
          bDoRead:=true;
        end;
      end;
    end;