我正在尝试使用命令ZipDirectoryContents创建一个包含Delphi Tokyo的zip文件,该命令有4个参数。他们是
<body onload=d=Date.now,t=d(s=0)><p style="float:left" onclick="(e=d(++s)-t)<15e3?style.margin=e%300+'px 0 0 '+e*7%300 + 'px':alert(s)">X</p></body>
是否有人可以告诉我如何使用这些参数,特别是TZipProgressEvent来显示zip文件的进度,因为它正在添加目录中的文件。感谢
答案 0 :(得分:1)
以下是Embarcadero提供的答案
unit Unit16;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls,System.Zip, Vcl.ComCtrls;
type
TForm16 = class(TForm)
Button1: TButton;
ProgressBar1: TProgressBar;
StaticText1: TStaticText;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
PreviousFilename : string;
public
{ Public declarations }
procedure OnZipProgressEvent (Sender: TObject; FileName: string; Header: TZipHeader; Position: Int64);
end;
var
Form16: TForm16;
implementation
{$R *.dfm}
procedure TForm16.Button1Click(Sender: TObject);
begin
TZipFile.ZipDirectoryContents('C:\temp\Test.zip','c:\temp\zipTest',zcDeflate,OnZipProgressEvent);
end;
procedure TForm16.OnZipProgressEvent(Sender: TObject; FileName: string;
Header: TZipHeader; Position: Int64);
begin
if PreviousFilename <> FileName then
begin
StaticText1.Caption := ExtractFileName(FileName);
PreviousFilename := FileName;
ProgressBar1.Position := 0;
end
else
ProgressBar1.Position := (Position * 100) div Header.UncompressedSize ;
Application.ProcessMessages;
end;
end.