📄 unit6.pas
字号:
Unit Unit6;
Interface
{$I compiler.inc}
{$IFDEF DEL6_OR_HIGHER}
{$WARN UNIT_PLATFORM OFF}
{$ENDIF}
Uses
Windows,
Messages,
SysUtils,
Classes,
Graphics,
Controls,
Forms,
Dialogs,
StdCtrls,
ExtCtrls,
FileCtrl,
ztvGbls,
ztvZipView,
ztvZipRun;
Type
TfrmRunFile = Class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
ButtonOK: TButton;
ButtonCancel: TButton;
ButtonBrowse: TButton;
RadioGroup1: TRadioGroup;
OpenDialog1: TOpenDialog;
Procedure ButtonOKClick(Sender: TObject);
Procedure ButtonCancelClick(Sender: TObject);
Procedure FormActivate(Sender: TObject);
Procedure ButtonBrowseClick(Sender: TObject);
Private
{ Private declarations }
Public
{ Public declarations }
End;
Var
frmRunFile: TfrmRunFile;
Implementation
Uses ComCtrls,
Main;
{$R *.DFM}
{$I defines.inc} //use our TZipView or Delphi's slow TListView control?
Const
(* Column Headers *)
COLUMN_FILENAME = 0;
COLUMN_FOLDER = 7;
COLUMN_VOLUMENAME = 12;
//-------------------------------------------------------------
Procedure TfrmRunFile.FormActivate(Sender: TObject);
Var
FileName: String;
{$IFDEF ListView}
SelectedItem: TListItem;
{$ELSE}
Index: Integer;
{$ENDIF}
Begin
{$IFDEF ListView}
SelectedItem := frmMain.ListView1.Selected;
If SelectedItem <> Nil Then
FileName := SelectedItem.SubItems[COLUMN_FOLDER - 1] + SelectedItem.Caption;
{$ELSE}
If frmMain.ZipView1.SelCount > 0 Then
Begin
Index := frmMain.ZipView1.ItemIndex;
FileName := frmMain.ZipView1.Column[Index, COLUMN_FOLDER] +
frmMain.ZipView1.Column[Index, COLUMN_FILENAME];
End;
{$ENDIF}
Edit1.Text := FileName;
Edit2.SetFocus;
End;
//-------------------------------------------------------------
Procedure TfrmRunFile.ButtonOKClick(Sender: TObject);
Var
FS: TStrings;
{$IFDEF ListView}
LI: TListItem;
{$ELSE}
Index: Integer;
{$ENDIF}
Begin
If Edit1.Text = '' Then
Close();
FS := frmMain.ZipRun1.FileSpec;
(* Set frmMain.ZipRun1.Archive property *)
frmMain.ZipRun1.ArchiveFile := frmMain.ZipTV1.ArchiveFile;
frmMain.ZipRun1.UseStoredDirs := CheckBox1.Checked;
frmMain.ZipRun1.CommandLineParams := Edit2.Text;
// we don't recommend the use of emExecuteNoWait! This setting was included
// for the very few situations which would require a shell no wait.
If CheckBox2.Checked Then
frmMain.ZipRun1.ExecutionMethod := emExecuteAndWait
Else
frmMain.ZipRun1.ExecutionMethod := emExecuteNoWait;
(* Clear frmMain.ZipRun1.FileSpec property for *)
(* reassignments below *)
FS.Clear();
Case RadioGroup1.ItemIndex Of
(* ALL - since the ZipTV1 component's filespec *)
(* are the files visual to the user, he expects *)
(* only those visible to mean ALL. *)
0: FS.Add('*.*');
(* SINGLE - add the filename to the cleared list *)
1:
Begin
{$IFDEF ListView}
LI := frmMain.ListView1.Selected;
FS.Add(AppendDirTail(
LI.SubItems[COLUMN_FOLDER - 1]) +
LI.Caption);
{$ELSE}
Index := frmMain.ZipView1.ItemIndex;
FS.Add(AppendDirTail(
frmMain.ZipView1.Column[Index, COLUMN_FOLDER]) +
frmMain.ZipView1.Column[Index, COLUMN_FILENAME]);
{$ENDIF}
End;
End;
ModalResult := mrOK;
End;
//-------------------------------------------------------------
Procedure TfrmRunFile.ButtonCancelClick(Sender: TObject);
Begin
Close;
End;
//-------------------------------------------------------------
Procedure TfrmRunFile.ButtonBrowseClick(Sender: TObject);
Begin
If OpenDialog1.Execute Then
Edit2.Text := OpenDialog1.FileName;
End;
//-------------------------------------------------------------
End.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -