Pregunta

Para el prefacio, estoy usando Borland C ++ y el VCL.

Necesito algún tipo de objeto de almacenamiento estructurado que pueda guardarse en el disco como un solo archivo y que pueda contener múltiples blobs con nombre de datos binarios que puedo enumerar, acceder y manipular mediante programación.

La interfaz IStorage parece ser cierre lo que quiera, pero preferiría una solución de estilo VCL, ya que la conversión de TStream (VCL) a IStream entre otras cosas se vuelve incómoda y debe ser una solución más simple utilizando el material VCL que ya está disponible, como un TIniFile pero para datos binarios.

No quiero usar XML, ya que los blobs de datos binarios son muy grandes y, cuando están correctamente codificados para su uso en XML, son completamente ineficientes.

Gracias de antemano por todas las sugerencias.

¿Fue útil?

Solución

Un archivo zip es de facto un contenedor estándar, y parece que puede obtenerles una interfaz TStream: http://www.tek-tips.com/faqs.cfm?fid=6734

Otros consejos

SolFS (Sistema de archivos sólidos) de Eldos.

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

Muy confiable, pero podría no ser la solución más barata ($ 372 para un desarrollador).

Fui a ZipForge por ComponentAce. Es rápido, está siendo desarrollado / apoyado activamente y tiene la interfaz perfecta para soportar lo que quiero.

Gracias por todas las demás sugerencias.

Si no desea almacenar un archivo enorme (tiene un límite de 2GB), GPStructuredStorage podría ser útil.

Es una biblioteca de almacenamiento estructurado de código abierto escrita en delphi puro, que aún se mantiene y parece que se ha trabajado con D2010.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top