如何在Delphi XE2中处理OnTimer事件?

时间:2013-01-23 05:27:53

标签: delphi delphi-xe2 delphi-2010

我需要每天上午9点显示一条消息“嗨”。我需要Timer吗?我怎样才能检查是否是上午9点。 OnTimer事件运行的计时器间隔应该是多少?

procedure Form1.TimerTimer1(Sender: TObject);
begin
  ShowMessage("Hi");
end;

如果我在24小时后举办此活动,我担心它可能会在上午9点过去并且不会开火。

3 个答案:

答案 0 :(得分:8)

除非你有其他正当理由,否则

要容易得多
  • 编写一个显示消息并退出的简单应用程序
  • 使用Windows的任务计划程序安排它运行

enter image description here

答案 1 :(得分:1)

您可以使用类似CRON的Delphi解决方案:http://www.cromis.net/blog/downloads/cron-scheduler/

答案 2 :(得分:1)

正如我前面的回答者所说,有更好更容易的方法。假设您想按照Delphi的方式执行此操作,那么是的,您需要一个计时器。所需的步骤是:

  1. 将计时器放在表单上;
  2. 将“interval”属性设置为1000(一秒)或更短。为了获得更高的精度,可以将interval属性设置为1,程序将检查每个毫秒
  3. 编写OnTimer的处理程序:

    procedure Form1.TimerTimer1(Sender: TObject);
    var x:TDateTime
    begin
    x:=Now;
    if {the hour read is 9 and minute is 0} then
    ShowMessage("Hi");
    end;
    
  4. 希望它有所帮助。