r_1=record
s1 : r_2; //另一个类似的record
s2 : r_3; //另一个类似的record
s3 : integer;
s4 : string;
s5 : array [0..3] of char;
end;请问怎么能取得r_1的内容?
就是给出r_1然后返回r_1中包含的元素的个数,每个元素的名字,如果某个元素还是rocord那么就像这样递归下去。
谢谢!!!
s1 : r_2; //另一个类似的record
s2 : r_3; //另一个类似的record
s3 : integer;
s4 : string;
s5 : array [0..3] of char;
end;请问怎么能取得r_1的内容?
就是给出r_1然后返回r_1中包含的元素的个数,每个元素的名字,如果某个元素还是rocord那么就像这样递归下去。
谢谢!!!
看不明白你的意思。
s1 : r_2; //另一个类似的record
s2 : r_3; //另一个类似的record
s3 : integer;
s4 : string;
s5 : array [0..3] of char;
end;var
rr: r_1;
rr.s1.(這裡直接獲取r_2地成員)
rr.s2.(這裡直接獲取r_3地成員)嵌套也一樣用
rr: r_1;
rr.s1.(這裡直接獲取r_2地成員)
rr.s2.(這裡直接獲取r_3地成員)
同意樓上說
我得意思是怎么能取得结构体(record)r_1的内容?
就是说r_1内包含的各个元素的数据类型,同时如果元素是结构体那么可以递归进去
不知道我得意思大家明不明白?
只有clss 或object才有也就是说,只有有方法的类才能获得这些信息。
:(
难道不会让我自己分析Record占的那段内存吧?太复杂了
就是 在运行期取得Record的typeinfo回复人: XuDunYu(西门吹雪) ( ) 信誉:100
现在没有是因为没有实现tkRecord的typeinfo啊
不是不可能吧
现在没有是因为没有实现tkRecord的typeinfo啊
不是不可能吧
----------------------------------------------
如果record 有typeinfo那它就不是record了,除非你自己在record 中再加一个typeinfo record,但这又有多少通用性呢。
类有typeinfo信息不光是因为类中定义的相应信息,而是因为typinfo.pas单元定义的相应的函数
type
r_1=record
s1 : r_2; //另一个类似的record
s2 : r_3; //另一个类似的record
s3 : integer;
s4 : string;
s5 : array [0..3] of char;
end;然后
var
r: r_1;
begin
//这里r是确知的类型,还需要什么typeinfo?,直接用直接判断就是了
r: r_1;
begin
//这里r是确知的类型,还需要什么typeinfo?,直接用直接判断就是了现在因为有好多不同的record,
假如我给出一个record的名字,想知道某个record中里面每个变量的名字和其值有方法么?
你啊:)