System.ZLib.ZCompress
Delphi
level: TZCompressionLevel);
procedure ZCompress(const inBuffer: Pointer; inSize: Integer;
out outBuffer: Pointer; out outSize: Integer;
level: TCompressionLevel);
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;