113 lines
3.0 KiB
ObjectPascal
113 lines
3.0 KiB
ObjectPascal
(* ***** BEGIN LICENSE BLOCK *****
|
|
* Version: MPL 1.1
|
|
*
|
|
* The contents of this file are subject to the Mozilla Public License Version
|
|
* 1.1 (the "License"); you may not use this file except in compliance with
|
|
* the License. You may obtain a copy of the License at
|
|
* http://www.mozilla.org/MPL/
|
|
*
|
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
* for the specific language governing rights and limitations under the
|
|
* License.
|
|
*
|
|
* The Original Code is TurboPower Abbrevia
|
|
*
|
|
* The Initial Developer of the Original Code is
|
|
* TurboPower Software
|
|
*
|
|
* Portions created by the Initial Developer are Copyright (C) 1997-2002
|
|
* the Initial Developer. All Rights Reserved.
|
|
*
|
|
* Contributor(s):
|
|
*
|
|
* ***** END LICENSE BLOCK ***** *)
|
|
|
|
{*********************************************************}
|
|
{* ABBREVIA: EXTCAB.PAS *}
|
|
{* Copyright (c) TurboPower Software Co 1997 *}
|
|
{* All rights reserved. *}
|
|
{*********************************************************}
|
|
{* ABBREVIA Example program file *}
|
|
{*********************************************************}
|
|
|
|
unit CabExt1;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,
|
|
|
|
AbArcTyp, AbCBrows, ComCtrls, AbCabExt, AbCabTyp, AbBase, AbBrowse, AbMeter, AbUtils;
|
|
|
|
type
|
|
TForm1 = class(TForm)
|
|
Button1: TButton;
|
|
OpenDialog1: TOpenDialog;
|
|
Memo1: TMemo;
|
|
Label1: TLabel;
|
|
Button2: TButton;
|
|
AbMeter1: TAbMeter;
|
|
AbCabExtractor1: TAbCabExtractor;
|
|
procedure Button1Click(Sender: TObject);
|
|
procedure AbCabExtractor1ConfirmProcessItem(Sender: TObject;
|
|
Item: TAbArchiveItem; ProcessType: TAbProcessType;
|
|
var Confirm: Boolean);
|
|
procedure Button2Click(Sender: TObject);
|
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|
private
|
|
{ Private declarations }
|
|
public
|
|
{ Public declarations }
|
|
end;
|
|
|
|
var
|
|
Form1: TForm1;
|
|
|
|
implementation
|
|
|
|
{$R *.DFM}
|
|
|
|
const
|
|
MainCaption = 'Cabinet Extractor';
|
|
|
|
var
|
|
AbortFlag : Boolean;
|
|
|
|
procedure TForm1.Button1Click(Sender: TObject);
|
|
begin
|
|
if OpenDialog1.Execute then begin
|
|
with AbCabExtractor1 do begin
|
|
FileName := OpenDialog1.FileName;
|
|
BaseDirectory := ExtractFilePath(FileName);
|
|
Cursor := crHourglass;
|
|
try
|
|
ExtractFiles('*.*');
|
|
except {swallow exception if aborted}
|
|
end;
|
|
Cursor := crDefault;
|
|
end;
|
|
end;
|
|
Caption := MainCaption;
|
|
AbortFlag := False;
|
|
end;
|
|
|
|
procedure TForm1.AbCabExtractor1ConfirmProcessItem(Sender: TObject;
|
|
Item: TAbArchiveItem; ProcessType: TAbProcessType; var Confirm: Boolean);
|
|
begin
|
|
Caption := 'Extracting ' + Item.Filename;
|
|
Confirm := not AbortFlag;
|
|
end;
|
|
|
|
procedure TForm1.Button2Click(Sender: TObject);
|
|
begin
|
|
AbortFlag := True;
|
|
end;
|
|
|
|
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
|
|
begin
|
|
AbCabExtractor1.FileName := '';
|
|
end;
|
|
|
|
end.
|