如何实现label+1=label1??? ( 积分: 0 )

  • 主题发起人 主题发起人 ronaldowyl
  • 开始时间 开始时间
R

ronaldowyl

Unregistered / Unconfirmed
GUEST, unregistred user!
大家知道delphi中控件的name一般都是label1等等之类的,如果我定义一个变量i:integer,那么如何在代码当中实现labeli的操作呢?这种东西在循环语句当中很管用。
 
大家知道delphi中控件的name一般都是label1等等之类的,如果我定义一个变量i:integer,那么如何在代码当中实现labeli的操作呢?这种东西在循环语句当中很管用。
 
如果你想给你form上许多个label赋值,一般这样做:
for i := 0 to self.ComponentCount - 1 do
begin
if self.Components is Tlabel then
Tlabel(self.Components).caption:='hello';
end;

哇,你还有400多分,给点吧?!^_^
 
这样可以实现对所有的Label1....Labeln 赋值
for i:=1 to n do
TLabel(FindComPonent('Label'+inttostr(i))):='aaaaa';
 
for i := 0 to self.ComponentCount - 1 do
begin
if self.Components is Tlabel then
(Components as Tlabel).caption:='hello';//感觉这样写更安全一点。
end;
 
var
c: TComponent;
beign
for i := 0 to ComponentCount - 1 do
begin
c := FindComPonent('Label' + IntToStr(i));
if (c<>nil) and (c is TLabel) then TLabel(c).Caption:='hello';
end;
end;
 
被samy_ywj强快了!应该是用FindComponent来做的!
 
兄弟们太让我感动了,我一边哽咽着,一边祈祷:阿拉真主,我的兄弟都是好兄弟,如果他们需要什么,就都给他们吧!
 
还有,假如我的按键事件代码和label不是在同一个窗体当中呢?
 
楼上:
在另外一个窗体中定义一个过程,参数和你的按键事件的参数一样
比如
Label.OnDblClick:= Unit1.DoubleClick;
另外一个单元:
Unit Unit;
Inteface
uses
Windows,.....;
Type
.....
procedure DoubleCLick(Sender:Tobject);
begin
//这里写你的代码
end;
 
后退
顶部