Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > как сразу присвоит каптион куче обектов?


Автор: FRAGNATIC 8.2.2005, 23:29
вообщем у мя на форме 52 эдита и каждый раз при запуске проги нужно текст из них просвоит свойству каптион TmenuItem ну вообщем тип токого
N1.Caption:=Edit1.text;
но вот на все 52 TmenuItem это писать как- то не оч я бы сказал удобно и новерное правильно)

Автор: Satana 8.2.2005, 23:43
Создай массив Эдитов и Nов smile и присвой в цикле свойства и делов то!!!

Автор: FRAGNATIC 9.2.2005, 00:05
ну я то так и сделал) но масив тож выходит не маленький) вот у меня ща так )
Код

procedure TForm1.SetCaptions;
var
 m: array[1..52] of TMenuItem;
 e: array[1..52] of string;
 i: integer;
begin
 e[1]:=Edit1.Text;   m[1]:=T1;
 e[2]:=Edit2.Text;   m[2]:=T2;
 e[3]:=Edit3.Text;   m[3]:=T3;
 e[4]:=Edit4.Text;   m[4]:=T4;

 e[5]:=Edit5.Text;   m[5]:=u1;
 e[6]:=Edit6.Text;   m[6]:=u2;
 e[7]:=Edit7.Text;   m[7]:=u3;
 e[8]:=Edit8.Text;   m[8]:=u4;
 e[9]:=Edit9.Text;   m[9]:=u5;
 e[10]:=Edit10.Text; m[10]:=u6;
 e[11]:=Edit11.Text; m[11]:=u7;
 e[12]:=Edit12.Text; m[12]:=u8;
 e[13]:=Edit13.Text; m[13]:=u9;
 e[14]:=Edit14.Text; m[14]:=u10;
 e[15]:=Edit15.Text; m[15]:=u11;
 e[16]:=Edit16.Text; m[16]:=u12;
 e[17]:=Edit17.Text; m[17]:=u13;
 e[18]:=Edit18.Text; m[18]:=u14;
 e[19]:=Edit19.Text; m[19]:=u15;
 e[20]:=Edit20.Text; m[20]:=u16;

 e[21]:=Edit21.Text; m[21]:=R1;
 e[22]:=Edit22.Text; m[22]:=R2;
 e[23]:=Edit23.Text; m[23]:=R3;
 e[24]:=Edit24.Text; m[24]:=R4;
 e[25]:=Edit25.Text; m[25]:=R5;
 e[26]:=Edit26.Text; m[26]:=R6;
 e[27]:=Edit27.Text; m[27]:=R7;
 e[28]:=Edit28.Text; m[28]:=R8;
 e[29]:=Edit29.Text; m[29]:=R9;
 e[30]:=Edit30.Text; m[30]:=R10;
 e[31]:=Edit31.Text; m[31]:=R11;
 e[32]:=Edit32.Text; m[32]:=R12;
 e[33]:=Edit33.Text; m[33]:=R13;
 e[34]:=Edit34.Text; m[34]:=R14;
 e[35]:=Edit35.Text; m[35]:=R15;
 e[36]:=Edit36.Text; m[36]:=R16;

 e[37]:=Edit37.Text; m[37]:=E1;
 e[38]:=Edit38.Text; m[38]:=E2;
 e[39]:=Edit39.Text; m[39]:=E3;
 e[40]:=Edit40.Text; m[40]:=E4;
 e[41]:=Edit41.Text; m[41]:=E5;
 e[42]:=Edit42.Text; m[42]:=E6;
 e[43]:=Edit43.Text; m[43]:=E7;
 e[44]:=Edit44.Text; m[44]:=E8;
 e[45]:=Edit45.Text; m[45]:=E9;
 e[46]:=Edit46.Text; m[46]:=E10;
 e[47]:=Edit47.Text; m[47]:=E11;
 e[48]:=Edit48.Text; m[48]:=E12;
 e[49]:=Edit49.Text; m[49]:=E13;
 e[50]:=Edit50.Text; m[50]:=E14;
 e[51]:=Edit51.Text; m[51]:=E15;
 e[52]:=Edit52.Text; m[52]:=E16;
 for i:=1 to 52 do
   m[i].Caption:=e[i];

end;

Автор: Vit 9.2.2005, 07:14
Ужас...

Код

m:TMenuItem;
e:TEdit;

For i:=1 to 52 do
 begin
   m:=FindComponent('N'+inttostr(i)) as TMenuitem;
   if m=nil then continue;
   e:=FindComponent('Edit'+inttostr(i)) as TEdit;
   if e=nil then continue;
   m.caption:=e.text;
 end;

Автор: FRAGNATIC 9.2.2005, 12:20
)
вау круто) огромный сенкс)
Добавлено @ 12:21
я прсото не знал токой функции как FindComponent ) терь буду знать) она мне оч ещё пригодится) биг сенкс)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)