Version 1.1 has the following changes :
- Upgraded the \ReadString() method to use it's own internal buffers and so should be much faster now.
- Added two methods to the qDoc_FileObject class : \ReadOLEString() and \WriteOLEString().
Consider using these new strings if working with a lot of string data as they have the potential to operate much faster than 'regular' strings (particularly when reading the data back from a document). An OLE string is simply written as 4-bytes containing the length of the string (in bytes) followed by the bytes of the string in Unicode format without any null terminator. They are fully cross-platform (despite their name!)
=================
Hi,
for those familiar with my comDoc utility (http://www.purebasic.fr/english/viewtop ... lit=comDoc) here is a fully cross platform library offering the same facilities; namely, compound documents.
For those not familiar with the original comDoc, the following comes from the qDoc manual :
Features...qDoc allows Purebasic applications to create proprietary documents which act like an entire file system in that a single document can contain any number of disparate 'files', files which can be accessed in a ‘random’ fashion. In this way, qDoc can be said to create compound documents.
Each such document itself occupies just a single disc (or memory) file (regardless of how many 'files' it contains!)
For example, imagine a word processing application. Such an application may wish to save not just the text entered by the user within it's documents, but it may also need to save images, charts, spreadsheets and so on within the same document and in such a way that each separate image or chart etc. can easily be retrieved and altered etc. This is exactly what qDoc facilitates and in a fashion almost identical to Purebasic’s file library.
Open a qDocument, open one of it’s files and then proceed to read and/or write bytes, longs, strings… etc. from/to the file.
- Windows/Linux x86 and x64 compatible and Mac OSX compatible
- Unicode compatible
- Simple to use OOP api
- Create new 'files' in individual documents
- Delete files from individual documents
- Enumerate all items in a compound document
- An extensive list of methods for working with individual files (ReadByte(), ReadWord(), ... WriteByte(),... WriteString()... etc.)
- Batched error reporting. Saves checking for errors after each individual write operation etc.
Please see the nxSoftware site for the download etc.
Regards.