Unit GWCompress

Data Compressors for Delphi File Version 01.00 (C) Glen Why, 1996

Classes

CCustomCompressor -
TCustomCompressor -
TLZWCompressor -
TNullCOmpressor -

Functions

Types

PLZWStack
PLZWStringTable
TCompressorStatus
TGetCompressorDataEvent
TLZWStack
TLZWStringTable
TLZWTableEntry
TSetCompressorDataEvent

Constants

LZW_DEF_TABLE
LZW_MAX_TABLE
LZW_MIN_TABLE

Variables


Functions


Types


PLZWStack = ^TLZWStack

PLZWStringTable = ^TLZWStringTable

TCompressorStatus = ( CompressorIdle, CompressorBusy );

TGetCompressorDataEvent = procedure( Sender :TObject;
    pData :Pointer; Var cbData :Integer ) of object

TLZWStack = array [0..LZW_MAX_TABLE ] Of Integer;

TLZWStringTable = array[ 0..LZW_MAX_TABLE - 1 ] of TLZWTableEntry;

TLZWTableEntry = record
Used : LongBool;
PrevChar : Integer;
FollChar : Integer;
Next : Integer;
end;

TSetCompressorDataEvent = procedure( Sender :TObject;
    pData :Pointer; Var cbData :Integer ) of object

Constants

LZW_DEF_TABLE = $1000

LZW_MAX_TABLE = $1000000

LZW Compressor. Original TP Code by IAN HUNTER. I have rewritten some code in BASM, so now it works a bit faster, but is much more difficult to read/understand. Original code (pascal only, no asm) can be found in SWAG/ARCHIVES

LZW_MIN_TABLE = $1000


Variables