поддержка библиотеки сжатия 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