Thema: Delphi ZLib

Einzelnen Beitrag anzeigen

Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: ZLib

  Alt 9. Jan 2004, 07:33
Schau dir mal Turbopower Abbrevia an.

Die Kompresskomponente kann auch Stream komprimieren.
Einfach folgenden Code entsprechend anpassen. Für die Compression mußt du eine entsprechende Funktion schreiben

Code:
procedure DeCompressZLib(SourceFile, DestinationFile: String);
var
  StreamIn: TStream;
  StreamOut: TStream;
  GzHelp: TAbZLStreamHelper;
begin
  if FileExists(SourceFile) then
  begin
    StreamIn := TFileStream.Create(SourceFile, fmOpenRead);
    DeleteFile(DestinationFile);
    StreamOut := TFileStream.Create(DestinationFile, fmCreate);
    GzHelp := TAbZLStreamHelper.Create(StreamIn);
    try
      GzHelp.ReadHeader;
      GzHelp.ExtractItemData(StreamOut);
      GzHelp.ReadTail;
    finally
      GzHelp.Free;
      StreamIn.Free;
      StreamOut.Free;
    end;
  end;
end;
  Mit Zitat antworten Zitat