Cara Membuat Aplikasi WinRar di Delphi 7


Selamat siang agan-agan.Pada puasa gak !? Hehe.Untungnya siang ini cuaca agak mendung , jadinya tidak terlalu kehausan.Biarpun puasa , aktifitas coding , blogging dan learning tetep harus jalan.Pada postingan kali ini , saya akan memberikan tutorial Cara Membuat Aplikasi WinRar di Delphi 7.Udah tau dong WinRar itu apa !? Yups , aplikasi yang berfungsi untuk mengkompres beberapa file menjadi satu , dan tentu mendekompresnya lagi.Berguna banget kalau kita mau mengkopi file yang berjumlah banyak , agar lebih ringkas dan terlihat rapi.Lalu tunggu apa lagi !? Buka borland Delphi 7 anda dan mari kita berguling (maksudnya rolling !! haha)
Yang paling esensial dari program yang akan kita buat ini , adalah 2 buah procedure.Masing-masing untuk kompres dan dekompres file.Pertama , kita akan membuat procedure untuk kompres terlebih dahulu.Ketikan kode berikut setelah {$R *.dfm}


  1. procedure kompresFile(Files : TStrings; const namaFile : String);  
  2. var  
  3.   fileMasuk, fileKeluar, tmpFile : TFileStream;  
  4.   kompres : TCompressionStream;  
  5.   i,l : Integer;  
  6.   s : String;  
  7.   
  8. begin  
  9.   if Files.Count > 0 then  
  10.   begin  
  11.     fileKeluar := TFileStream.Create(namaFile,fmCreate);  
  12.     try  
  13.       { jumlah file yang akan di kompres }  
  14.       l := Files.Count;  
  15.       fileKeluar.Write(l,SizeOf(l));  
  16.       for i := 0 to Files.Count-1 do  
  17.       begin  
  18.         fileMasuk := TFileStream.Create(Files[i],fmOpenRead);  
  19.         try  
  20.           { nama asli file }  
  21.           s := ExtractFilename(Files[i]);  
  22.           l := Length(s);  
  23.           fileKeluar.Write(l,SizeOf(l));  
  24.           fileKeluar.Write(s[1],l);  
  25.           { ukuran asli file }  
  26.           l := fileMasuk.Size;  
  27.           fileKeluar.Write(l,SizeOf(l));  
  28.           { kompress dan simpan file temporari}  
  29.           tmpFile := TFileStream.Create('tmp',fmCreate);  
  30.           kompres := TCompressionStream.Create(clMax,tmpfile);  
  31.           try  
  32.             kompres.CopyFrom(fileMasuk,l);  
  33.           finally  
  34.             kompres.Free;  
  35.             tmpFile.Free;  
  36.           end;  
  37.           { menambahkan file terkompresi ke file tujuan }  
  38.           tmpFile := TFileStream.Create('tmp',fmOpenRead);  
  39.           try  
  40.             fileKeluar.CopyFrom(tmpFile,0);  
  41.           finally  
  42.             tmpFile.Free;  
  43.           end;  
  44.         finally  
  45.           fileMasuk.Free;  
  46.         end;  
  47.       end;  
  48.     finally  
  49.       fileKeluar.Free;  
  50.     end;  
  51.     DeleteFile('tmp');  
  52.   end;  
  53. end;  

Perhatikan bahwa variabel files bertipe TString.Artinya , kita bisa menambahkan beberapa file sekaligus dan menjadikannya satu file terkompresi.Untuk memanggil procedure diatas misal dengan menekan tombol , gunakan kode berikut


  1. procedure TForm1.button1Click(Sender: TObject);  
  2. begin  
  3.   kompresFile(namaBeberapaFileYangAkanDiKompres , namaOutputFileTerkompres);  
  4. end;  

Selanjutnya adalah , kita akan membuat procedure untuk dekompres file yang terkompres sebelumnya.Ketikan procedure di bawah ini setelah procedure kompresFile


  1. procedure dekompresFile(const namaFile, folderTujuan : String);  
  2. var  
  3.   tujuan,s : String;  
  4.   dekompres : TDecompressionStream;  
  5.   fileMasuk, fileKeluar : TFilestream;  
  6.   i,l,c : Integer;  
  7. begin  
  8.   
  9.   tujuan := IncludeTrailingPathDelimiter(folderTujuan);  
  10.   
  11.   fileMasuk := TFileStream.Create(namaFile,fmOpenRead);  
  12.   try  
  13.     { number of files }  
  14.     fileMasuk.Read(c,SizeOf(c));  
  15.     for i := 1 to c do  
  16.     begin  
  17.       { membaca nama file }  
  18.       fileMasuk.Read(l,SizeOf(l));  
  19.       SetLength(s,l);  
  20.       fileMasuk.Read(s[1],l);  
  21.       { membaca ukuran file }  
  22.       fileMasuk.Read(l,SizeOf(l));  
  23.       { dekompres file dan menyimpannya }  
  24.       s := tujuan+s; //memasukan tujuan pathnya  
  25.       fileKeluar := TFileStream.Create(s,fmCreate);  
  26.       dekompres := TDecompressionStream.Create(fileMasuk);  
  27.       try  
  28.         fileKeluar.CopyFrom(dekompres,l);  
  29.       finally  
  30.         fileKeluar.Free;  
  31.         dekompres.Free;  
  32.       end;  
  33.     end;  
  34.   finally  
  35.     fileMasuk.Free;  
  36.   end;  
  37. end;  

Dan untuk memanggil procedure diatas misal dengan menekan tombol , ketikan kode berikut


  1. procedure TForm1.button1Click(Sender: TObject);  
  2. begin  
  3.   dekompresFile(fileYangAkanDiDekompres,folderTujuan);  
  4. end;  

Teettooooott !! Beres deh.Apanya yang beres yu !? Dari tadi kan ente gak nyuruh masukin component apapun !! Emang sih , hehe .. Tapi tenang , saya sudah membuat contoh program berikut source codenya yang bisa agan-agan download DISINI.Silahkan agan modifikasi sesuka hati , yang terpenting dari program tersebut ya 2 procedure di atas tadi.Implementasinya dalam program , tergantung selera anda dong !? hehe..Sekian postingan kali ini , semoga bermanfaat.

0 Response to " Cara Membuat Aplikasi WinRar di Delphi 7 "

Welcome In Kode Blogger

Contoh Sliding Login Dengan JQuery

Disamping ini adalah contoh Sliding Login menggunakan JQuery. Login Form Disamping hanya Contoh dan tidak dapat digunakan layaknya Login Form FB, Karena Blog ini terbuka untuk umum tanpa perlu mendaftar menjadi Member

Tutorial Blog

Untuk membuatnya Silahkan : Klik Disini

Member Login

Lost your password?

Not a member yet? Sign Up!