另一个小问题(50分)

  • 主题发起人 主题发起人 sleep
  • 开始时间 开始时间
S

sleep

Unregistered / Unconfirmed
GUEST, unregistred user!
我现有60个Edit,分别为 Edit1......Edit60, 现欲使
Edit1->Edit36显示如下结果,请问怎样简单一些?
Edit1.Text:= 1*1;
Edit2.Text:=2*2
Edit3.Text:=3*3........
请问怎样搞定?
 
补充一点,这些Edit控件是已经存在的,不是动态创建的,
因为各自还要进行其它操作。
 
呵呵,偶最近也遇到这个问题,不过偶的控件是动态创建的,一个循环就搞掂了.
非动态的,呵呵,我跟!!!
 
不过动态创建的也一样用啊!定好位置就是了.
 
每个控件都有 tag 属性。
edit1 的tag设为 1
edit2 的tag设为 2


等等。
i,j:integer;
for i=1 to 70do

begin

if compenent is tedit then
j;=tedit(compenent)。tag;
tedit(compent)。text:=inttostr(j*j);
end;
我没编译过仅供参考。
 
我的理解是:你比较怕麻烦:-);
我所用的方法是:
var
Edit :TEdit;
i :Integer;
begin
for i:=1 to 36do
begin
Edit :=Form1.FindComponent('Edit'+IntToStr(i))
if Edit <> nil then
Edit.Text :=IntToStr(i) + '*'+ IntToStr(i);
end;
end;
这一段程序你可以放在你的处理程序中,当然着必须要求所有的Editx的名称前缀
必须是‘Edit';
够简单吧!:-)
 
接受答案了.
 
后退
顶部