Registriert seit: 8. Jan 2007
472 Beiträge
|
AW: d7zip / sevenzip.pas von mail2nnv - Fragen zur Funktionsweise, DictionarySize, ..
30. Apr 2023, 22: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 23:05 Uhr)
Grund: Beispiel vereinfacht
|
|
Zitat
|