怎么根据一个变量的值来定义另外的变量的类型???(200分)

  • 主题发起人 主题发起人 chinausa
  • 开始时间 开始时间
C

chinausa

Unregistered / Unconfirmed
GUEST, unregistred user!
怎么根据一个变量的值来定义另外的变量的类型??

例如: 如果是 当变量A=1 时 ,定义变量 B 为 TADOTable ,当变量A=2 时 ,定义变量 B 为 TSQLTable 谢谢!!
 
delphi支持动态定义变量吗?
 
var A:integer;
B:Variant;
begin
if A=1 then B:=1;
if A=2 then B:='A';
end;
 
楼上的可以啊,用一Variant不就得了
 
不好意思,我误人了...
plenilune,说得对,可以将变量预定为变体型variant.同时也可以对variant变体进行检测来确定其是否为string,float,integer,检测的函数可以在Variants这个单元里面找到.
 
你要用的时候还是要转换,variant倒不如TObject啊,Pointer啊...
 
variant代价太大了吧!
当变量A=1 时 ,定义变量 B 为 TADOTable ,
当变量A=2 时 ,定义变量 B 为 TSQLTable
TADOTable|TSQLTable
看楼主的意思!应该是使用多态技术解决这个问题!
 
我感觉楼主的想法有些怪,首先简单的使用variant可以解决问题,考虑效率的问题,可以改用pointer,考虑可读性和灵活性,楼主看看你的需求是否可以使用抽象类或者接口替代,比如你说的TADOTable,TSQLTable 是否都是从TDataSet继承,或者是实现了IDataSet接口,这样是不是给了你什么提示?
 
后退
顶部