System.ZLib.ZCompress
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 */;
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;