Category Archives: Compression Formats

ZIP-format

Current Version : 4.5

Component technology

A single fully self-contained COM object and ActiveX control written with ATL 3.0.
Uses in system programming, web programming, web development.
Requires no external compression DLLs, MFC DLLs or runtime libraries.
Both single-threaded (STA) and multi-threaded apartment (MTA) model design.
Instantiate the component dynamically without putting it on a form.
Supports multiple instances running simultaneously.
Supports both Unicode and Ansi in one single control. The library automatically uses Unicode API calls for best performance when running on Windows NT, 2000 and XP.
ActiveX control interface has all constants, enumerations and types built-in. Code completion, property categories, help strings and context-sensitive F1-help fully supported.
Works with all 32-bit development environments that can use ActiveX controls, including VB, VC++, Delphi, C++ Builder, VFP, Office, PB, VO, Web scripting languages, ASP and DCOM projects.

Compression & Zip file technology

Fast, low memory usage compression engine.
100% compatible with the existing PKZip 2.04g format.
Supports the advanced new BZip2 compression method (burrows-wheeler transform) for 20-30% better compression than PKZip 2.04g on many popular file types. (New in v4.5)

BZip2 compression method is excellent for compressing XML data

Regular, spanned and self-extracting zip files created by Xceed Zip can be used by any of today’s existing unzipping applications, and vice-versa.
Stores and retrieves the latest zip file format extensions, allowing Unicode filenames and NT file attributes, extra time stamps and security permissions to be stored in the zip file.
No need to repair corrupted zip files. Xceed Zip automatically tries to recover from errors and reports any inconsistencies found in the zip file while unzipping.

Major operations

Zip files or memory buffers into new or existing zip files.
Unzip files to disk or directly to memory.
Compress and decompress strings or buffers completely in memory.
All compression and decompression modes support streaming and encryption.
Create fully customized self-extracting zip files with the optional Self-Extractor Module.
Convert any type of zip file (regular, spanned, multi-part, self-extracting or spanned self-extracting) into any other type of zip file.
Reads and writes zip files that span multiple disks.
Reads and writes multi-part zip files directly to hard drive.
Update one zip file from another one’s contents or merge two zip files together.
Optional background processing so your code can continue execution while Xceed Zip is working.
Application-component interactivity
All operations can be aborted at any time.
Provides status report events on a file-by-file basis as well as on the entire operation being performed, with percentages, byte and file counts. Easily add any kind of progress bar to your apps.
Events are triggered whenever a file is being zipped, unzipped, updated, deleted, etc.
Notifies your application when and why a specific file cannot be processed.
Notifies your application when a file being zipped or unzipped is about to overwrite an existing file. Your application can then choose to overwrite it or skip it. You can also rename files.
Provides complete file information for the current file being processed.
Your application receives info such as a file’s achieved compression ratio, compressed size and other info as it becomes available.
Informs your application that it should prompt the user to insert a specific disk reading or writing zip files that span multiple disks.
Many events have modifyable parameters to allow your application to change file parameters or specifications as the files are being zipped, unzipped, converted, etc.
Unused events can be prevented from being triggered for increased performance.

Zip file manipulation functionality

Obtain global information on a zip file.
Obtain a detailed list of a zip file’s contents via a collection object.
Obtain a detailed list of a zip file’s contents via events.
Delete files from within a zip file.
Delete files after they have been successfully and verifyably zipped.
Test the integrity of a zip file and its contents.
Process or exclude files based on file attributes, sizes, version resources and dates – or create your own custom include/exclude filters.
Wildcard previewing – find out exactly which files will match your wildcards and filters before you start zipping or unzipping.
Compression previewing – obtain the compressed file sizes before starting the actual zipping operation. Statistics on the entire group of files to be zipped are also provided.

Add and retrieve comments for individual files in the zip file.

Get and set the global zip file comment.

Automatic full yield so other applications do not halt during processing.

Clear disks before writing the zip file to them.

Specify the amount of free space to leave on the first disk of a spanned zip file set.

Reject disks without specified amount of free space on them when spanning.

Compress entire directories and their contents.

Process only files newer than those already in the zip file or existing on disk.

Provide global encryption and decryption passwords or on a file-by-file basis.

Control which types of files are stored in the zip file without compression.

Control what path information is stored in the zip file for each file.

Store a drive’s volume label in the zip file and restore it during unzipping.

Zip up system and hidden files, overwrite read-only files.

Allow zipping files that are currently open for write operations by other process.

Limit operation to files with timestamps and file sizes within specified ranges.

Supports long filenames, UNC paths and stores Unicode filenames in the zip file.

Manipulate self-extracting zip files without disturbing their self-extracting ability.

Rename files and their paths as they are being zipped or unzipped.
Rename files in a zip file.
Change file parameters (comment, time stamps, file attributes) in a zip file.
Control the amount of compression applied to files being zipped.
Specify the path where files will be uncompressed to.
Specify files to process using wildcards.
Work on temporary copies of zip files, for maximum safety.
Specify the location of where temp files are created.
Filter out files during a zip file update, merge or conversion based on any file attributes or parameters.

Documentation and samples

The complete documentation is available both as a printable MS Word document as well as a fully context-sensitive .hlp file that opens to the right topic when you press F1 on a keyword in your editor.
Fully commented sample applications for various languages, including VB, Delphi, Visual C++ with ATL and MFC, C++ Builder and Active Server Pages.

Direct DLL API access

The library’s single DLL can also be accessed as a standard 32-bit DLL through it’s exported API.
All properties, methods and events are exported.
All exported API calls involving string parameters come in single, wide character and Unicode versions.
Events can be handled either by callback functions or by windows messages.

Complete 16-bit support available

As of May 11th, 2001, the 16-bit edition of the Xceed Zip Compression Library is not automatically included in the package. If you are interested in a 16-bit version, simply send a request to support@xceedsoft.com and we will send you the 16-bit package. If you want a registered version, don’t forget to include your registration number in your request.
Includes a 16-bit edition which provides a 16-bit VBX and Delphi 1 VCL. This edition works with VB3, VB4/16, Delphi 1, VC++ 1.52 and other 16-bit languages.
The 16-bit edition supports a large subset of Xceed Zip v4.5’s features, and includes a 16-bit edition of the Xceed Zip Self-Extractor Module.