Konuyu Oyla:
  • Derecelendirme: 4/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Dosya sıkıştırma (ZLIB ile)
#1
Selam, dosya sıkıştırma ile alakalı işi bilen arkadaşlara danışmak istiyorum.
Ben şu anda aşağıdaki şekilde kullanıyorum, fakat öğrenmek istediğim bunun daha hızlı bir yolu varmıdır?
uses zlib;

procedure CompressStream(inpStream, outStream: TStream);
var
 InpBuf, OutBuf: Pointer;
 InpBytes, OutBytes: Integer;
begin
 InpBuf := nil;
 OutBuf := nil;
 try
   GetMem(InpBuf, inpStream.Size);
   inpStream.Position := 0;
   InpBytes := inpStream.Read(InpBuf^, inpStream.Size);
   CompressBuf(InpBuf, InpBytes, OutBuf, OutBytes);
   outStream.Write(OutBuf^, OutBytes);
 finally
   if InpBuf <> nil then FreeMem(InpBuf);
   if OutBuf <> nil then FreeMem(OutBuf);
 end;
end;

procedure DecompressStream(inpStream, outStream: TStream);
var
 InpBuf, OutBuf: Pointer;
 OutBytes, sz: Integer;
begin
 InpBuf := nil;
 OutBuf := nil;
 sz     := inpStream.Size - inpStream.Position;
 if sz > 0 then
   try
     GetMem(InpBuf, sz);
     inpStream.Read(InpBuf^, sz);
     DecompressBuf(InpBuf, sz, 0, OutBuf, OutBytes);
     outStream.Write(OutBuf^, OutBytes);
   finally
     if InpBuf <> nil then FreeMem(InpBuf);
     if OutBuf <> nil then FreeMem(OutBuf);
   end;
 outStream.Position := 0;
end;

//Kullanımı
var
eski, yeni : TMemoryStream;
begin
 eski := TMemoryStream.Create;
 eski.LoadFromFile('c:\yedeklenecek.dosya');
 yeni := TMemoryStream.Create;
 CompressStream(eski,yeni);
 yeni.SaveToFile('xxx.ydk');
 eski.Free;
 yeni.Free;
end
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla


Bu Konudaki Yorumlar
Dosya sıkıştırma (ZLIB ile) - Yazar: esistem - 21-09-2016, Saat: 17:33
Dosya sıkıştırma (ZLIB ile) - Yazar: engerex - 21-09-2016, Saat: 17:52
Dosya sıkıştırma (ZLIB ile) - Yazar: esistem - 21-09-2016, Saat: 17:52
Dosya sıkıştırma (ZLIB ile) - Yazar: engerex - 21-09-2016, Saat: 22:40
Dosya sıkıştırma (ZLIB ile) - Yazar: esistem - 22-09-2016, Saat: 09:45
Dosya sıkıştırma (ZLIB ile) - Yazar: engerex - 26-09-2016, Saat: 16:07
Dosya sıkıştırma (ZLIB ile) - Yazar: esistem - 26-09-2016, Saat: 16:12
Dosya sıkıştırma (ZLIB ile) - Yazar: yhackup - 26-09-2016, Saat: 17:36
Dosya sıkıştırma (ZLIB ile) - Yazar: engerex - 26-09-2016, Saat: 18:27
Dosya sıkıştırma (ZLIB ile) - Yazar: esistem - 26-09-2016, Saat: 18:39
Dosya sıkıştırma (ZLIB ile) - Yazar: esistem - 27-09-2016, Saat: 09:08
Cvp: Dosya sıkıştırma (ZLIB ile) - Yazar: yhackup - 27-09-2016, Saat: 09:16
Dosya sıkıştırma (ZLIB ile) - Yazar: esistem - 27-09-2016, Saat: 09:39

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  AbZipper ile Sıkıştırma Süresi theSinan 2 136 17-09-2019, Saat: 19:57
Son Yorum: theSinan
  Urlden Dosya İndirme apachi2006 0 91 26-08-2019, Saat: 01:54
Son Yorum: apachi2006
  ZLib ve Webservis narkotik 0 135 29-07-2019, Saat: 16:16
Son Yorum: narkotik
  [ÇÖZÜLDÜ] WebDav ile Bulut Sunucuya Dosya Yükleme theSinan 4 531 08-07-2019, Saat: 15:42
Son Yorum: r3n4m3
  Dosya Adı ve İçeriğinde Arama Yapma dkadir 3 392 23-06-2019, Saat: 06:53
Son Yorum: dkadir



Konuyu Okuyanlar: 1 Ziyaretçi