如何在delphi中不时执行一个过程?

如何在delphi中不时执行一个过程?,delphi,Delphi,我想让我的程序 ShowMessage('Hello world!'); 每一分钟,我怎么做?您可以使用组件和OnTimer事件。包括一组关于如何使用此组件的示例项目。首先,我要用MessageDlg函数替换ShowMessage。 通过MessageDlg,您可以读取对话框窗口是否关闭,并阻止应用程序同时显示多个对话框 使用TTimer组件定期执行代码。将间隔设置为60'000毫秒将每分钟执行一次代码 procedure TForm1.FormCreate(Sender: TObject);

我想让我的程序

ShowMessage('Hello world!');

每一分钟,我怎么做?

您可以使用组件和OnTimer事件。包括一组关于如何使用此组件的示例项目。

首先,我要用MessageDlg函数替换ShowMessage。 通过MessageDlg,您可以读取对话框窗口是否关闭,并阻止应用程序同时显示多个对话框

使用TTimer组件定期执行代码。将间隔设置为60'000毫秒将每分钟执行一次代码

procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Interval:=60000;
end;
将MessageDlg代码添加到TTimer组件的onTimer事件处理程序。在显示对话框之前关闭TTimer执行,在对话框关闭后重新打开

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Enabled:=false;
if MessageDlg('test', mtConfirmation, [mbOK], 0)<>0 then
  Timer1.Enabled:=true;
end;

使用定时器vlc组件您需要使用定时器组件。查看此问题如果用户离开键盘去喝咖啡,那么当他们返回时,可能会有很多对话框需要清除。这与问题所问的有所不同。不管怎样,如果对话框窗口关闭,您可以读取的消息DLG是什么意思?我想这不是你举的例子,因为你可以用ShowMessage做同样的事情。此外,您还可以阅读Application.Modal。。。属性与ShowMessage一起使用,这更好-您不必禁用计时器。MessageDlg并不特殊。它就像任何其他模态对话框一样。我认为你的回答中有一部分是不清楚的。我对上面的评论进行了协调:如果用户离开键盘去喝咖啡,那么他们回来时可能会有很多对话框需要清除——大卫·赫弗南2014年4月21日22:34,这就是我选择MessageDlg而不是ShowMessage的原因。MessageDlg是一个返回模式窗口按钮按下值的函数。我可以让MessageDlg'test',mtConfirmation,[mbOK],0=mrOK,但如果MessageDlg中的按钮比[mbOK]多,则必须检查所有按钮是否被按下。0是按下任何按钮关闭消息DLG之前的值,相当于mrNone。