2

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

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

如果我在 24 小时后运行此事件,我担心它可能会超过上午 9 点并且不会触发。

4

3 回答 3

8

除非您有其他正当理由,否则要容易得多

  • 编写一个显示消息并退出的简单应用程序
  • 使用 Windows 的任务调度程序安排它运行

在此处输入图像描述

于 2013-01-23T05:38:05.620 回答
1

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

于 2013-01-23T13:28:44.450 回答
1

正如我之前的回答者所说,有更好更简单的方法。假设您想以自己的方式在 Delphi 中执行此操作,那么是的,您需要一个计时器。所需的步骤是:

  1. 把计时器放在你的表格上;
  2. 将“间隔”属性设置为 1000(一秒)或更小。为了获得更高的精度,您可以将间隔属性设置为 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;
    

希望能帮助到你。

于 2013-01-31T12:22:10.153 回答