下列代码的作用是用变量来代替空间名称,不知是否正确,请大家看看:
var a:string;
   begin
    a:='Button1';
    a.visible:=true;
   end;

解决方案 »

  1.   

    这样也行?
    var a:Tbutton;
      

  2.   

    字符串与TButton怎么能混在一起。
      

  3.   

    procedure TForm1.Button2Click(Sender: TObject);
    var
      btn: TButton;
    begin
      btn := Button1;
      btn.Visible := False;
    end;
    定义一个TButton类型的变量,把另外一个Button的地址赋给这个变量就可以了。也就是直接把Button的Name赋给那个变量就行了
      

  4.   

    你没有明白我的意思,是这样的,
    procedure TForm1.Button2Click(Sender: TObject);
    var
      btn: TButton;
    begin
      btn := Button1;  qya.close;
      qya.sql.clear;
      qya.sql.add('select * from qxb where role='''+dlid.role+'''');
      qya.open;
      while not qya.Eof do
        begin
          btn:=qya.fieldbyname('an').asstring;
          btn.Visible := False;
          qya.Next;
        end;
    end;
    要把某个表中的'an'字段(字符型)的值赋值给btn,该如何写代码,数据表中字符型字段'an'的值为button1、button2、button3、button4,上面代码这样写是不对的,提示'incompatible:'TButton' and 'String'',那该如何写呢?
      

  5.   

    要赋值给btn的button1不是一个TButton类型的,而是一个string类型的。
      

  6.   

    procedure TForm1.Button2Click(Sender: TObject);
    var
      btn: TButton;
    begin
      btn := Button1;  qya.close;
      qya.sql.clear;
      qya.sql.add('select * from qxb where role='''+dlid.role+'''');
      qya.open;
      while not qya.Eof do
      begin
      btn.caption:=qya.fieldbyname('an').asstring;
      btn.Visible := False;
      qya.Next;
      end;
    end;