如下,本来我要它(label1)显示从0到9,10到19..100到109
结果只显示从100到109
我试过其他的循环次数,都是只在最后有效
为什么?
能够怎样实现我原来的需要?(即每次循环都让时钟有效,做一些操作,到一定程度后失效,进入下次循环)
谢谢
var
Form1: TForm1;
a,b:integer;
implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
for i:=1 to 10 do
begin
a:=10*i;
b:=10*i+10;
timer1.Enabled:=true;
end
end;procedure TForm1.Timer1Timer(Sender: TObject);
begin
if a<b then
begin
label1.Caption:=inttostr(a);
inc(a);
end
else
timer1.Enabled:=false;
end;/////////////////////////////////////////////
不过在之间加入一个showmessage()
就可以
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
for i:=1 to 10 do
begin
a:=10*i;
b:=10*i+10;
timer1.Enabled:=true;
showmessage('dfadfas');//加入这句就可以了,但是这是不允许出现在程序中的
end
end;
谢谢!!!!!!!!!!!!!!
结果只显示从100到109
我试过其他的循环次数,都是只在最后有效
为什么?
能够怎样实现我原来的需要?(即每次循环都让时钟有效,做一些操作,到一定程度后失效,进入下次循环)
谢谢
var
Form1: TForm1;
a,b:integer;
implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
for i:=1 to 10 do
begin
a:=10*i;
b:=10*i+10;
timer1.Enabled:=true;
end
end;procedure TForm1.Timer1Timer(Sender: TObject);
begin
if a<b then
begin
label1.Caption:=inttostr(a);
inc(a);
end
else
timer1.Enabled:=false;
end;/////////////////////////////////////////////
不过在之间加入一个showmessage()
就可以
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
for i:=1 to 10 do
begin
a:=10*i;
b:=10*i+10;
timer1.Enabled:=true;
showmessage('dfadfas');//加入这句就可以了,但是这是不允许出现在程序中的
end
end;
谢谢!!!!!!!!!!!!!!
begin
label1.Caption:=inttostr(a);
inc(a);
if a > 100 then
Timer1.Enabled := False;
end;
end;是要这个吗?
var
i:integer;
begin
for i:=1 to 10 do
begin
a:=10*i;
b:=10*i+10;
timer1.Enabled:=true;repeat application.ProcessMessages;
until timer1.Enabled=false;end
end;