net help full from descargar como delphi 7zip

help - ¿Usando 7-Zip de Delphi?



como descargar 7 zip (7)

Me gustaría utilizar las DLL 7-Zip de Delphi pero no he podido encontrar documentación decente o ejemplos. ¿Alguien sabe cómo usar las DLL 7-Zip de Delphi?




Ampliando la respuesta de Oliver Giesen, como con muchas de las bibliotecas de códigos de JEDI, no pude encontrar ninguna documentación decente, pero esto funciona para mí:

uses JclCompression; procedure TfrmSevenZipTest.Button1Click(Sender: TObject); const FILENAME = ''F:/temp/test.zip''; var archiveclass: TJclDecompressArchiveClass; archive: TJclDecompressArchive; item: TJclCompressionItem; s: String; i: Integer; begin archiveclass := GetArchiveFormats.FindDecompressFormat(FILENAME); if not Assigned(archiveclass) then raise Exception.Create(''Could not determine the Format of '' + FILENAME); archive := archiveclass.Create(FILENAME); try if not (archive is TJclSevenZipDecompressArchive) then raise Exception.Create(''This format is not handled by 7z.dll''); archive.ListFiles; s := Format(''test.zip Item Count: %d''#13#10#13#10, [archive.ItemCount]); for i := 0 to archive.ItemCount - 1 do begin item := archive.Items[i]; case item.Kind of ikFile: s := s + IntToStr(i+1) + '': '' + item.PackedName + #13#10; ikDirectory: s := s + IntToStr(i+1) + '': '' + item.PackedName + ''/'#13#10;//'' end; end; if archive.ItemCount > 0 then begin // archive.Items[0].Selected := true; // archive.ExtractSelected(''F:/temp/test''); archive.ExtractAll(''F:/temp/test''); end; ShowMessage(s); finally archive.Free; end; end;



Intenté muchas soluciones y tuve problemas, este funcionó.

Descargue https://github.com/zedalaye/d7zip Copie 7z.dll y sevenzip.pas a su proyecto y agregue sevenzip.pas a su proyecto.

Entonces puedes usar esto para descomprimir:

using sevenzip; procedure Unzip7zFile (zipFullFname:string); var outDir:string; begin with CreateInArchive(CLSID_CFormat7z) do begin OpenFile(zipFullFname); outDir := ChangeFileExt(zipFullFname, ''''); ForceDirectories (outDir); ExtractTo(outDir); end; end;

Uso:

Unzip7zFile(ExtractFilePath(Application.ExeName) + ''STR_SI_FULL_1000420.7z'');


Si tiene la intención de utilizar 7Zip solo para comprimir y descomprimir, eche un vistazo al componente TZip . He escrito un pequeño contenedor para mis propios fines, que puedes encontrar en el archivo Zipper.pas , puedes reutilizarlo.