|
From: Peter T. <pe...@us...> - 2003-02-09 20:13:06
|
Update of /cvsroot/jvcl/jvcl/examples/JvZLibMultiple
In directory sc8-pr-cvs1:/tmp/cvs-serv6176/examples/JvZLibMultiple
Added Files:
JvZLibMultipleDemo.dof JvZLibMultipleDemo.dpr
JvZLibMultipleDemo.res MainFrm.dfm MainFrm.pas
Log Message:
New Demo for ZLibMultiple
--- NEW FILE: JvZLibMultipleDemo.dof ---
[Directories]
OutputDir=..\..\bin
UnitOutputDir=..\..\dcu
SearchPath=..\..\source;..\..\common
--- NEW FILE: JvZLibMultipleDemo.dpr ---
program JvZLibMultipleDemo;
uses
Forms,
MainFrm in 'MainFrm.pas' {frmMain};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TfrmMain, frmMain);
Application.Run;
end.
--- NEW FILE: JvZLibMultipleDemo.res ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: MainFrm.dfm ---
object frmMain: TfrmMain
Left = 306
Top = 160
ActiveControl = edSrcFolder
BorderStyle = bsDialog
Caption = 'ZLib Multiple Demo'
ClientHeight = 231
ClientWidth = 368
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Shell Dlg 2'
Font.Style = []
OldCreateOrder = False
Position = poScreenCenter
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 8
Top = 8
Width = 68
Height = 13
Caption = 'Source folder:'
end
object Label2: TLabel
Left = 8
Top = 112
Width = 106
Height = 13
Caption = 'Decompress to folder:'
end
object Label3: TLabel
Left = 8
Top = 56
Width = 75
Height = 13
Caption = 'Destination file:'
end
object lblFilename: TLabel
Left = 8
Top = 196
Width = 31
Height = 13
Anchors = [akLeft, akBottom]
Caption = 'Ready'
end
object btnCompress: TButton
Left = 191
Top = 182
Width = 75
Height = 25
Anchors = [akRight, akBottom]
Caption = '&Compress'
Enabled = False
TabOrder = 6
OnClick = btnCompressClick
end
object btnUnCompress: TButton
Left = 281
Top = 182
Width = 75
Height = 25
Anchors = [akRight, akBottom]
Caption = '&Decompress'
Enabled = False
TabOrder = 7
OnClick = btnUnCompressClick
end
object edSrcFolder: TEdit
Left = 8
Top = 24
Width = 320
Height = 21
Anchors = [akLeft, akTop, akRight]
TabOrder = 0
Text = 'C:\temp'
OnChange = edSrcFolderChange
end
object edDestFolder: TEdit
Left = 8
Top = 128
Width = 320
Height = 21
Anchors = [akLeft, akTop, akRight]
TabOrder = 4
Text = 'C:\temp\dc'
OnChange = edDestFolderChange
end
object edFilename: TEdit
Left = 8
Top = 72
Width = 320
Height = 21
Anchors = [akLeft, akTop, akRight]
TabOrder = 2
Text = 'C:\temp\temp.z'
OnChange = edSrcFolderChange
end
object pbProgress: TProgressBar
Left = 0
Top = 215
Width = 368
Height = 16
Align = alBottom
Min = 0
Max = 100
TabOrder = 8
end
object btnSrc: TButton
Left = 333
Top = 24
Width = 21
Height = 21
Anchors = [akTop, akRight]
Caption = '...'
TabOrder = 1
OnClick = btnSrcClick
end
object btnDestFile: TButton
Left = 333
Top = 72
Width = 21
Height = 21
Anchors = [akTop, akRight]
Caption = '...'
TabOrder = 3
OnClick = btnDestFileClick
end
object btnDestFolder: TButton
Left = 333
Top = 128
Width = 21
Height = 21
Anchors = [akTop, akRight]
Caption = '...'
TabOrder = 5
OnClick = btnDestFolderClick
end
end
--- NEW FILE: MainFrm.pas ---
unit MainFrm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, JvZLibMultiple, StdCtrls, ComCtrls;
type
TfrmMain = class(TForm)
btnCompress: TButton;
btnUnCompress: TButton;
Label1: TLabel;
edSrcFolder: TEdit;
Label2: TLabel;
edDestFolder: TEdit;
Label3: TLabel;
edFilename: TEdit;
pbProgress: TProgressBar;
lblFilename: TLabel;
btnSrc: TButton;
btnDestFile: TButton;
btnDestFolder: TButton;
procedure btnCompressClick(Sender: TObject);
procedure btnUnCompressClick(Sender: TObject);
procedure edDestFolderChange(Sender: TObject);
procedure edSrcFolderChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure btnSrcClick(Sender: TObject);
procedure btnDestFolderClick(Sender: TObject);
procedure btnDestFileClick(Sender: TObject);
private
{ Private declarations }
procedure DoProgress(Sender: TObject; Position, Total: Integer);
procedure DoCompressFile(Sender: TObject; const Filename: string);
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
implementation
uses
JvBrowseFolder;
{$R *.dfm}
procedure TfrmMain.DoCompressFile(Sender:TObject;const Filename:string);
begin
lblFilename.Caption := Filename;
Update;
end;
procedure TfrmMain.btnCompressClick(Sender: TObject);
var z:TJvZlibMultiple;
begin
ForceDirectories(ExtractFilePath(edFilename.Text));
z := TJvZlibMultiple.Create(nil);
Screen.Cursor := crHourGlass;
try
lblFilename.Caption := '';
pbProgress.Position := 0;
z.OnProgress := DoProgress;
z.OnCompressingFile := DoCompressFile;
z.CompressDirectory(edSrcFolder.Text,false,edFilename.Text);
finally
z.Free;
Screen.Cursor := crDefault;
end;
pbProgress.Position := 0;
lblFilename.Caption := 'Ready';
end;
procedure TfrmMain.btnUnCompressClick(Sender: TObject);
var z:TJvZlibMultiple;
begin
z := TJvZlibMultiple.Create(nil);
Screen.Cursor := crHourGlass;
try
lblFilename.Caption := '';
pbProgress.Position := 0;
z.OnProgress := DoProgress;
z.OnDecompressingFile := DoCompressFile;
z.DecompressFile(edFilename.Text,edDestFolder.Text,true);
finally
z.Free;
Screen.Cursor := crDefault;
end;
pbProgress.Position := 0;
lblFilename.Caption := 'Ready';
end;
procedure TfrmMain.DoProgress(Sender: TObject; Position, Total: Integer);
begin
pbProgress.Max := Total;
pbProgress.Position := Position;
Update;
end;
procedure TfrmMain.edDestFolderChange(Sender: TObject);
begin
btnUnCompress.Enabled := edDestFolder.Text <> '';
end;
procedure TfrmMain.edSrcFolderChange(Sender: TObject);
begin
btnCompress.Enabled := DirectoryExists(edSrcFolder.Text) and (edFilename.Text <> '');
end;
procedure TfrmMain.FormShow(Sender: TObject);
begin
edSrcFolderChange(Sender);
edDestFolderChange(Sender);
end;
procedure TfrmMain.btnSrcClick(Sender: TObject);
var S:string;
begin
S := edSrcFolder.Text;
if BrowseForFolder('Select source folder',false,S) then
edSrcFolder.Text := S;
end;
procedure TfrmMain.btnDestFolderClick(Sender: TObject);
var S:string;
begin
S := edDestFolder.Text;
if BrowseForFolder('Select source folder',true,S) then
edDestFolder.Text := S;
end;
procedure TfrmMain.btnDestFileClick(Sender: TObject);
begin
with TSaveDialog.Create(self) do
try
InitialDir := '.';
Title := 'Select destination file';
Filename := edFilename.Text;
if Execute then
edFilename.Text := Filename;
finally
Free;
end;
end;
end.
|