如下:
  现有多个edit1,edit2,edit3,edit4..edit20,怎样实现简单赋值。  edit1.text:='1';
    edit2.text:='1';
    edit3.text:='1';
    ......
    edit20.text:='1';   如下赋值行不通:
    
    for i:=1 to 20 do 
           begin
             edit+inttostr(i).text:='1';
           end;     请指教!   

解决方案 »

  1.   

    objItem: TComponent;for i := 1 to 20 do
    begin
       objItem := FindComponent(Format('Edit%d', [i]));
       if objItem is TEdit then
          TEdit(objItem).Text := 'l';
    end;用以上方法即可搞定.
      

  2.   

    for i:=1 to 20 do
      findcomponent('edit'+inttostr(i)).text:='1';
      

  3.   

    var
      I:Integer;
    begin
      ....
      for I:=1 to 20 do 
        //这里最好加个类型判断!
        (Self.FindComponent('Edit'+IntToStr(I)) as TEdit).Text:=1;
      ....
    end;