我想做一個函數傳入窗體對象,然後把這個窗體上的所有adotable等控件的readonly設為false,這個功能怎麼做?請指教謝謝!!

解决方案 »

  1.   

    为什么要那么麻烦
    你直接选中所有的这些控件
    他们的共同属性中就有这个选项
    你把它false了不就可以了吗
      

  2.   

    (sender as Tadotable).readonly:= false;
      

  3.   

    for i := 1 to Form.ComponentCount - 1
      if Form.Component[i] is TadoTable then
         TadoTable(Form.Component[i]).ReadOnly := False;
      

  4.   

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

  5.   

    var i:integer
    begin
      for i:=0 to Self.ComponentCount-1 do
       begin
          if Self.Components[i] is TadotableThen
          begin
             (Self.Components[i] as Tadotable).readonly:=False;
          end;
       end;
    end;
      

  6.   

    procedure TForm1.Button1Click(Sender: TObject);
      function SetDSetReadOnly(var theForm: TForm; ReadOnly: boolean): Boolean;
      var
        i: integer;
      begin
        for i := 0 to theForm.ControlCount - 1 do
        begin
          if theForm.Controls[i] is TAdoTable then
            (theForm.Controls[i] as TAdoTable).ReadOnly := ReadOnly;
          if theForm.Controls[i] is TAdoQuery then
            (theForm.Controls[i] as TAdoQuery).ReadOnly := ReadOnly;
        end;
        Result := ReadOnly;
      end;
    begin
      SetDSetReadOnly(Form1,true);
    end;