前言我正在使用Borland C ++和VCL。

我需要某种结构化存储对象,可以将其作为单个文件保存到磁盘,并且可以包含多个命名的二进制数据blob,我可以以编程方式枚举,访问和操作。

IStorage 界面似乎是关闭我想要的东西,但我更喜欢VCL风格的解决方案,因为将TStream(VCL)转换为IStream的其他东西变得尴尬,它们必须是一个更简单的解决方案,使用已经可用的VCL东西,比如TIniFile,但是用于二进制数据。

我不想使用XML,因为二进制数据blob非常大,并且在正确编码以便在XML中使用时,它完全不合适。

提前感谢所有建议。

有帮助吗?

解决方案

zip文件实际上是一个标准容器,似乎你可以得到一个TStream接口: http://www.tek-tips.com/faqs.cfm?fid=6734

其他提示

Eldos的SolFS(Solid File System)。

http://www.eldos.com/solfs/

非常可靠,但可能不是最便宜的解决方案(一位开发人员为372美元)。

我去了ComponentAce的 ZipForge 。它很快,正在积极开发/支持,并具有完美的界面来支持我想要的东西。

感谢everybodys的其他建议。

如果您不想存储大文件(限制为2GB),请 GPStructuredStorage 可能很方便。

这是一个用纯delphi编写的开源结构化存储库,仍然可以维护,似乎可以与D2010一起使用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top