【发布时间】:2012-11-16 11:10:06
【问题描述】:
我想在 Delphi 项目中存储和加载各种程序数据。这些数据范围从简单的字符串到更复杂的重复配置对象数据。
众所周知,ini 文件提供了一种快速简便的方式来存储程序数据,但仅限于键值表示。
当涉及到这样的需求时,XML 通常是首选的武器,但我想知道是否有 XML 的替代品。
最近我发现superobject for Delphi 似乎比 XML 更容易处理。对于这种“非网络任务”使用 JSON 有什么要说的吗?
您是否知道在 Delphi 中支持数据存储和以纯文本(如 ini、xml、json)加载的其他选项?
【问题讨论】:
-
我个人使用 YAML,但没有现成的解析器/发射器。否则,您已经列出了主要候选人。
-
我个人认为 XML 是配置数据最有表现力的方法。好处是您可以轻松地编辑 XML 文件。为此,我制作了自己的 xml to object/ object to xml 流媒体库...
-
如果你从 TComponent 派生你的 TConfig 对象,那么你也可以使用 VCL 内置的流(人类可读格式和二进制)机制。
-
@whosrdaddy 我个人认为人类阅读和编辑 XML 文件是一种可怕的体验..... ;-)
-
事实上,您选择哪种存储格式(ini、xml、json 等)并不重要。构建一个满足您所有需求的抽象配置类,然后考虑具体类和具体存储格式,并根据实现的难易程度和人类可读性来决定