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 */;
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
procedure function |
public | System.ZLib.pas System.ZLib.hpp |
System.ZLib | System.ZLib |
Description
ZCompress compresse un tampon source dans un tampon de destination.
Elle compresse le tampon spécifié par inBuffer
dans le tampon spécifié par outBuffer
.
inSize
représente la taille (exprimée en octets) de inBuffer
. outBuffer
ne doit pas être initialisé. Le paramètre facultatif level
représente le niveau de compression. La fonction peut être appelée sans le paramètre level
. Dans ce cas, level
est défini sur la valeur par défaut : zcDefault
. L'appel de la fonction modifie les paramètres outBuffer
et outSize
. outBuffer
pointe sur les données compressées, alors que outSize
représente la taille (exprimée en octets) des données compressées.
ZCompress peut déclencher une erreur de compression EZCompressionError.
Voir l'exemple de code suivant :
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;