有没有一种方法可以获取记录并以编程方式遍历其所有字段,而无需显式执行“Record.somerfield”?
我想要做的是一个将记录保存/加载为 INI 文件的通用函数,以便我可以从记录结构中添加或删除字段,而无需每次在记录中删除或添加字段时重写保存/加载函数。
换句话说,我想以这样的方式进行迭代(伪代码):
THuman = record
age: integer;
country: string ;
end;
...
myPerson: THuman;
...
foreach Field in myPerson do
begin
if Field.value is String then ini.WriteString( 'Group', Field.Name, Field.value );
if Field.value is integer then ini.WriteInteger( 'Group', Field.Name, Field.value );
end;
没有机会了。记录没有附加运行时类型信息。如果您使用具有已发布属性的类,则可以查看 jvcl 中的 TApplicationStorage/TFormStorage 组件、Delphi DFM 流系统和各种 Internet 站点的示例。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)