procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
begin
  for I := 0 to ComponentCount - 1 do
  begin
    if Components[I] is TEdit then
      (Components[I] as TEdit).ReadOnly := False;
  end;
end;

解决方案 »

  1.   

    var
      i: integer;
    begin
      for i := 0 to ComponentCount - 1 do
      begin
        if (Components[i] is TEdit) then
          TEdit(Components[i]).ReadOnly:= False;
      end;
    end;
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      I : Integer;
    begin
      for I:= 0 to ControlCount -1 do begin
        if Controls[I] is TEdit then
         (Controls[I] as TEdit).ReadOnly := True;
         //(Controls[I] as TEdit).Text:='222';
      end;
    end;
      

  3.   

    var
      i: integer;
    begin
      for i := 0 to ComponentCount - 1 do
          TControl(Components[i]).ReadOnly:=(Components[i] is TEdit);
    end;
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      I: Integer;
    begin
      for I := 0 to ComponentCount - 1 do
      begin
        if Components[I] is TEdit then
          TEdit(Components[I]).ReadOnly := False;
      end;
    end;
      

  5.   

    var
      i: integer;
    begin
      for i := 0 to ComponentCount - 1 do
      begin
        if (Components[i] is TEdit) then
          TEdit(Components[i]).ReadOnly:= False;
      end;
    end;
      

  6.   

    var
      i: integer;
    begin
      for i := 0 to ComponentCount - 1 do
      begin
        if (Components[i] is TEdit) then
          TEdit(Components[i]).ReadOnly:= False;
      end;
    end;
      

  7.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      i:integer;
    begin
      for i:=0 to Application.ComponentCount-1 do
      begin
        if Components[i] is Tedit then
          (Components[i] as Tedit).ReadOnly :=true;
      end;
    end;
    就可以了。
    在此想请教各位高手,为什么写成以下就不行了呢?
    procedure TForm1.Button1Click(Sender: TObject);
    var
      i:integer;
    begin
      for i:=0 to Application.ComponentCount-1 do
      begin
        if Application.Components[i] is Tedit then
          (Application.Components[i] as Tedit).ReadOnly :=true;
      end;
    end;