2012-07-19 175 views
0

可能重复:
how to store settings in resource德尔福记录到资源

我有一个字符串,整数,等这个记录被用作该被后来读取文件设置的记录。如何将记录转换为二进制数据(或字符串)并将其保存为RCDATA并将其读回记录?如果可能的话,本地代码和/或WinAPI只。谢谢你的帮助。

+0

谢谢:)是否有可能没有流? – 2012-07-19 20:06:09

+1

当然有可能。将流写入函数替换为您选择的任何其他持久性机制的等效函数。 – 2012-07-19 20:36:56

+0

我可以使用CopyMemory和ReadMemory吗? – 2012-07-19 20:40:48

回答

1

关于RCDATA:

我问谷歌“资源编辑器开源德尔福” 它告诉我http://melander.dk/reseditor/

这个程序中,可以确保读取和写入资源。

该页面的页脚还包含三个更多的openource delphi程序的链接,也可以做到这一点。

所以我希望你能找到你需要的东西。其中一堆有用的代码:-)


但是 - 你想使用什么RCDATA?什么文件?一些DLL?或者你自己的项目EXE? RCDATA用于阅读,而不是写作。这不是典型的用途。如果加载了DLL或EXE,那么您将无权写入新的RCDATA文件。而你自己运行的EXE总是打开的。


关于转向二进制 - 这是非常依赖于你使用的数据类型。在展示数据之前 - 没有人能够肯定地告诉你。

最懒惰的方法是: 1)使用镜像记录字段的已发布属性从TComponent创建镜像类。从记录分配这些属性并执行TComponent.SaveToStream。 2)使用Progdigy的JsonObject以JSon格式创建文本文件 3)使用一些XML保存/读取。例如,在更高版本的Delphi版本中使用TXMLDocument(但是如果使用零Owner创建它,它有它的陷阱),或者Jedi CodeLib使用XML。

您可以在Torry.net中搜索很多XML或JSON库。

但最重要的是 - 谷歌“序列化在德尔福”,并找到教程详细说明麻烦和解决方案。