Las funciones de la libreria hablan por si mismo, pero googleando encontre este ejemplo, q se puede personalizar..
Código Delphi
[-] program ZLibTest;
{$APPTYPE CONSOLE}
uses SysUtils, Classes, ZLib;
var
FileName: String;
CompFileStream: TStream;
CompressionStream: TCompressionStream;
FileStream: TStream;
DecompressionStream: TDecompressionStream;
Buffer: Array[0..4095] of Char;
BufLen: Integer;
begin
if ParamCount < 1 then Halt;
FileName := ParamStr(1);
Write('Compressing ',FileName,' ... ');
FileStream := TFileStream.Create(FileName,fmOpenRead OR fmShareDenyWrite);
CompFileStream := TFileStream.Create(FileName+'.compress',fmCreate);
CompressionStream := TCompressionStream.Create(clDefault,CompFileStream);
CompressionStream.CopyFrom(FileStream,0);
CompressionStream.Free;
CompFileStream.Free;
FileStream.Free;
Writeln('Done');
Write('Decompressing ',FileName,'.compress ... ');
CompFileStream := TFileStream.Create(FileName+'.compress', fmOpenRead OR fmShareDenyWrite);
FileStream := TFileStream.Create(FileName+'.uncompress', fmCreate);
DecompressionStream := TDecompressionStream.Create(CompFileStream);
BufLen := DecompressionStream.Read(Buffer,SizeOf(Buffer));
while BufLen > 0 do
begin
FileStream.Write(Buffer,BufLen);
BufLen := DecompressionStream.Read(Buffer,SizeOf(Buffer));
end;
DecompressionStream.Free;
FileStream.Free;
CompFileStream.Free;
Writeln('Done');
Readln;
end.