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

📄 unit1.pas

📁 很好用的Delphi文件压缩控件
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, OBRARCompress;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    SourceFileMemo: TMemo;
    RARFileEdit: TEdit;
    BtnRun: TButton;
    BtnClose: TButton;
    ProgressBar1: TProgressBar;
    Label3: TLabel;
    procedure BtnRunClick(Sender: TObject);
    procedure BtnCloseClick(Sender: TObject);
  private
    OBRARCompress1: TOBRARCompress;
    procedure OBCompressing(Sender: TObject;Progress: Integer);
    procedure UpdateControlsStatus(Enabled : Boolean);
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BtnRunClick(Sender: TObject);
begin
  //如果为TRUE的,而文件路径又太长的时候,Memo会自动换行,
  //会导致下面OBRARCompress1.SourceFiles.Assign得到的文件名不正确
  SourceFileMemo.WordWrap:=false;
  Screen.Cursor := crHourGlass;
  UpdateControlsStatus(False);
  //动态创建OBRARCompress控件
  OBRARCompress1:=TOBRARCompress.Create(self);
  try
    OBRARCompress1.OnCompressing:=OBCompressing;
    OBRARCompress1.SourceFiles.Assign(SourceFileMemo.Lines);
    OBRARCompress1.RARFileName := RARFileEdit.Text;
    if OBRARCompress1.Compress then
      ShowMessage('压缩成功啦 !')
    else
      ShowMessage('压缩失败啦 !');
  finally
    OBRARCompress1.Free;
    UpdateControlsStatus(True);
    Screen.Cursor := crDefault;
  end;
end;

procedure TForm1.BtnCloseClick(Sender: TObject);
begin
  Close;
end;

procedure TForm1.OBCompressing(Sender: TObject;Progress: Integer);
begin
  ProgressBar1.Position := Progress;
  Application.ProcessMessages;
end;

procedure TForm1.UpdateControlsStatus(Enabled: Boolean);
begin
  RARFileEdit.Enabled := Enabled;
  SourceFileMemo.Enabled := Enabled;
  BtnRun.Enabled := Enabled;
  BtnClose.Enabled := Enabled;
end;

end.

⌨️ 快捷键说明

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