标题:为何用变量代替label无效?
取消只看楼主
jzry
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-8-3
 问题点数:0 回复次数:2 
为何用变量代替label无效?

想更新label1-label400的caption为空,循环程序如下:

var i:integer;
w1,w2,w3:string;
begin
for i:=1 to 400 do
begin
w1:='label';
w2:=inttostr(i);
w2:=w1+w2;
w3:='.caption';
w3:='';
end;
end;

结果label的caption仍为原值,如何循环清空?请指教!

搜索更多相关主题的帖子: label 变量 caption begin 代替 
2005-11-26 10:39
jzry
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-8-3
得分:0 

谢谢这位仁兄的回答!
下面是更正过的程序,可这样为什么也不行?delphi真的做不到吗?
var i:integer;
w1,w2,w3:string;
begin
for i:=1 to 400 do
begin
w1:='label';
w2:=inttostr(i);
w2:=w1+w2;
w3:='.caption';
w3:=w2+w3'';//w3为labeli.caption
w3:='';
end;
end;

2005-11-26 16:06
jzry
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-8-3
得分:0 

非常感谢5楼的朋友的回答,真的解决了!真的好高兴!实实在在兴奋了一阵子~~~

但有一个限制条件,下面程序有效:
var
i:integer;
begin
ADOTable1.TableName:='ybbb';
ADOTable1.Active:=true;

for i:=1 to 34 do
begin
tlabel(FindComponent('label'+inttostr(i))).Text :='';
end;

with adotable1 do
begin

//其它命令行

end;

end;


下面程序无效:

var
i:integer;
begin
ADOTable1.TableName:='ybbb';
ADOTable1.Active:=true;

with adotable1 do
begin

for i:=1 to 34 do
begin
tlabel(FindComponent('label'+inttostr(i))).Text :='';
end;

end;

end;


即 放在 with adotable1 do begin end; 语句中间无效!之外有效!烦请再解决!真心感谢!

2005-11-28 07:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-35206-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.230304 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved