给在同一个窗口上的几个EDIT框赋同样的值,有没简单的方法减少代码重复性?
而不必像下面的代码如此
Edit1.text:='0'
Edit2.text:='0'
Edit3.text:='0'
...
Edit21.text:='0'

解决方案 »

  1.   

    for i := 0 to ComponentCount - 1 do
      begin
        if Components[i] is TEdit then
        begin
          TEdit(Components[i]).Text = '0';
        end;
      end;
      

  2.   

    for i := 0 to ComponentCount - 1 do
    begin
      if Components[i] is TEdit then
        TEdit(Components[i]).Text := '0';
    end;
      

  3.   

    for i:=0 to From1.ComponentCount-1 do
    begin
      if From1.Components[i].ClassName = 'TEdit' then
    begin
    TEdit(From1.Components[i]).Text:='0';end;end;
      

  4.   

    for i := 1 to 21 do
        TEdit(FindComponent('Edit'+IntToStr(i))).Text :='0';
      

  5.   

    简单的:
              for i:=0 to 21 do
                TEdit(FindComponent('Edit' + IntToStr(i))).Text:='0'
      

  6.   

    var
    I:integer;
    begin
    for i:=0 to ComponentCount-1 do
      begin
       if (Commponents[I] is TEdit) and (TEdit(Components[I]).Name = 'Edit'+inttostr(I)) then
          TEdit(Components[I]).text := '0';
      end;
      

  7.   

    其实用tag 也行 好像这个也比较方便
      

  8.   

    我也认为结合着用Tag比较好,这样子可选具体的哪几个需要同时赋值!
      

  9.   

    當然可以用一樓的方法有多少種類型就要寫多個個 is edit1....類似