Einzelnen Beitrag anzeigen

mytbo

Registriert seit: 8. Jan 2007
461 Beiträge
 
#26

AW: d7zip / sevenzip.pas von mail2nnv - Fragen zur Funktionsweise, DictionarySize, ..

  Alt 30. Apr 2023, 21:14
Ich hätte nämlich definitiv Interesse an einer funtionierenden Import-Unit für die 7z.dll, da ich nach meinem Urlaub damit große Dateien ein- und auspacken wollte, und zwar idealerweise mit bzip2.
Wenn es auch die mORMot Unit mormot.lib.win7zip sein darf, dann zum Beispiel so:
Delphi-Quellcode:
uses
  mormot.core.base,
  mormot.core.text,
  mormot.core.test,
  mormot.core.os,
  mormot.lib.win7zip;

var
  zipFileName: TFileName;
  libReader: I7zReader;
  libWriter: I7zWriter;
  content: RawByteString;
begin
  content := TSynTestCase.RandomIdentifier(1 shl 12);
  zipFileName := MakePath([Executable.ProgramFilePath, 'TestDaten.7z']);

  libWriter := New7zWriter(fh7z); // fhBZip2
  libWriter.SetCompressionLevel(3); // x Parameter (1/3/5/7/9), default 5
  libWriter.AddBuffer('Daten\TestDaten.dat', content);
  libWriter.SaveToFile(zipFileName);
  libWriter := Nil;

  libReader := New7zReader(zipFileName);
  var libData: RawByteString := libReader.Extract('Daten\TestDaten.dat');
  if (Length(content) = Length(libData))
    and CompareMem(Pointer(content), Pointer(libData), Length(content)) then
  begin
    ShowMessage('Ok!');
  end;
Bis bald...
Thomas

Geändert von mytbo (30. Apr 2023 um 22:05 Uhr) Grund: Beispiel vereinfacht
  Mit Zitat antworten Zitat