如何将任何记录类型转换为单个字符串并返回?也许将记录加载到流中并将其作为字符串读取?我正在使用的记录不会包含任何特殊类型 – 它们只是使用简单的东西,如String,Integer,PChar,DWORD和[String]数组等,而不像类或函数.
此字符串将进一步保存到各种位置,例如平面文本文件,数据库记录,通过网络发送等.字符串内容可以通过其他方式之间的其他方式传输,例如从文本文件复制字符串并将其保存到数据库记录中.一般的想法是,字符串将足够兼容以保存在任何地方,移动它,并将其加载回其原始状态.我知道我需要能够识别它是什么类型的记录并相应地分配它,而那部分我不需要帮助.
解决方法
您可以使用RTTI序列化您的记录,从这里您可以使用XML,JSON或其他格式来保存记录数据.
如果您不想编写自己的方法来序列化记录,请尝试这些替代方案.
> superobject(使用TSuperRttiContext类可以将记录序列化为JSON)
> TKBDynamic
> Synopse的SynCommons单位.
> XmlSerial单元(对象和记录序列化和反序列化为XML)来自Robert Love