Download

11/25/2010

Cara Membuat Aplikasi HJ Split di Delphi 7


Selamat petang agan-agan !! Waktu yang tepat rasanya untuk posting.Setelah sekian abad vacum , akhirnya bisa juga ngasih tutorial mengenai Cara Membuat Aplikasi HJ Split di Delphi 7.Tau kan HJSplit itu apa !?Yuph benar sekali , HJSplit adalah aplikasi untuk memecah file menjadi beberapa file dengan ukuran yang lebih kecil.Fungsinya !? Kalau anda seperti saya (yang suka download film) tentu lebih menyenangkan bila mendownload file dengan ukuran lebih kecil walaupun jumlahnya lebih banyak.Lalu , bisakah kita membuat software tersebut
dengan Delphi 7 !? Tentu saja bisa!Ayo ikutin langkah-langkahnya.
Hal yang krusial dari pembuatan aplikasi ini ialah , proses pemecahan/split dan penyatuan/join.Disini saya akan membuat dua function.Masing-masing untuk proses split dan satu lagi proses join.Ayo simak.Pertama kita akan membuat function splitFile.Yaitu function untuk memecah file.Ketikan kode berikut setelah {$R *.dfm}


  1. //function split  
  2. function SplitFile(namaFile : TFileName; ukuranFile : Integer; ProgressBar : TsGauge) : Boolean; //anda bisa mengganti TsGauge dengan TProgressBar  
  3. var  
  4.   i : Word;  
  5.   fs, sStream: TFileStream;   //variabel yang dibutuhkan  
  6.   namaFileSplit,ext: String;  
  7. begin  
  8.   ProgressBar.Progress := 0; //mengeset nilai progress bar  0 , bila menggunakan TProgressBar , gunakan properties posistion  
  9.   fs := TFileStream.Create(namaFile, fmOpenRead or fmShareDenyWrite); //membuat fileStream baru lalu di assign ke fs  
  10.   try  
  11.     for i := 1 to Trunc(fs.Size / ukuranFile) + 1 do  
  12.     begin  
  13.       ext:=ExtractFileExt(namaFile); //mendapatkan extensi sebelum di split  
  14.       namaFileSplit := ChangeFileExt(namaFile+ext,'.'+FormatFloat('000', i)); //mengganti extensi terurut angka  
  15.       sStream := TFileStream.Create(namaFileSplit, fmCreate or fmShareExclusive);  
  16.       try  
  17.         if fs.Size - fs.Position < ukuranFile then  
  18.           ukuranFile := fs.Size - fs.Position;  
  19.         sStream.CopyFrom(fs, ukuranFile);  
  20.         ProgressBar.Progress := Round((fs.Position / fs.Size) * 100);//menggerakan progress bar  
  21.       finally  
  22.         sStream.Free; //membebaskan stream  
  23.       end;  
  24.     end;  
  25.   finally  
  26.     fs.Free;//membebaskan fs/stream  
  27.   end;  
  28. end;  

Untuk memanggil function tersebut misal dengan menekan tombol , ketikan kode berikut


  1. procedure TForm1.Button1Click(Sender: TObject);  
  2. begin  
  3.   SplitFile(FileYangAkanDiSplit,UkuranSplitPerFile, ProgressBar1);  
  4. //untuk ukuranSplitPerFile bertipe integer dan ukurannya bytes,jadi bila di isi 1000000 bytes sama dengan 1 MB  
  5. end;  

Selanjutnya kita akan membuat function untuk join file yang sudah di split tadi.Ketikan kode berikut di bawah function splitFile

  1. //function join file  
  2. function joinFiles(namaFile, joinNamaFile : TFileName) : Boolean;  
  3. var  
  4.   i: integer;  
  5.   fs, sStream: TFileStream;  
  6.   filenameOrg: String;  
  7. begin  
  8.   i := 1;  
  9.   fs := TFileStream.Create(joinNamaFile, fmCreate or fmShareExclusive);  
  10.   try  
  11.     while FileExists(namaFile) do  
  12.     begin  
  13.       sStream := TFileStream.Create(namaFile, fmOpenRead or fmShareDenyWrite);  
  14.       try  
  15.         fs.CopyFrom(sStream, 0);  
  16.       finally  
  17.         sStream.Free;  
  18.       end;  
  19.       Inc(i);  
  20.       namaFile := ChangeFileExt(namaFile, '.'+ FormatFloat('000', i));  
  21.     end;  
  22.   finally  
  23.     fs.Free;  
  24.   end;  
  25. end;  

Untuk memanggil fungsi tersebut misal dengan menekan tombol , ketikan kode berikut


  1. procedure TForm1.Button2Click(Sender: TObject);  
  2. begin  
  3. joinFiles(fileYangAkanDiJoin,outputFileYangTelahDiJoin);  
  4. end;  
Yuph , cukup mudah bukan.Atau malah bingung !?lol.Beruntunglah kalau anda bingung , karena saya sudah membuat contoh program tersebut beserta source codenya sehingga mudah digunakan.Dan tentunya membantu  agan-agan untuk memahaminya.Perlu di ketahui , saya membuat program ini dengan tambahan component Alpha Lite.Yaitu sejenis skins serta component pihak ketiga.Jangan khawatir , semua file yang dibutuhkan untuk membuat program tersebut telah saya siapkan dan bisa agan download DISINI.Cukup deh tutorialnya sampai disini.Semoga bermanfaat ya.

0 komentar:

Post a Comment

Newer Post Older Post Home
Aulia DirUt. Powered by Blogger.
 

Blog Archive

Followers

 

Templates by Nano Yulianto | CSS3 by David Walsh | Powered by {N}Code & Blogger