1. What is ActiveZip
ActiveZip for ActiveX lets you add high-speed, reliable, zip/unzip functionality to your applications regardless of whether you are manipulating files or memory. The comfortable object oriented class structure will allow you to work quickly and easily regardless of your project's complexity.
2. Download the ActiveX ZIP Library
3. ActiveX ZIP Library - Quickstart
3.1. Compression sample
Private Sub Command1_Click()
' create the ActiveZip instance
Dim myZipFile As New ActiveZIP.ZIPFile
' create a new zip-item 'mynameinzip.txt' and fill content by 'c:\test.txt'
myZipFile.AddItem("mynameinzip.txt").LoadFromFile "C:\test.txt"
' create a new zip-item and fill content by memory
myZipFile.AddItem("mynameinzip2.txt").Content = "content for 'mynameinzip2.txt'"
' save the new archive to the filesystem
myZipFile.SaveToFile "C:\test.zip"
End Sub
' create the ActiveZip instance
Dim myZipFile As New ActiveZIP.ZIPFile
' create a new zip-item 'mynameinzip.txt' and fill content by 'c:\test.txt'
myZipFile.AddItem("mynameinzip.txt").LoadFromFile "C:\test.txt"
' create a new zip-item and fill content by memory
myZipFile.AddItem("mynameinzip2.txt").Content = "content for 'mynameinzip2.txt'"
' save the new archive to the filesystem
myZipFile.SaveToFile "C:\test.zip"
End Sub
3.2. Decompression sample
Private Sub Command2_Click()
Dim myZipFile As New ActiveZIP.ZIPFile
myZipFile.LoadFromFile "C:\test.zip"
MsgBox myZipFile.Item(0).FileName
End Sub
Dim myZipFile As New ActiveZIP.ZIPFile
myZipFile.LoadFromFile "C:\test.zip"
MsgBox myZipFile.Item(0).FileName
End Sub
3.3. Little more complex sample
Private Sub Command3_Click()
Dim myZipFile As New ActiveZIP.ZIPFile
myZipFile.LoadFromFile "C:\test.zip"
MsgBox myZipFile.Item(0).FileName
End Sub
Dim myZipFile As New ActiveZIP.ZIPFile
myZipFile.LoadFromFile "C:\test.zip"
MsgBox myZipFile.Item(0).FileName
End Sub
4. ActiveX ZIP Library - Documentation
4.1. Installation / License
4.1.1. Installation and deployment
Download the ActiveZip package from this page. Unpack it and register the file 'ActiveZIP.dll' in the usual way (you can visit the MSDN if you need help in registering ActiveX dll's). You can deploy your product based on ActiveZip royalty free but it's not allowed to publish your personal license key of course. It's possible to use any normal setup software to deploy ActiveZip (like InstallShield, Windows Installer, ...) or you can use the ActiveZip.dll.manifest (visit the MSDN for additional information).
4.1.2. Load and use the ActiveX ZIP library
You can ...
Private Sub Command1_Click()
' create a new instance with later binding (by progid)
Dim myFile As Object
Set myFile = CreateObject("ActiveZIP.ZIPFile")
MsgBox myFile.ItemCount
End Sub
' create a new instance with later binding (by progid)
Dim myFile As Object
Set myFile = CreateObject("ActiveZIP.ZIPFile")
MsgBox myFile.ItemCount
End Sub
You can ...
Private Sub Command1_Click()
' create a new instance with a direct reference (by clsid)
Dim myFile As New ActiveZIP.ZIPFile
MsgBox myFile.ItemCount
End Sub
' create a new instance with a direct reference (by clsid)
Dim myFile As New ActiveZIP.ZIPFile
MsgBox myFile.ItemCount
End Sub
4.1.3. Order your personal license and activate your product
The trial version of this ActiveX Zip library will ask you for a license key everytime when you create a new ZIPFile instance. There's no other limitation in the tiral. If you would like to prevent this message you should order a personal license (it's really cheap) and activate your product at runtime.
Private Sub Form_Load()
' create the ActiveZip instance
Dim myLicense As New ActiveZIP.License
' order your personal license: http://www.makasy.com/activezip/order.html
myLicense.Activate "????-????-????-????"
' usage e.g.
Dim myFile As New ActiveZIP.ZIPFile
End Sub
' create the ActiveZip instance
Dim myLicense As New ActiveZIP.License
' order your personal license: http://www.makasy.com/activezip/order.html
myLicense.Activate "????-????-????-????"
' usage e.g.
Dim myFile As New ActiveZIP.ZIPFile
End Sub
4.2. The ZIPFile class
Function AddItem(FileName As String) As ZIPItem
Sub Cancel()
Property CaseSensitive As Boolean
Event Compression(FileName As String, TotalSize As Long, CurrentSize As Long)
Event Decompression(FileName As String, TotalSize As Long, CurrentSize As Long)
Property DoEvents As Boolean
Property FileName As String
Function IsCanceled() As Boolean
Property Item(Index As Long) As ZIPItem
Property ItemCount As Long
Function LoadFromFile(FileName As String) As Boolean
Function RemoveItem(Index As Long) As Boolean
Function SaveToFile(FileName As String) As Boolean
Sub Cancel()
Property CaseSensitive As Boolean
Event Compression(FileName As String, TotalSize As Long, CurrentSize As Long)
Event Decompression(FileName As String, TotalSize As Long, CurrentSize As Long)
Property DoEvents As Boolean
Property FileName As String
Function IsCanceled() As Boolean
Property Item(Index As Long) As ZIPItem
Property ItemCount As Long
Function LoadFromFile(FileName As String) As Boolean
Function RemoveItem(Index As Long) As Boolean
Function SaveToFile(FileName As String) As Boolean
4.3. The ZIPItem class
Property Comment As String
Property CompressedSize As Long
Property CompressionLevel As Long
Property CompressionMethod As Compression
Property Content As String
Property FileDate As Date
Property FileName As String
Property IsEncrypted As Boolean
Function LoadFromFile(FileName As String, [CacheContent As Boolean = Falsch]) As Boolean
Property Password As String
Function SaveToFile(FileName As String, [CacheContent As Boolean = Falsch]) As Boolean
Property UncompressedSize As Long
Property CompressedSize As Long
Property CompressionLevel As Long
Property CompressionMethod As Compression
Property Content As String
Property FileDate As Date
Property FileName As String
Property IsEncrypted As Boolean
Function LoadFromFile(FileName As String, [CacheContent As Boolean = Falsch]) As Boolean
Property Password As String
Function SaveToFile(FileName As String, [CacheContent As Boolean = Falsch]) As Boolean
Property UncompressedSize As Long
4.4. Usage
There are some samples included in the package.
5. ActiveX ZIP Library - Features
5.1. Unique selling point
- 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.
- Update one zip file from another one's contents or merge two zip files together.
- All operations can be aborted at any time.
- Provides status report events on a file-by-file basis with percentages, byte, and file counts.
- Easily add any kind of progress bar to your apps through the transparent structure.
- AES encryption/decryption provides 256-bit military-grade data security.
- An optimized algorithm improves compression speeds by up to 300% over the competition.
- Fast, low memory usage compression engine.
5.2. Major operations
- WinZip, PKZIP, and UNIX gzip compatible.
- Supports WinZip 9.0 (and up) compatible AES strong encryption.
- Includes a royalty-free license.
- ActiveZip control adds high-speed, reliable zip and unzip capabilities to any application.
- Notifies your application when and why a specific file cannot be processed.
- Provides complete file information for the file currently being processed.
5.3. ActiveX technology:
- A single fully self-contained COM object and ActiveX control written with ATL 3.0.
- 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.
- ActiveX control interface has all constants, enumerations, and types built-in.
- Works with all 32-bit development environments that can use ActiveX controls.
