Compression

-Ana Sayfa- OpenHTML- -Hakkımda- -İletişim- -Yazılar- -Programlar- -Resimler-

 

 
[ Geri ] [ İleri ]

Download

Bu kod, herhangi bir dosyanın içeriğinde çok tekrar eden karakterlere daha kısa kodlar atamak suretiyle bir sıkıştırma işlemi yapar.

İçinde iki ayrı sıkıştırma fonksiyonu bulundurur:

Bunlar:
1.Compress() : Şu tabloya göre sıkıştırır

Karakter Dosyadaki Uzunluğu (bits) Sıkıştırılmış Uzunluğu (bits)
En çok kullanılan 1. karakter 8 1
2. 8 2
3 8 3
4 8 4
5 8 5
6 8 6
7 8 7
DİĞER(Tüm) 8 16
8 8 9
9 8 10
10 8 11
11 8 12
12 8 13
13 8 14
14 8 15

Bu fonksiyon daha düzenli (tekrarı çok olan, karakterlerin % olarak eşit dağılmadığı) dosyalarda daha başarılı olur.

2.Compress2()

Diğer(TÜM) 8 9
1 8 2
2 8 3
3 8 4
4 8 5
5 8 6
6 8 7
7 8 8

Bu fonksiyon dah a düzensiz dosylarda daha başarılı olur.

Bu iki fonksiyondan farklı çalışan türevler üretmek ise bu fonksiyonlar şablon olarak kullanmak suretiyle çok kolay olacaktır.

2.Kullanımı
Genel olarak bu iki Compression fonksiyonuna direk erişim yerine doğru sıkıştırmayı seçebilien DoCompression.... fonksiyonlarına erişilerek kullanılabilir.

Program kendi içinde bir örnek ile gelmektedir. Bu örnek sıkıştırmanın haricinde şunları da içerir: CommonDialog, Basit Timer, Dosya İşlemleri

3.Performans
Hız açısından çok fazla sorun içermemekle birlikte büyük dosyalarda sorun olabilir. Özellike bellek kullanımı büyük dosyalarda, dosya boyunun 10 katını dahi aştığı olabilir, sorun teşkil edebilir. Sıkıştırma oranları açısındandan ise, profosyonel sıkıştırma uygulamalarına göre pek başarılı olduğu söylenemez. Ancak geliştirmesi toplam 2 gün sürmüş bir program için yine de iyi. (Sıkıştırma oranlarını kendinizi görmesini tavsiye ederim).

 

Compression.zip 32.8 KB Kaynak Kod + Binary

Not: VB6 sahbi iseniz sorun yok, ancak değilseniz "Compression.exe" dosyasını çalıştırabilmek için "MSVBVM60.DLL" (1.32 MB) dosyasına ihtiyacınız var. Büyük olasılıkla sisteminiz de olan bir dosya ancak yoksa, microsoft'un sitesinde bulabilirsiniz.

 

Telif Hakkı Ahmet ALTAY'a aittir ve tüm hakları sakldır. İzinsiz olarak tamamı veya bir parçası kopyalanamaz, yayınlanamaz, basılı ve online olarak yeniden çoğaltılamaz.