| Class TCabinetWriter (unit Cabinet) |
TCabinetWriter class -- for compressing files into a new cabinet file DoFileStatus DoFolderStatus DoCabinetStatus DoGetNextCabinet DoFilePlaced DoGetTempFile DoGetOpenInfo The virtual equivalents of their respective event handlers (OnFileStatus etc.). These implement the minimal functionality required for creating cabinets in the file system. In order to work with non-file-system data, such as memory-mapped files or custom streams, they must be overridden, or the event handlers assigned, to provide the additional functionality Open Create a cabinet file for compression. CabinetFileName specifies the file name. DiskName specifies the initial disk name (may be empty). MaximumCabSize specifies the maximum size of the cabinet. FolderThreshold specifies the folder threshold, which seems to be the size, in bytes, of each logical cabinet folder. SetId specifies an application-specific identifier that is stored in the cabinet Close Close the cabinet AddFile Add a file to the opened cabinet. SourceFileName specifies the name of the file to add. DestFileName specifies the name as it is stored in the cabinet. Specify afoExecuteOnExtract for Options if the file should be executed upon extraction. Compression specifies the compression parameters; use the MakeNoCompression, MakeMsZipCompression and MakeLzxCompression helper functions to construct a value FlushCabinet Flush the cabinet. If GetNextCabinet is set to True, the OnGetNextCabinet event is called to request further cabinet information FlushFolder Flush the current folder and reset the compression state data Properties: Context The FCI context FailOnIncompressible Fail compression if a file is found to be incompressible (compressed size exceeds uncompressed size) Events: OnFileStatus OnFolderStatus OnCabinetStatus OnGetNextCabinet OnFilePlacedEvent OnGetOpenInfo OnGetTempFile
| Constructors |
constructor Create (AOwner : TComponent);| Functions |
procedure AddFile (const SourceFileName, DestFileName : string;
const Options : TAddFileOptions;
const Compression : TCompressionParameters);
procedure Close;
destructor Destroy;
procedure FlushCabinet (GetNextCabinet : Boolean);
procedure FlushFolder;
procedure Open (const CabinetFileName, DiskName : string;
MaximumCabSize, FolderThreshold, SetId : Longint);
procedure DoCabinetStatus (PreEstimatedSize, ActualSize : Longint;
var WantedSize : Longint);
procedure DoFilePlaced (var CabParameters : TCCAB;
const FileName : string; FileLength : Longint; Continuation : Boolean;
var AbortProcessing : Boolean);
procedure DoFileStatus (CompressedSize, UncompressedSize : Longint;
var ResultCode : Integer);
procedure DoFolderStatus (SizeCopied, TotalSize : Longint;
var ResultCode : Integer);
procedure DoGetNextCabinet (var CabParameters : TCCAB;
var NewCabFileName : string; PreviousCabEstimatedSize : Longint;
var AbortCreation : Boolean);
procedure DoGetOpenInfo (const FileName : string; var Date, Time,
Attributes : Smallint; var FileHandle, ResultCode : Longint);
procedure DoGetTempFile (var TempFileName : string;
var Success : Boolean);| Properties |
property FailOnIncompressible : Boolean
property FileHandler :
property FileSupport : Boolean
property Context : HFCI| Events |
event OnCabinetStatus : TCabinetStatusEvent
event OnFilePlacedEvent : TFilePlacedEvent
event OnFileStatus : TFileStatusEvent
event OnFolderStatus : TFolderStatusEvent
event OnGetNextCabinet : TGetNextCabinetEvent
event OnGetOpenInfo : TGetOpenInfoEvent
event OnGetTempFile : TGetTempFileEvent| Variables |
FContext : HFCI;
FFailOnIncompressible : Boolean;
FFileSupport : Boolean;
FOnCabinetStatus : TCabinetStatusEvent;
FOnFilePlacedEvent : TFilePlacedEvent;
FOnFileStatus : TFileStatusEvent;
FOnFolderStatus : TFolderStatusEvent;
FOnGetNextCabinet : TGetNextCabinetEvent;
FOnGetOpenInfo : TGetOpenInfoEvent;
FOnGetTempFile : TGetTempFileEvent;| Constructors |
constructor Create (AOwner : TComponent);| Functions |
procedure AddFile (const SourceFileName, DestFileName : string;
const Options : TAddFileOptions;
const Compression : TCompressionParameters);
procedure Close;
destructor Destroy;
procedure FlushCabinet (GetNextCabinet : Boolean);
procedure FlushFolder;
procedure Open (const CabinetFileName, DiskName : string;
MaximumCabSize, FolderThreshold, SetId : Longint);
procedure DoCabinetStatus (PreEstimatedSize, ActualSize : Longint;
var WantedSize : Longint);
procedure DoFilePlaced (var CabParameters : TCCAB;
const FileName : string; FileLength : Longint; Continuation : Boolean;
var AbortProcessing : Boolean);
procedure DoFileStatus (CompressedSize, UncompressedSize : Longint;
var ResultCode : Integer);TCabinetWriter
procedure DoFolderStatus (SizeCopied, TotalSize : Longint;
var ResultCode : Integer);
procedure DoGetNextCabinet (var CabParameters : TCCAB;
var NewCabFileName : string; PreviousCabEstimatedSize : Longint;
var AbortCreation : Boolean);
procedure DoGetOpenInfo (const FileName : string; var Date, Time,
Attributes : Smallint; var FileHandle, ResultCode : Longint);
procedure DoGetTempFile (var TempFileName : string;
var Success : Boolean);| Properties |
property FailOnIncompressible : Boolean
property FileHandler :
property FileSupport : Boolean
property Context : HFCI| Events |
event OnCabinetStatus : TCabinetStatusEvent
event OnFilePlacedEvent : TFilePlacedEvent
event OnFileStatus : TFileStatusEvent
event OnFolderStatus : TFolderStatusEvent
event OnGetNextCabinet : TGetNextCabinetEvent
event OnGetOpenInfo : TGetOpenInfoEvent
event OnGetTempFile : TGetTempFileEvent| Variables |
FContext : HFCI;
FFailOnIncompressible : Boolean;
FFileSupport : Boolean;
FOnCabinetStatus : TCabinetStatusEvent;
FOnFilePlacedEvent : TFilePlacedEvent;
FOnFileStatus : TFileStatusEvent;
FOnFolderStatus : TFolderStatusEvent;
FOnGetNextCabinet : TGetNextCabinetEvent;
FOnGetOpenInfo : TGetOpenInfoEvent;
FOnGetTempFile : TGetTempFileEvent;