回 帖 发 新 帖 刷新版面

主题:给位好心人 关于delay

请各位给我举个例子 关于 delay 函数的用法 好吗谢谢各位了
关于 做个延时的 的功能的 谢谢了

回复列表 (共4个回复)

沙发

下面是按下"按钮1"延时24秒后,关闭程序的方法:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure  delay(msecs:integer);   //msecs以毫秒为单位;
var   
FirstTickCount:longint;   
begin 
FirstTickCount:=GetTickCount;
repeat
Application.ProcessMessages;//此句关键,保证其它线程不受影响
until  ((longint(GetTickCount)-longint(FirstTickCount))>=longint(msecs));   
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
delay(24000);//延时24秒
Form1.Close;
end;

end.

板凳


谢谢你 呵呵真的感谢啊

3 楼


刚开始还好用 谢谢了 但是我改成10秒了 它就不好用了怎么回事啊 
然后 我改回来 也不行了 它没有反映啊 谢谢请指教啊 
谢谢了

4 楼

一切正常哦.
delay(10000);
Form1.Close;
是否你的进程里有两个Project1.exe

我来回复

您尚未登录,请登录后再回复。点此登录或注册