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.