поддержка библиотеки сжатия ZLib

Previous  Top  Next

    
 

 

 

В Delphi 7 официально включена поддержка библиотеки сжатия ZLib. Если у вас более старшая версия посмотрите модули ZLib в дестрибутиве среды (они должны быть на диске но подключать прийдеться самому).

 

Библиотеки под разные платформы, среды разработок и документация на сайте www.gzip.org/zlib.

 

Степень сжатия превосходит алгоритм zip. Максимальная степень сжатия по алгоритму ZLib приближается к степени сжатия упаковщиком RAR.

 

Модули Zlib, ZlibConst.

 

При использовании необходимо подключить в описании Uses модуль ZLib.

 

пример использования:

Компресия одного потока в другой:

 

Code:

ComressStream( aSource, aTarget : TStream; compressionRate : TCompressionLevel );

var comprStream : TCompressionStream;

begin

  // compression level : (clNone, clFastest, clDefault, clMax)

  comprStream := TCompressionStream.Create( compressionRate, aTarget );

try

  comprStream.CopyFrom( aSource, aSource.Size );

  comprStream.CompressionRate;

finally

  comprStream.Free;

End;

End;

 

 

Декомпресия одного потока в другой:

Code:

DecompressStream(aSource, aTarget: TStream);

var decompStream : TDecompressionStream;

          nRead : Integer;

         buffer : array[0..1023] of Char;

begin

  decompStream := TDecompressionStream.Create( aSource );

try

   repeat

     nRead:=decompStream.Read( buffer, 1024 );

     aTarget.Write( buffer, nRead );

   Until nRead = 0;

finally

  decompStream.Free;

End;

End;

 

 

 

Автор RoboSol

©Drkb::03193

Взято из http://forum.sources.ru