ZipUncompressZlib Function

Action

Uncompresses a zipped data buffer, which was compressed with the ZipCompressZlib function.

Include file

Zip.bdh

Syntax

ZipUncompressZlib( in  sSource   : string,
                   in  nSrcLen   : number,
                   out sDest     : string,
                   in  nDstLen   : number optional,
                   out nOutLen   : number optional ) : boolean;

Return value

  • true if successful

  • false otherwise

Parameter Description
sSource Source buffer to be uncompressed.
nSrcLen Length of source buffer.
sDest Destination buffer used to store the uncompressed data.
nDstLen Length of destination buffer (optional).
nOutLen Number of bytes used in the destination buffer to store the uncompressed data (optional).

Example

transaction TMain
var
  sUnzipped: string;
  sZipped  : string;
  i        : number;
  nUnzipped: number;  

begin
  nUnzipped := sizeof(sUnzipped);
  for i := 1 to nUnzipped do
    sUnzipped[i] := chr(ord('a') + ((i-1) mod 26));
end;
  ZipCompressZlib(sUnzipped, STRING_COMPLETE, sZipped);
  WriteLn("Size of unzipped buffer: " + string (Binlen(sUnzipped)));
  WriteLn("Size of zipped buffer: " + string (Binlen(sZipped)));
  ZipUncompressZlib(sZipped, binlen(sZipped), sUnzipped);

  WriteData(sUnzipped);
end TMain;

Output:

Size of unzipped buffer: 254

Size of zipped buffer:   37

abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrst