Программа создания и редактирования составных файлов CompoundFK2.0

программа создания составных файловСоставные файлы. Немного теории.
Составной файл (структурированное хранилище) - файл содержащий в себе некое подобие файловой системы. Сам головной файл является обычным файлом, имеет все свойства файла(т.е. копируется, удаляется, переименовывается и т.п.). Но самое важное то, что  этот файл является точкой вхождения во внутреннюю область самого себя. Внутри есть каталоги называемые хранилищами, есть файлы называемые потоками. В каталоги-хранилища могут входить подкаталоги-хранилища, которые в свою очередь тоже могут содержать файлы-потоки. К сведению файлы .doc (MSWord), .xls (MSExcel) и др. являются составными файлами. Работу с  такой разновидностью файлов обеспечивает интерфейсы IStorage, IStream. В таких файлах можно и удобно хранить любую информацию, систематизировать ее по группам, доступ осуществляется к данным избранно, не загружая весь файл в память.

Полезные ссылки.

http://it.kgsu.ru/C_OLE/ole_0007.html

http://www.citforum.ru/programming/application/com_fs/index.shtml

http://1c.proclub.ru/modules/kb/files/compound_extr.html

Практическое применение. Допустим программа требует в разное время загрузки определенных изображений(или других произвольных данных). Для разных положений требуются различные картинки, где их хранить? Конечно в ресурсах, но при этом сам программный файл раздуется в разы больше самого программного кода. Тогда где хранить изображения.  Конечно динамические библиотеки dll, но если изображений  десятки больших картинок или даже сотня, использовать dll "не экономично". Можно использовать несколько (или десятков) dll, сгруппировав данные по какому-либо признаку, или разработать свои специальные файлы хранения данных. А можно в таком случае применить составной файл и загружать в память только то изображение которое требуется в данный момент работы программы, не занимая память лишними картинками. Составной файл можно считывать полностью или только необходимую его часть, Это очень полезно - программа не тянет время для загрузки всего составного файла, а эффективно-быстро загружает только необходимую его часть.

Примеры  использования с исходным кодом на C++

Описанные здесь примеры конечно очень маленькая доля полезного потенциала составных файлов, но они дают наглядное представление о внутренней структуре необычного файла и позволяют приобрести практические навыки работы с интерфейсами IStorage и IStream.

Программа CompoundFK2.0 позволяет создавать составные файлы, добавлять субхранилища, загружать в потоки файлы размером до 20Мб, конвертировать потоки обратно в файлы, перемещать потоки и субхранилища внутри файла методом drag-and-drop, а также  дефрагментировать составной файл.
Файл программы Количество загрузок Размер
compoundfk.rar 4768 164 КБайт
Визикон Визикон — программа для простого и оперативного дизайна интерьера и проектирования помещений,... Узнать больше »
Лицензия на терминальное подключение ISO 256988-78/TSL Программа предназначена для организации терминальной сети на базе тонких клиентов. Узнать больше »
Wall Photo Maker Программа, позволяющая увеличить и разделить фотографию на несколько частей для печати на... Узнать больше »
SharpShooter Reports.Win Компонент, способный решать самые сложные задачи отчетности и анализа данных при создании... Узнать больше »
Яндекс цитирования Rambler's Top100 Яндекс.Метрика