我定义了许多richedit,想用循环给他们赋值?(30分)

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

Serena

Unregistered / Unconfirmed
GUEST, unregistred user!
有十几个richedit,如richedit1,richedit2,...
要对他们的部分属性赋值,如richedit1.left:=....,
richedit2.left:=...想用循环FOR,
for i:=1 to 15do
begin
richedit????
end;
请教怎样使得每次的i与对应的richedit?
 
你应该使用Sender:object这个参数。
 
shopman,我不明白,我不用调用过程,就想
在一个循环中完成
 
uses comctrls;
(unit)

var richeditayyry:array[1..15]of trickedit;
begin
richeditayyay[1]:=richedit1;
richeditayyay[2]:=richedit2;
.........
...........
richeditayyay[14]:=richedit14;
richeditayyay[15]:=richedit15;
end;

var i:integer;
begin
for i:=1 to 15do
with richeditayyaydo
begin
left:=..;
top:=..;
end;

end;
 
你想要的是宏替换,Delphi不是解释性语言所以她不支持宏替换。
 
for i := 0 to ComponentCount - 1do
begin
if Components is TRichEdit then
//或者
//sName = Components.Name;
//if Copy(sName,1,8) = 'RichEdit' then
begin
(Components as TRichEdit).Lines.Assign(......);
end;
end;
 
不用这么麻烦
for i:=1 to 15do
(findcomponent('richedit'+inttostr(i)) as TRichEdit).color:=...
 
cAKK,thank you.
 
后退
顶部