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

📄 unit1.pas

📁 File Compression/Decompression Example Using ntdll.dll
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, XPMan, StdCtrls,UntNtCompress, Menus, ComCtrls, ImgList,
  PngImageList;

type
  TForm1 = class(TForm)
    OD1: TOpenDialog;
    GroupBox1: TGroupBox;
    Button1: TButton;
    Edit1: TEdit;
    XPManifest1: TXPManifest;
    Button2: TButton;
    GroupBox2: TGroupBox;
    Button3: TButton;
    Edit2: TEdit;
    Button4: TButton;
    PopupEmpty: TPopupMenu;
    ListViewLog: TListView;
    PngImageList1: TPngImageList;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure AddLog(Text:String);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.AddLog(Text:String);
var
Item:TListItem;
Begin
Item := ListViewLog.Items.Add;
Item.ImageIndex := 0;
item.Caption := UpperCase(TimeToStr(Time));
Item.SubItems.Add(Copy(Text,1,Pos('|',Text)-1));
Delete(Text,1,Pos('|',Text));
Item.SubItems.Add(Text);
End;

procedure TForm1.Button2Click(Sender: TObject);
begin
Od1.InitialDir := ParamStr(0);
OD1.Filter := 'Any File|*.*';
if OD1.Execute Then
Begin
 Edit1.Text := OD1.FileName;
 Button1.Enabled := True;
End;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
AddLog(ExtractFileName(Edit1.Text) + '|Compressing File...');
if CompressFile(Edit1.Text,Edit1.Text+ '.PRCF',2) Then AddLog(ExtractFileName(Edit1.Text) + '|File Compressed')
Else AddLog(ExtractFileName(Edit1.Text) + '|Error Compressing File !');
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
Od1.InitialDir := ParamStr(0);
OD1.Filter := 'Project RAT Compressed Files|*.PRCF*;|Any File|*.*';
OD1.DefaultExt := '*.PCRF';
if OD1.Execute Then
Begin
 Edit2.Text := OD1.FileName;
 Button3.Enabled := True;
End;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
Temp:String;
begin
Temp := Edit2.Text;
StringReplace(Temp,'.PRCF','',[rfReplaceAll]);
AddLog(ExtractFileName(Temp) + '|Decompressing File...');
if DecompressFile(Edit2.Text,Temp,2) Then AddLog(ExtractFileName(Temp) + '|File Decompressed')
Else AddLog(ExtractFileName(Temp) + '|Error Decompressing File');
end;

end.

⌨️ 快捷键说明

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