This site is moving to The Zen Source Library
Please Update your bookmarks


A while ago I needed to design a file format for my application. So after giving it a bit of thought I created what at the time seemed like the perfect file format for my app... All was going well until I needed to sore additional information in the file. Oops, this I had not planned for. So I had to sit down and again design a new format, this time allowing for additional data at a later stage. This file format works and is flexible but it is still not flexible enough.

I am sure something similar has happened to you. Some time or another you must have found a file format a bit limiting. Would it not be nice if there was a powerful and flexible way of saving data. Why not go for powerful, flexible and easy (ok, ok.. relatively easy ;-)?

Well, there is. Structured Storage.
A Structured Storage file is also called a DocFile or an OLE compound file. I'll use these terms interchangeably throughout this article.

DocFiles have many features that make them a valuable tool. For example

Microsoft has said that Structured Storage will be the default file format in future editions of windows. The MS-Office products are already using structured storage. So learning it now will give you a head start.

So what are DocFiles?

The best way to think of a DocFiles is as having a file system within a file. What that means is that a DocFile can contain "directories" and "files".

For example a DocFile say Example.ole could contain

Each "file" is separate from the other. You just open a "file" and work with it, without opening or affecting any of the other "files" in the DocFile.

Some Terminology

Storage Equivalent of a directory, within the DocFile
Stream Equivalent of a file in a DocFile. A stream exists in a storage just as a file exists in a directory.

All information on these www pages is copyright (©) 1997 Andre .v.d. Merwe And may not be copied or mirrored without my permission.