⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit6.pas

📁 ziptv为delphi控件
💻 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 + -