System.ZLib.ZCompress

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

procedure ZCompress(const inBuffer: Pointer; inSize: Integer; out outBuffer: Pointer; out outSize: Integer; level: TZCompressionLevel);
procedure ZCompress(const inBuffer: Pointer; inSize: Integer; out outBuffer: Pointer; out outSize: Integer; level: TCompressionLevel);
procedure ZCompress(const inBuffer: TBytes; out outBuffer: TBytes; level: TZCompressionLevel);

C++

extern DELPHI_PACKAGE void __fastcall ZCompress(const void * inBuffer, int inSize, /* out */ void * &outBuffer, /* out */ int &outSize, TZCompressionLevel level = (TZCompressionLevel)(0x2))/* overload */;

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
procedure
function
public
System.ZLib.pas
System.ZLib.hpp
System.ZLib System.ZLib


Beschreibung

ZCompress komprimiert einen Quellpuffer in einem Zielpuffer.

Mit dieser Methode wird der im Parameter inBuffer angegebene Puffer in dem im Parameter outBuffer angegebenen Puffer komprimiert.

inSize repräsentiert die Größe (in Byte) von inBuffer. outBuffer muss nicht initialisiert werden. Der optionale Parameter level repräsentiert die Komprimierungsstufe. Die Funktion kann ohne den Parameter level aufgerufen werden. In diesem Fall wird level auf den Vorgabewert (zcDefault) gesetzt. Durch Aufruf der Funktion werden die Parameter outBuffer und outSize geändert. outBuffer zeigt auf die komprimierten Daten und outSize repräsentiert die Größe (in Byte) der komprimierten Daten.

ZCompress kann einen EZCompressionError auslösen.

Beispiel:

function myCompress(mySource: array of byte): Pointer;
var
  destinationSize, sourceLen: integer;
  outPut: Pointer;
  Source: PByte;
begin
  Source := @mySource[0];
  sourceLen := Length(mySource);
  ZCompress(Source, sourceLen, outPut, destinationSize, zcDefault);
  Result := outPut;
end;

Siehe auch