The SevenZip component implements a 7zip-compatible compressor and decompressor.
To create a new archive, first set the ArchiveFile property to the name of the archive to be created. Then, specify the files to be compressed either by invoking IncludeFiles, or by adding a new object to the Files collection and setting the values of the DecompressedName and CompressedName. fields. Finally, call the Compress method to create the archive.
To decompress an existing archive, set ArchiveFile to the name of the archive to be decompressed. The ExtractToPath property may be set, and then calling the ExtractAll method will decompress all files in the archive to this path.
For finer control, the Scan method should be used to read the file information stored in the archive. This will fill out the information in the Files collection. The values of DecompressedName may then be changed if desired. Finally, ExtractAll may be used to decompress the entire archive, or Extract may be used for finer control.
Example (Creating an Archive)
ZipControl.ArchiveFile = "c:\test.zip" ZipControl.RecurseSubdirectories = true ZipControl.IncludeFiles("c:\foo\*") ZipControl.Compress()
Example (Extracting from an Archive)
ZipControl.ArchiveFile = "c:\temp.zip" ZipControl.ExtractToPath = "c:\extracted\" ZipControl.ExtractAll()
The following is the full list of the properties of the component with short descriptions. Click on the links for further details.
|ArchiveFile||The name of the zip, gzip, tar, or jar archive.|
|CompressionLevel||The compression level to use.|
|CompressionMethod||Used to set the method of compression.|
|ExcludedFiles||A list of files to exclude.|
|ExtractToPath||A base path to decompress to.|
|Files||Collection of SevenZip archive files.|
|OverwriteFiles||Whether or not to overwrite files.|
|Password||A password for the zip archive.|
|RecurseSubdirectories||Whether or not to recurse into subdirectories.|
|SevenZipData||(Decompression only) The seven zip file contents as a byte array.|
The following is the full list of the methods of the component with short descriptions. Click on the links for further details.
|Abort||Aborts the current operation.|
|AppendFiles||Adds specified files to an existing archive.|
|Compress||Creates the compressed archive.|
|Config||Sets or retrieves a configuration setting.|
|Delete||Deletes one or more files from an existing archive.|
|Extract||Extracts a single file, directory, or group of files, from the archive.|
|ExtractAll||Extracts all files from the compressed archive.|
|IncludeFiles||Specifies that the indicated files should be added to the archive.|
|Reset||Resets the component.|
|Scan||Scans the compressed archive.|
|SetArchiveInputStream||The stream to read the zip, tar, jar, or gzip archive from.|
|SetArchiveOutputStream||The stream to write the zip, tar, jar, or gzip archive to.|
|Update||Will update certain files in an archive.|
The following is the full list of the events fired by the component with short descriptions. Click on the links for further details.
|BeginFile||Fired before each file is processed.|
|EndFile||Fired after each file is processed.|
|Error||Information about non-fatal errors.|
|Overwrite||Fired whenever a file exists and may be overwritten.|
|Progress||Fired as progress is made.|
The following is a list of configuration settings for the component with short descriptions. Click on the links for further details.
|CheckForFileLocks||If true, the component requests an exclusive lock during initialization.|
|CloseStreamAfterCompress||If true, the component will close the output stream after compression.|
|EnableFilter||Enables or disables compression filters for executable files.|
|EnableHeaderCompression||Enables or disables archive header compression.|
|EnableHeaderEncryption||Enables or disables archive header encryption.|
|Encoding||Encoding to be used for filenames.|
|ExcludedAttributes||Attributes of files to be excluded.|
|ExtractFilesOnly||Whether to only extract the files contained within the archive.|
|IsEncrypted||Indicates whether the archive is encrypted.|
|OverwriteReadonlyFiles||Whether to overwrite readonly files.|
|TempPath||A temporary directory where data can be stored during processing.|
|WriteToProgressEvent||Whether or not to write data to the Progress Event.|
|BuildInfo||Information about the product's build.|
|GUIAvailable||Tells the component whether or not a message loop is available for processing events.|
|LicenseInfo||Information about the current license.|
|UseInternalSecurityAPI||Tells the component whether or not to use the system security libraries or an internal implementation.|