关于结构的获得(80分)

  • 主题发起人 主题发起人 screen
  • 开始时间 开始时间
S

screen

Unregistered / Unconfirmed
GUEST, unregistred user!
不知道pascal中有没有这样的机制,比如申明了一个结构,
定义一个该结构的变量,然后在程序中获得这个变量的结构?
也就是只看这个变量就能知道她的结构?哎呀,不容易说明白,大家见谅.
比如: type A = record
i : Integer;
s :String[10];
p : pchar;
end;
var aa : A;
procedure InfoAbout(p :pointer);
begin
// p 指向 aa;
将aa的结构存入数组或者某一种数据结构
比如
InfoAa[1] := integer;
InfoAa[2] := String[10];
InfoAa[3] := pChar;
end;
现在就是求这个函数的实现,呵呵,不知道大家理解否.
 
如果是继承自Object类型变量(就是Class类型),好像可以用TypInfo单元中的过程与函数
来得到它的信息:TypeInfo函数,GetTypeData函数等等。我还得研究研究。
 
screen:如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。
 
i think it is easy for delphi....
 
你可以定义一个包含所有数据类型的一个RECORD。然后进行循环赋值,如果不出错!则该
变量即与你预先定义的相符!这时可以得到该变量的类型了,确切的说就是用
一个大Case语句实现!然后用错误返回机制控制流程!
 
给你一个里面放了18个大小形状完全一样的鸡蛋的筐(你的record的大小),
请你说出这个筐里是由4个鸡蛋+10个鸡蛋+4个鸡蛋(你结构里数据的格式)所组成的而不可能
是2个鸡蛋+12个鸡蛋+4个鸡蛋(比如a: Byte
b: string[12]
c: Integer这样一个结构)的
理由吧
所以only you的方法也不可行, 否则就没有强制类型转换的可能了.
 
多人接受答案了。
 
后退
顶部