Delphi Compress Stream

Bu yazım da ZLib kütüphanesini kullanarak TStream sınıfından türetilmiş olan çeşitli stream sınıflarında ki verileri sıkıştırmayı ve sıkıştırılmış olan verileri tekrar eski hallerine getirmeyi anlatacağım.

Sıkıştırma işlemi bize ne gibi bir fayda sağlayacak? Derseniz, bir kaç madde ile aklıma gelen ilk faydalarını belirteyim.

  • Veritabanına kayıt edilecek bir dosya sıkıştırıldıktan sonra veritabanın da daha az yer tutacaktır.
  • Veritabanına kayıt etme hızı artacak ,kayıt işlemi sırasında daha az bekleme olacaktır.
  • Veritabanından kayda erişim, kaydı okuma hızı artacaktır.
  • Disk üzerinde tutulacak ise gene alandan kazanım sağlanacaktır.
  • Veri uzak noktalara iletilecek ise transfer hızında artış olacaktır. Kısa sürede büyük verilerin iletimi sağlanacaktır.
Kısacası veri iletişimi ve depolama maliyetleri azalacaktır.
Aşağıda yazdığım methodlar ile stream içeriğinin nasıl sıkıştırılacağını, sıkıştırılan verinin nasıl tekrar eski haline getirileceğini görebilirsiniz.
Veri sıkıştırma (TCompressionStream);

Veri çözümleme (TDecompressionStream);

Sıkıştırma seviyeleri (TCompressionLevel)

  • clNone = sıkıştırma yapılmaz (en hızlı işlem süresi)
  • clFastest = minimum sıkıştırma (hızlı işlem süresi)
  • clDefault = normal sıkıştırma (yavaş işlem süresi)
  • clMax = en iyi sıkıştırma (çok yavaş işlem süresi)