Delphi的一个程序怎么才能设置执行多长时间? 5
Delphi7,几个字一闪一闪的程序,运行之后就停不下来了,怎么才能设置运行多长时间?例如就只让闪10次?程序如下:unitUnit1;interfaceusesWind...
Delphi7,几个字一闪一闪的程序,运行之后就停不下来了,怎么才能设置运行多长时间?例如就只让闪10次?
程序如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
i:integer;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
i:=(i+1) mod 9;
with Label1 do
begin
case i of
0:Caption:='';
1:Caption:='D';
2:Caption:='De';
3:Caption:='Del';
4:Caption:='Delp';
5:Caption:='Delph';
6:Caption:='Delphi';
7:Caption:='Delphi ';
8:Caption:='Delphi 7';
end;
end;
end;
end. 展开
程序如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
i:integer;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
i:=(i+1) mod 9;
with Label1 do
begin
case i of
0:Caption:='';
1:Caption:='D';
2:Caption:='De';
3:Caption:='Del';
4:Caption:='Delp';
5:Caption:='Delph';
6:Caption:='Delphi';
7:Caption:='Delphi ';
8:Caption:='Delphi 7';
end;
end;
end;
end. 展开
5个回答
展开全部
最简单的方法:新建一个 Timer
procedure TForm1.FormCreate(Sender: TObject);
begin
timer2.interval:= 5000; // Timer2的执行时间为5000毫秒
end;
procedure TForm1.Timer2Timer(Sender: TObject);
begin
timer1.interval:= 0; // 停止timer1并停止自身。
timer2.interval:= 0;
end;
5000毫秒你自己估计一下时间。
procedure TForm1.FormCreate(Sender: TObject);
begin
timer2.interval:= 5000; // Timer2的执行时间为5000毫秒
end;
procedure TForm1.Timer2Timer(Sender: TObject);
begin
timer1.interval:= 0; // 停止timer1并停止自身。
timer2.interval:= 0;
end;
5000毫秒你自己估计一下时间。
展开全部
该问题你是不是提过?首先,你定义的变量应该定义成全局变量;
每执行一次Inc(i);
判断当i等于10时退出程序;
每执行一次Inc(i);
判断当i等于10时退出程序;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
Label1: TLabel;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
var
i:integer; // 设置全局变量
procedure TForm1.FormCreate(Sender: TObject);
begin
I:=0; // 把I值设置为0
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
I := I + 1 mod 9 ;
with Label1 do
begin
case I of
0:Caption:='';
1:Caption:='D';
2:Caption:='De';
3:Caption:='Del';
4:Caption:='Delp';
5:Caption:='Delph';
6:Caption:='Delphi';
7:Caption:='Delphi ';
8:Caption:='Delphi 7';
end;
end;
end;
end.
以上是修改你的程序
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
Label1: TLabel;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
var
i:integer; // 设置全局变量
procedure TForm1.FormCreate(Sender: TObject);
begin
I:=0; // 把I值设置为0
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
I := I + 1 mod 9 ;
with Label1 do
begin
case I of
0:Caption:='';
1:Caption:='D';
2:Caption:='De';
3:Caption:='Del';
4:Caption:='Delp';
5:Caption:='Delph';
6:Caption:='Delphi';
7:Caption:='Delphi ';
8:Caption:='Delphi 7';
end;
end;
end;
end.
以上是修改你的程序
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-02-01
展开全部
第十次时设置Timer1.Enable = False;就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对,楼上说的对。加入一个全局变量进行计数。
inc(runtimes)
ontimer事件中,加入if runtimes>10 then self.enabled:=false;
停止计时器动作。
inc(runtimes)
ontimer事件中,加入if runtimes>10 then self.enabled:=false;
停止计时器动作。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询