Unit ZipMstr

Classes

TZipMaster -

Functions

Register -
StripJunkFromString - end with
ZCallback - The callback function must NOT be a member of a class } { We use the same callback function for ZIP and UNZIP

size of zip dir entry in local zip directory } { Dennis Passmore (Compuserve: 71640,2464) contributed the idea of passing an instance handle to the DLL, and, in turn, getting it back from the callback.

Types

AddOpts
AddOptsEnum
ExtrOpts
ExtrOptsEnum
OvrOpts
ProgressType
PZipDirEntry
SFXOpts
SFXOptsEnum
TMessageEvent
TProgressEvent
ZipDirEntry

Constants

CentralFileHeaderSig
EndCentralDirSig
LocalFileHeaderSig

Variables


Functions


procedure Register;


function StripJunkFromString(s: String): String;

end with

function ZCallback(ZCallBackRec: PZCallBackStruct): LongBool;

The callback function must NOT be a member of a class } { We use the same callback function for ZIP and UNZIP

size of zip dir entry in local zip directory } { Dennis Passmore (Compuserve: 71640,2464) contributed the idea of passing an instance handle to the DLL, and, in turn, getting it back from the callback. This lets us referance variables in the TZipMaster class from within the callback function. Way to go Dennis!


Types


AddOpts = set of AddOptsEnum

AddOptsEnum = ( AddDirNames, AddRecurseDirs, AddMove, AddFreshen, AddUpdate,
                  AddZipTime,  AddForceDOS, AddHiddenFiles, AddEncrypt);

ExtrOpts = set of ExtrOptsEnum

ExtrOptsEnum = ( ExtrDirNames, ExtrOverWrite, ExtrFreshen, ExtrUpdate,
                   ExtrTest );

OvrOpts = ( OvrConfirm, OvrAlways, OvrNever );

ProgressType = ( NewFile, ProgressUpdate, EndOfBatch );
'PK'56
PZipDirEntry = ^ZipDirEntry

SFXOpts = set of SFXOptsEnum

SFXOptsEnum = ( SFXAskCmdLine, SFXAskFiles, SFXHideOverWriteBox );

TMessageEvent = procedure(Sender : TObject;
          ErrCode: Integer;
          Message : String) of object

TProgressEvent = procedure(Sender : TObject;
          ProgrType: ProgressType;
          Filename: String;
          FileSize: Longint) of object

ZipDirEntry = record
Version : WORD;
Flag : WORD;
CompressionMethod : WORD;
DateTime : Longint;
CRC32 : Longint;
CompressedSize : Longint;
UncompressedSize : Longint;
FileNameLength : WORD;
ExtraFieldLength : WORD;
FileName : String;
end;

Constants

CentralFileHeaderSig = $02014b50

'PK'34 (in file: 504b0304)

EndCentralDirSig = $06054b50

'PK'12

LocalFileHeaderSig = $04034b50

these are stored in reverse order

Variables