System.ZLib.ZCompress

De RAD Studio API Documentation
Aller à : navigation, rechercher

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;

Voir aussi