这是怎么回事?请看看(0分)

  • 主题发起人 主题发起人 gyzhen
  • 开始时间 开始时间
G

gyzhen

Unregistered / Unconfirmed
GUEST, unregistred user!
我想使程序在生成界面10秒后显示一条信息,但用下面的代码为什么不行?请高手指点,谢谢!

unit Unit1;

interface

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

type
TForm1 = class(TForm)
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
st:tdatetime;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
st:=now;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if now=incsecond(st,10) then
showmessage('ok');
end;

end.
 
没人知道吗?
 
楼主?启动10秒显示点东西不用那么费事把?

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Enabled:=False;
ShowMessage('ok');

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Interval:=1000;
Timer1.Enabled:=True;
end;

你也可以在程序运行时动态创建Timer控件,然后执行完释放掉...节省资源..
 
tdatetime师浮点数,每次timer中断时除非特别巧,否则你的条件写法永远不可能为真
用楼上二位的方法吧
 
后退
顶部