TJclCompressArchive (Jedi项目).如何选择压缩格式



在Win7 x64上使用Delphi XE,有绝地类库版本。3.45和7z.dll版本。

9.20,
Uses .., jclcompression;
procedure TForm1.Button1Click(Sender: TObject);
const
   an = 'C:1.7z';
   fn = 'C:1.txt';
var Arc: TJclCompressArchive;
    Ext: TJclCompressArchiveClass;
begin
   Ext := GetArchiveFormats.FindCompressFormat(an);
   Arc := Ext.Create(an);
   Arc.AddFile(ExtractFileName(fn), fn);
   Arc.Password:='123';
   // arc. .. compresslevel:= 0..9 (or store..ultra)
   // arc. .. compressmethod:= (lzma,lzma,bzip2,ppmd)
   // arc. .. dictionarysize:= (1 shl 1..30)
   // arc. .. comressheader:= true-false
   // arc. .. cryptalgorithm:= ??? aes256 only?
   // arc. .. threads:= 1..2
   // arc. .. cryptheader:= true-false
   Arc.Compress;
end;

我如何选择上面显示的压缩选项作为注释"//"?

绝地文献几乎没有,会有人遇到这样的问题吗?

尝试了一些不同版本的"job"与7z: tSevenZip, SevenZipVcl, SevenZip Api,但得出的结论是,最新版本的job与7z.dll在项目Jedi.

7z特定的参数是由TJcl7zCompressArchive类实现的,所以这是你必须使用的…试试

Ext := GetArchiveFormats.FindCompressFormat(an);
if(Ext <> nil)and(Ext.InheritsFrom(TJcl7zCompressArchive))then begin
   Arc := Ext.Create(an);
   TJcl7zCompressArchive(Arc).SetCompressionLevel(9);
   TJcl7zCompressArchive(Arc).SetCompressHeader(True);
   ...
end;

相关内容

  • 没有找到相关文章

最新更新