Sign in Join
FPDoc Onlineexperiment

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_TyperecordRecord structure containing central file header.
CodeRecrecordSmall LZW compression helper type.
End_of_Central_Dir_TyperecordRecord storing end of central directory information.
Extensible_Data_Field_Header_TyperecordExtra fields marker.
EZipErrorclassException raised for errors in TZipper and TUnZipper.
Local_File_Header_TyperecordRecord structure containing local file header.
TCompressorclassCompressor object.
TDeCompressorclassDecompressor object.
TDeflaterclassChild of TCompressor that implements the Deflate compression method.
TFullZipFileEntriesclassCollection of TFullZipFileEntry items.
TFullZipFileEntryclassExtended zip file entry.
TInflaterclassChild of TDeCompressor that implements the Inflate decompression method.
TShrinkerclassChild of TCompressor that implements the Shrink compression method.
TUnZipperclassExtracts and decompresses files and directories in a .ZIP archive file.
TZipFileEntriesclassCollection used to store information about files and directories in the .zip archive.
TZipFileEntryclassRepresents a file or directory added to a .ZIP file.
TZipperclassCreates a .ZIP archive file.
Zip64_End_of_Central_Dir_Locator_typerecordLocator type.
Zip64_End_of_Central_Dir_typerecordRecord at end of central directory.
Zip64_Extended_Info_Field_Typerecord

Types

BufPtrtypeImplement the output buffer in TShrinker.
CodeArraytypeArray of CodeRec.
FreeListArraytypeArray of words.
FreeListPtrtypePointer to FreeListArray.
TablePtrtypePointer to CodeArray.
TCustomInputStreamEventprocedure typeSpecifies an event handler signalled for actions to an input stream.
TOnCustomStreamEventprocedure typeSpecifies an event handler signalled for stream actions in TUnZipper.
TOnEndOfFileEventprocedure typeEvent procedure for an end of file (de)compression event.
TOnStartFileEventprocedure typeEvent procedure for a start of file (de)compression event.
TProgressEventprocedure typeEvent procedure for capturing compression/decompression progress.
TProgressEventExprocedure typeSpecifies an event handler signalled to indicate compression/decompression progress.

Constants

CENTRAL_FILE_HEADER_SIGNATUREconstantMarker specifying a file entry within the zip directory.
Crc_32_TabconstantTable used in calculating CRC-32.
EFS_LANGUAGE_ENCODING_FLAGconstantLanguage encoding flag (EFS). When set the file name and comment fields must use UTF-8 encoding.
END_OF_CENTRAL_DIR_SIGNATUREconstantMarker specifying end of directory within zip file.
FIRSTENTRYconstantOffset of First entry in table.
INFOZIP_UNICODE_PATH_IDconstant
LOCAL_FILE_HEADER_SIGNATUREconstantMarker specifying a file entry within the zip file.
OS_FATconstantMS-DOS and OS/2 (FAT/VFAT/FAT32).
OS_NTFSconstantNTFS.
OS_OS2constantOS/2 HPFS.
OS_OSXconstantMac OSX.
OS_UNIXconstantUNIX-like platforms.
OS_VFATconstantVFAT.
TABLESIZEconstantSize for the code table used in LZW compression.
UNIX_BLKconstantUnix block device.
UNIX_CHARconstantUnix character device.
UNIX_DEFAULTconstantUnix default attributes.
UNIX_DIRconstantUnix directory.
UNIX_FIFOconstantUnix FIFO file type.
UNIX_FILEconstantUnix regular file.
UNIX_LINKconstantUnix symbolic link.
UNIX_MASKconstantUnix permission mask.
UNIX_RGRPconstantUnix group read permission.
UNIX_ROTHconstantUnix other users read permission.
UNIX_RUSRconstantUnix user read permission.
UNIX_SOCKconstantUnix sockets.
UNIX_WGRPconstantUnix group write permission.
UNIX_WOTHconstantUnix other users write permission.
UNIX_WUSRconstantUnix user write permission.
UNIX_XGRPconstantUnix group execute permission.
UNIX_XOTHconstantUnix other users execute permission.
UNIX_XUSRconstantUnix user execute permission.
ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIGNATUREconstant
ZIP64_END_OF_CENTRAL_DIR_SIGNATUREconstantMarker specifying end of the directory within a 64-bit zip file.
ZIP64_HEADER_IDconstant

Uses

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.