if flag=0 then
label2.visible:=true;
application.ProcessMessages;
label3.visible:=false;
application.ProcessMessages;
label4.visible:=false;
application.ProcessMessages;
label2.visible:=true;
application.ProcessMessages;
label3.visible:=false;
application.ProcessMessages;
label4.visible:=false;
application.ProcessMessages;
begin
Timer1.Interval := 1000;
case flag of
0 : begin
label2.visible:=true;
label3.visible := false;
label4.visible := false;
end;
1 : begin
label3.visible:=true;
label2.visible := false;
label4.visible := false;
end;
2 : begin
label4.visible:=true;
label3.visible := false;
label2.visible := false;
end;
Inc(flag); //flag加1
if flag > 3 then flag=0; //复位
end;
end;
Timer1.Interval := 1000;
if label3.Visible=true then
begin
label1.visible:=true;
label3.visible:=false;
end
else if label1.Visible=true then
begin
label2.visible:=true;
label1.Visible:=false;
end
else
begin
label3.Visible:=true;
label2.Visible:=false;
end;
begin
Label1.Visible := flag = 0;
Label2.Visible := flag = 1;
Label3.Visible := flag = 2;
inc(flag);
if (flag > 2) then flag := 0;
end;flag初始为零,timer的interval为1000
begin
case flag of
0:
begin
label2.visible:=true;
label3.visible:=false;
label4.visible:=false;
end;
1:
begin
//
end
2:
begin
//
end
flag:=(flag + 1) mod 4;end;flag初始为零,timer的interval为1000 。基本思路和楼上的仁兄一样。
label1.Visable:=not Label1.Visable!
label2.Visable:=not Label2.Visable!
label3.Visable:=not Label2.Visable!
然后初始化的时候注意一下就可以了。
label3.visible:=false;
label4.visible:=false
update;
[Error] Unit1.pas(89): Constant expression expected
是为什么?
ziyunpiao1(紫云飘):
你还不知道自己的代码错在哪里?
流水灯动态创建N个Label[0..(N-1)],设置其tag属性为0..(N-1),visible为False在Timer里执行for i:=0 to N-1 do
begin
if (Label[i].tag=0) then label[i].visible:=False;
if (Label[i].tag=1) then label[i].visible:=True;
Label[i].tag:= (Label[i].tag+1) mod N;
end;