procedure kompresFile(Files : TStrings; const namaFile : String); var fileMasuk, fileKeluar, tmpFile : TFileStream; kompres : TCompressionStream; i,l : Integer; s : String; begin if Files.Count > 0 then begin fileKeluar := TFileStream.Create(namaFile,fmCreate); try { jumlah file yang akan di kompres } l := Files.Count; fileKeluar.Write(l,SizeOf(l)); for i := 0 to Files.Count-1 do begin fileMasuk := TFileStream.Create(Files[i],fmOpenRead); try { nama asli file } s := ExtractFilename(Files[i]); l := Length(s); fileKeluar.Write(l,SizeOf(l)); fileKeluar.Write(s[1],l); { ukuran asli file } l := fileMasuk.Size; fileKeluar.Write(l,SizeOf(l)); { kompress dan simpan file temporari} tmpFile := TFileStream.Create('tmp',fmCreate); kompres := TCompressionStream.Create(clMax,tmpfile); try kompres.CopyFrom(fileMasuk,l); finally kompres.Free; tmpFile.Free; end; { menambahkan file terkompresi ke file tujuan } tmpFile := TFileStream.Create('tmp',fmOpenRead); try fileKeluar.CopyFrom(tmpFile,0); finally tmpFile.Free; end; finally fileMasuk.Free; end; end; finally fileKeluar.Free; end; DeleteFile('tmp'); end; end;
procedure TForm1.button1Click(Sender: TObject); begin kompresFile(namaBeberapaFileYangAkanDiKompres , namaOutputFileTerkompres); end;
procedure dekompresFile(const namaFile, folderTujuan : String); var tujuan,s : String; dekompres : TDecompressionStream; fileMasuk, fileKeluar : TFilestream; i,l,c : Integer; begin tujuan := IncludeTrailingPathDelimiter(folderTujuan); fileMasuk := TFileStream.Create(namaFile,fmOpenRead); try { number of files } fileMasuk.Read(c,SizeOf(c)); for i := 1 to c do begin { membaca nama file } fileMasuk.Read(l,SizeOf(l)); SetLength(s,l); fileMasuk.Read(s[1],l); { membaca ukuran file } fileMasuk.Read(l,SizeOf(l)); { dekompres file dan menyimpannya } s := tujuan+s; //memasukan tujuan pathnya fileKeluar := TFileStream.Create(s,fmCreate); dekompres := TDecompressionStream.Create(fileMasuk); try fileKeluar.CopyFrom(dekompres,l); finally fileKeluar.Free; dekompres.Free; end; end; finally fileMasuk.Free; end; end;
procedure TForm1.button1Click(Sender: TObject); begin dekompresFile(fileYangAkanDiDekompres,folderTujuan); end;

Simak Juga Tutorial Lainnya:
- Cara Mendeteksi Running Application di Delphi 7
- Cara Membuat dan Menggunakan DLL di Delphi 7
- Efek Teks Berjalan Dan Kerlap-Kerlip di Delphi 7
- Simulasi Declare Component Secara Run Time di Delphi 7
- Konsep Inheritance/Pewarisan Di Delphi 7
- Optimalisasi Penggunaan Procedure di Delphi 7
- [SHARE]Komponen Multi Line Untuk Delphi 7
- Fungsi Drag and Drop String ke Komponen TEdit di Delphi 7
- Cara Membuat Aplikasi SWF-EXE Converter di Delphi 7
- Cara Membuat Aplikasi Uninstall di Delphi 7
- Cara Membuat Aplikasi Teracopy di Delphi 7
- Cara Membuat Aplikasi Penghitung Kapasitas Hard Disk di Delphi 7
- Cara Membuat Aplikasi TuneUp Shredder di Delphi 7
- Cara Konversi Karakter TEdit Menjadi UpperCase di Delphi 7
- Cara Membuat Aplikasi HJ Split di Delphi 7
- Video Tutorial :: Membuat Pencarian Data Super Cepat di Delphi 7
- Cara Menggunakan Case Of di Delphi 7
- Cara Membuat Aplikasi Pemesanan Kantin Di Delphi 7
- Cara Mengecek Primary Key Pada Saat Input Di Delphi 7
- Cara Membersihkan TEdit Secara Cepat Di Delphi 7
- Cara Membuat Expired Date Untuk Aplikasi Di Delphi 7
- Cara Menjalankan Aplikasi Lain Di Delphi 7
- Menjalankan Aplikasi Hanya Satu Kali Di Delphi 7
- Cara Membuat Aplikasi Entri Data Dengan Delphi 7
- Cara Membuat Integer to Binary Konverter dan Sebaliknya di Delphi
- Cara Mendeteksi Running Application di Delphi 7
- Cara Membuat dan Menggunakan DLL di Delphi 7
- Efek Teks Berjalan Dan Kerlap-Kerlip di Delphi 7
- Cara Membuat Aplikasi Client-Server Di Delphi XE Dengan Datasnap
- Simulasi Declare Component Secara Run Time di Delphi 7
- Konsep Inheritance/Pewarisan Di Delphi 7
- Optimalisasi Penggunaan Procedure di Delphi 7
- [SHARE]Komponen Multi Line Untuk Delphi 7
- Fungsi Drag and Drop String ke Komponen TEdit di Delphi 7
- Cara Membuat Aplikasi SWF-EXE Converter di Delphi 7
- Cara Membuat Aplikasi Uninstall di Delphi 7
- Cara Membuat Aplikasi Teracopy di Delphi 7
- Cara Membuat Aplikasi Penghitung Kapasitas Hard Disk di Delphi 7
- Cara Membuat Aplikasi TuneUp Shredder di Delphi 7
- Cara Konversi Karakter TEdit Menjadi UpperCase di Delphi 7
- Cara Membuat Aplikasi HJ Split di Delphi 7
- Video Tutorial :: Membuat Pencarian Data Super Cepat di Delphi 7
- Cara Menggunakan Case Of di Delphi 7
- Cara Membuat Aplikasi Pemesanan Kantin Di Delphi 7
- Greeting Blogger Template Dengan JQuery
- Flip Blogger Template Dengan JQuery
- Mozaik Photo Blogger Template Dengan JQuery
- Template JQuery Image Editing Untuk Blogger
- Cara Mendeteksi Running Application di Delphi 7
- Cara Membuat dan Menggunakan DLL di Delphi 7
- Konsep Inheritance/Pewarisan Di Delphi 7
- Optimalisasi Penggunaan Procedure di Delphi 7
- Cara Membuat Aplikasi Uninstall di Delphi 7
- Cara Membuat Aplikasi Teracopy di Delphi 7
- Cara Membuat Aplikasi Penghitung Kapasitas Hard Disk di Delphi 7
- Cara Membuat Aplikasi TuneUp Shredder di Delphi 7
- Cara Konversi Karakter TEdit Menjadi UpperCase di Delphi 7
- Cara Membuat Aplikasi Pemesanan Kantin Di Delphi 7
- Cara Membersihkan TEdit Secara Cepat Di Delphi 7
- Cara Membuat Expired Date Untuk Aplikasi Di Delphi 7
- Cara Membuat Aplikasi Entri Data Dengan Delphi 7
- Cara Menambahkan Fungsi Undo pada komponen edit di delphi 7
- Cara filter input karakter pada komponen edit di delphi 7
- Mengenal Procedure dan Function Pada Delphi 7
4 komentar:
algoritma yang digunakan .... algoritmanya apa gan ????
mohon balasannya gan.......
sedot langsung
Kalau ambil folder gmn gan?
Posting Komentar