unit1.pas

来自「ziptv为delphi控件」· PAS 代码 · 共 99 行

PAS
99
字号
(*
 This is a demonstration to show the use of the FilesInArchive and
   GetFileInfo properties in the TZipTV component.

   To use, open an archive.  When the archive's file list is displayed
   (using the FilesInArchive) double click a file and the clicked files
   info is retrieved and displayed using the GetFileInfo property *)
Unit Unit1;

Interface

Uses
   Windows,
   Messages,
   SysUtils,
   Classes,
   Graphics,
   Controls,
   Forms,
   Dialogs,
   StdCtrls,
   Menus,
   ComCtrls,
   ExtCtrls,
   ztvBase,
   ztvGbls,
   ztvZipTV,
   Err_Msgs,
   ztvRegister;

Type
   TForm1 = Class(TForm)
      ZipTV1: TZipTV;
      ListBox1: TListBox;
      MainMenu1: TMainMenu;
      File1: TMenuItem;
      Open1: TMenuItem;
      Exit1: TMenuItem;
      OpenDialog1: TOpenDialog;
      Panel1: TPanel;
      StatusBar1: TStatusBar;
      Procedure Open1Click(Sender: TObject);
      Procedure Exit1Click(Sender: TObject);
      Procedure ListBox1DblClick(Sender: TObject);
   Private
      { Private declarations }
   Public
      { Public declarations }
   End;

Var
   Form1: TForm1;

Implementation

Uses Unit2;

{$R *.DFM}

Procedure TForm1.Open1Click(Sender: TObject);
Begin
   ListBox1.Clear;

   OpenDialog1.InitialDir := GetCurrentDir;
   OpenDialog1.Filter := LoadStr(F_TZIPTV); //F_TZIPTV in Err_msgs
   OpenDialog1.Title := 'View Archive...';
   OpenDialog1.Options := [ofHideReadOnly, ofFileMustExist, ofPathMustExist];

   If OpenDialog1.Execute() Then
   Begin
      //ArcTypeNames in ztvGbls
      ZipTV1.ArchiveFile := OpenDialog1.FileName;
      ZipTV1.FileSpec.Add('*.*');
      ZipTV1.FilesInArchive(ListBox1.Items);

      With StatusBar1 Do
      Begin
         Panels[0].Text := ArcTypeNames[ZipTV1.ArcType];
         Panels[1].Text := 'Files: ' + IntToStr(ZipTV1.Count);
         Panels[2].Text := 'Packed: ' + IntToStr(ZipTV1.TotalPackedSize);
         Panels[3].Text := 'Unpacked: ' + IntToStr(ZipTV1.TotalUnpackedSize);
         Panels[4].Text := 'Ratio: ' + IntToStr(CalcRatio(ZipTV1.TotalPackedSize,
            ZipTV1.TotalUnpackedSize)) + '%';
      End;
   End;
End;

Procedure TForm1.Exit1Click(Sender: TObject);
Begin
   Close;
End;

Procedure TForm1.ListBox1DblClick(Sender: TObject);
Begin
   Form2.ShowModal;
End;

End.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?