TJETUnACE v2.0
Shareware by John Tisch
tidrulee.gif (1100 bytes)

Purpose:

    This Delphi component is intended to allow you to extract files from archives created using the ACE compression format. Some of the features it includes are:

Features limited in shareware version:

    Fee to upgrade to full version removing shareware limitations: $10
   Contact: John Tisch
    WWW: http://home.earthlink.net/~jetisch/

Requirements:

Installation:

Properties:

Name

Access

Type

Default

Usage

CurrentData Runtime PChar nil Contains a pointer to a memory block which holds the currently active data being either extracted or tested. **Should only be used during the ProcessData event callback
CurrentDataSize Runtime Integer 0 Contains the size of the memory block held in the CurrentData PChar property
CurrentFile Runtime String '' Contains the name of the file currently being extracted or tested
CurrentVolume Runtime String '' Contains the current volume name of the archive set being extraced or tested
DisplayGrid Design & Runtime TStringGrid nil Used as a way to display the files in an archive automatically whenever the RetrieveHeaders method is called
ShowCommentsDlg Design &
Runtime
Boolean True Defines whether or not to display the archive comments
ShowProgressDlg Design &
Runtime
Boolean True Defines whether or not to display a progress dialog when extracting
Version Design String N/A Used for version information

Methods:

Name: function ExtractAllFiles(ArchiveFile, ExtractPath: String): Integer
Parameters: ArchiveFile: String The full path and filename of the archive to open for extraction
ExtractPath: String The full path of where to extract files to
Returns: ACEERR_MEM = 1
ACEERR_FILES = 2
ACEERR_FOUND = 3
ACEERR_FULL = 4
ACEERR_OPEN = 5
ACEERR_READ = 6
ACEERR_WRITE = 7
ACEERR_CLINE = 8
ACEERR_CRC = 9
ACEERR_OTHER = 10
ACEERR_EXISTS = 11
ACEERR_END = 128
ACEERR_HANDLE = 129
ACEERR_CONSTANT = 130
ACEERR_NOPASSW = 131
ACEERR_METHOD = 132
ACEERR_USER = 255
 

If extraction is successfull an ACEERR_END is returned.

Failure would be any other result

Name: function ExtractSelectedFiles(SelectedFiles: TStringList; ArchiveFile, ExtractPath: String): Integer
Parameters: SelectedFiles: TStringList A StringList composed of filenames to extract from the archive passed in parameter ArchFile
ArchiveFile: String The full path and filename of the archive to open for extraction
ExtractPath: String The full path of where to extract files to
Returns: ACEERR_MEM = 1
ACEERR_FILES = 2
ACEERR_FOUND = 3
ACEERR_FULL = 4
ACEERR_OPEN = 5
ACEERR_READ = 6
ACEERR_WRITE = 7
ACEERR_CLINE = 8
ACEERR_CRC = 9
ACEERR_OTHER = 10
ACEERR_EXISTS = 11
ACEERR_END = 128
ACEERR_HANDLE = 129
ACEERR_CONSTANT = 130
ACEERR_NOPASSW = 131
ACEERR_METHOD = 132
ACEERR_USER = 255
 

If extraction is successfull an ACEERR_END is returned.

Failure would be any other result

Name: function TestAllFiles(ArchiveFile: String): Integer
Parameters: ArchiveFile: String The full path and filename of the archive to open for testing
Returns: ACEERR_MEM = 1
ACEERR_FILES = 2
ACEERR_FOUND = 3
ACEERR_FULL = 4
ACEERR_OPEN = 5
ACEERR_READ = 6
ACEERR_WRITE = 7
ACEERR_CLINE = 8
ACEERR_CRC = 9
ACEERR_OTHER = 10
ACEERR_EXISTS = 11
ACEERR_END = 128
ACEERR_HANDLE = 129
ACEERR_CONSTANT = 130
ACEERR_NOPASSW = 131
ACEERR_METHOD = 132
ACEERR_USER = 255
 

If test is successfull an ACEERR_END is returned.

Failure would be any other result

Name: function IsValidArchive(ArchiveFile: String): Boolean
Parameters: ArchiveFile: String The full path and filename of the archive to open for extraction
Returns: True If the ArchiveFile is of type ACE
False If the ArchiveFile is NOT of type ACE
Name: function RetrieveHeaderList(ArchiveFile: String): TStringList
Parameters: ArchiveFile: String The full path and filename of the archive to open for extraction
Returns: TStringList Check the returned TStringList.Count to determine if the archive was valid. Valid being greater than 0

Events:

Name Usage
AfterExtract: TNotifyEvent Executed after an extraction has completed
AfterTest: TNotifyEvent Executed after a test has completed
BeforeExtract: TNotifyEvent Executed before an extraction takes place
BeforeTest: TNotifyEvent Executed before a test takes place
DuringExtract: TNotifyEvent Executed during the extraction process
DuringTest: TNotifyEvent Executed during the test process
OnChangeVolume: TNotifyEvent Executed when a change of volume is taking place
OnProcessData: TNotifyEvent Executed when data is being processed

Example Program:

Notes:

    Any comments may be directed to: jetisch@earthlink.net

Code Example:

Assuming you have added a new TJETUnAce component to a form...

Example of extracting all files in an archive set to a directory:
JETUnACE1.ExtractAllFiles('C:\ACEFILE.ACE', 'C:\EXTRACT');

Example of testing all files in an archive set:
JETUnACE1.TestAllFiles('C:\ACEFILE.ACE', 'C:\EXTRACT');

Example of extracting a list of files from an archive to a directory:
procedure Form.ButtonClick(Sender: TObject);
var
   TmpStrList: TStringList;
   x: Integer;
begin
   TmpStrList := TStringList.Create;
   for x := StringGridMain.Selection.Top to StringGridMain.Selection.Bottom do
   begin
       TmpStrList.Add(StringGridMain.Cells[0,x]);
   end;
   JETUnACE1.ExtractSelectedFiles(TmpStrList, 'C:\ACEFILE.ACE', 'C:\EXTRACT');
   TmpStrList.Free;
end;

Example of checking if a file is a valid archive:
JETUnACE1.IsValidAchive('C:\ACEFILE.ACE');

Download TJETUnACE v1.0 for Delphi 4.x Now!
Download TJETUnACE v1.0 for Delphi 3.x Now!   

tidrulee.gif (1100 bytes)

Back Home Shareware Developers Games Resume Forw