Zipper unit
Unit implementing zip/unzip compression/decompression functionality.
zipper implements zip compression/decompression compatible with the popular .ZIP format. The zip file format is documented at:
http://www.pkware.com/documents/casestudies/APPNOTE.TXT.
The Pascal conversion of the standard zlib library was implemented by Jacques Nomssi Nzali. It is used in the FCL to implement the TCompressionStream class.
Classes and records
Central_File_Header_Type | record | Record structure containing central file header. |
CodeRec | record | Small LZW compression helper type. |
End_of_Central_Dir_Type | record | Record storing end of central directory information. |
Extensible_Data_Field_Header_Type | record | Extra fields marker. |
EZipError | class | Exception raised for errors in TZipper and TUnZipper. |
Local_File_Header_Type | record | Record structure containing local file header. |
TCompressor | class | Compressor object. |
TDeCompressor | class | Decompressor object. |
TDeflater | class | Child of TCompressor that implements the Deflate compression method. |
TFullZipFileEntries | class | Collection of TFullZipFileEntry items. |
TFullZipFileEntry | class | Extended zip file entry. |
TInflater | class | Child of TDeCompressor that implements the Inflate decompression method. |
TShrinker | class | Child of TCompressor that implements the Shrink compression method. |
TUnZipper | class | Extracts and decompresses files and directories in a .ZIP archive file. |
TZipFileEntries | class | Collection used to store information about files and directories in the .zip archive. |
TZipFileEntry | class | Represents a file or directory added to a .ZIP file. |
TZipper | class | Creates a .ZIP archive file. |
Zip64_End_of_Central_Dir_Locator_type | record | Locator type. |
Zip64_End_of_Central_Dir_type | record | Record at end of central directory. |
Zip64_Extended_Info_Field_Type | record |
Types
BufPtr | type | Implement the output buffer in TShrinker. |
CodeArray | type | Array of CodeRec. |
FreeListArray | type | Array of words. |
FreeListPtr | type | Pointer to FreeListArray. |
TablePtr | type | Pointer to CodeArray. |
TCustomInputStreamEvent | procedure type | Specifies an event handler signalled for actions to an input stream. |
TOnCustomStreamEvent | procedure type | Specifies an event handler signalled for stream actions in TUnZipper. |
TOnEndOfFileEvent | procedure type | Event procedure for an end of file (de)compression event. |
TOnStartFileEvent | procedure type | Event procedure for a start of file (de)compression event. |
TProgressEvent | procedure type | Event procedure for capturing compression/decompression progress. |
TProgressEventEx | procedure type | Specifies an event handler signalled to indicate compression/decompression progress. |
Constants
CENTRAL_FILE_HEADER_SIGNATURE | constant | Marker specifying a file entry within the zip directory. |
Crc_32_Tab | constant | Table used in calculating CRC-32. |
EFS_LANGUAGE_ENCODING_FLAG | constant | Language encoding flag (EFS). When set the file name and comment fields must use UTF-8 encoding. |
END_OF_CENTRAL_DIR_SIGNATURE | constant | Marker specifying end of directory within zip file. |
FIRSTENTRY | constant | Offset of First entry in table. |
INFOZIP_UNICODE_PATH_ID | constant | |
LOCAL_FILE_HEADER_SIGNATURE | constant | Marker specifying a file entry within the zip file. |
OS_FAT | constant | MS-DOS and OS/2 (FAT/VFAT/FAT32). |
OS_NTFS | constant | NTFS. |
OS_OS2 | constant | OS/2 HPFS. |
OS_OSX | constant | Mac OSX. |
OS_UNIX | constant | UNIX-like platforms. |
OS_VFAT | constant | VFAT. |
TABLESIZE | constant | Size for the code table used in LZW compression. |
UNIX_BLK | constant | Unix block device. |
UNIX_CHAR | constant | Unix character device. |
UNIX_DEFAULT | constant | Unix default attributes. |
UNIX_DIR | constant | Unix directory. |
UNIX_FIFO | constant | Unix FIFO file type. |
UNIX_FILE | constant | Unix regular file. |
UNIX_LINK | constant | Unix symbolic link. |
UNIX_MASK | constant | Unix permission mask. |
UNIX_RGRP | constant | Unix group read permission. |
UNIX_ROTH | constant | Unix other users read permission. |
UNIX_RUSR | constant | Unix user read permission. |
UNIX_SOCK | constant | Unix sockets. |
UNIX_WGRP | constant | Unix group write permission. |
UNIX_WOTH | constant | Unix other users write permission. |
UNIX_WUSR | constant | Unix user write permission. |
UNIX_XGRP | constant | Unix group execute permission. |
UNIX_XOTH | constant | Unix other users execute permission. |
UNIX_XUSR | constant | Unix user execute permission. |
ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIGNATURE | constant | |
ZIP64_END_OF_CENTRAL_DIR_SIGNATURE | constant | Marker specifying end of the directory within a 64-bit zip file. |
ZIP64_HEADER_ID | constant |
Uses
An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.
