减少代码书写..比如我要写很多 Form1.edit1.text:='111' ;
Form1.edit2.text:='111' ;
Form1.edit3.text:='111' ;
Form1.edit4.text:='111' ;
Form1.edit5.text:='111' ;
Form1.edit6.text:='111' ;
Form1.edit7.text:='111' ;
Form1.edit8.text:='111' ;能不能用edit1.text:='111' ;
edit2.text:='111' ;
edit3.text:='111' ;
edit4.text:='111' ;
edit5.text:='111' ;
edit6.text:='111' ;
edit7.text:='111' ;
edit8.text:='111' ;来代替?记得VB里面有一个函数能够实现

解决方案 »

  1.   

    如果From与Edit控件在一个单元内那么
    edit1.text:='111' ;
    edit2.text:='111' ;
    edit3.text:='111' ;
    edit4.text:='111' ;
    edit5.text:='111' ;
    edit6.text:='111' ;
    edit7.text:='111' ;
    edit8.text:='111' ;
    若不在一个单元内,则可以
    with Form1
    edit1.text:='111' ;
    edit2.text:='111' ;
    edit3.text:='111' ;
    edit4.text:='111' ;
    edit5.text:='111' ;
    edit6.text:='111' ;
    edit7.text:='111' ;
    edit8.text:='111' ;
    end;
      

  2.   

    http://expert.csdn.net/Expert/topic/2233/2233772.xml?temp=.3362543
      

  3.   

    给edit1->edit8设tag属性为2
    var i:integer
    for i:=1 to component-1 do
    begin 
     if components[i] is Tedit then
      if (components[i] as TEdit).tag=2 then    
            (components[i] as Tedit).Text:='lll';
    end;
      

  4.   

    ‘var i:integer;’要写在紧跟 procedure 语句之后
      

  5.   

    var
    editln:array [1..10] of TEdit;
    i:integer;
    for i:=1 to 10 do
    begin
    editln[i]:=TEdit(findcomponent('edit'+inttostr(i));
    editln[i].text:='lll';
    end;
      

  6.   

    with form1 do
    for i:=1 to n do
      with TEdit(FindComponent('Edit'+inttostr(i))) do
        text:='111' ;
      

  7.   

    如果edit1等在form1中,那么就不用在控件的前面加form1了 如果是在别的窗体中写的话
    这样写;
     with form1 do
     begin  edit1.text:='111'
      ...
     end;with form1 do
    for i:=1 to n do
      with TEdit(FindComponent('Edit'+inttostr(i))) do
        text:='111' ;
    也可以
      

  8.   

    遍历FORM上的所有控件,只要是TEDIT就给它赋‘111’就行了三