Download

7/02/2012

Cara Membuat Aplikasi Teracopy di Delphi 7


Selamat siang agan-agan , lagi-lagi mendung menjelang hujan.Namun bukan alasan untuk tidak bersemangat.Pada postingan kali ini saya akan menyajikan tutorial mengenai Cara Membuat Aplikasi Teracopy di Delphi 7.Sudah tau kan apa itu Teracopy !?Benar sekali (kok jadi mirip Dora -,-" ),Teracopy merupakan aplikasi untuk mengkopi file secara cepat.Silahkan googling kalau belum ngeh.Dan kita , akan membuatnya di Delphi 7.Penasaran dong gimana bikinnya !? Makanya , terus ikutin sampe selesai.Pertama , ya buka dulu Delphi 7 nya.Sebelum itu , saya akan menjelaskan sedikit alur kerja
program ini.Ketika user menekan tombol copy , maka akan tampil open dialog yang berfungsi mencari file yang akan di copy , setelah terpilih maka akan muncul save dialog dimana kita akan menyimpan file yang telah terpilih.Lalu proses pengkopian pun terjadi dengan di tampilkannya sisa waktu copy file serta posisi progress bar sebagai acuan proses copy.Ngerti !? Tentu saja enggak !! haha.Okey deh , kita praktekan saja.Tambahkan 1 buah TButton , 2 TLabel , 1 buah TProgressBar , 1 buah TOpenDialog dan 1 buah TSaveDialog.Jika sudah , susun component-component tersebut sesuai gambar berikut







Jika sudah , sekarang saatnya untuk koding !! Pertama , kita akan membuat tampilan awal ketika aplikasi di jalankan.Yaitu tampilan label1 menjadi kosong , dan progress position di 0.Maka dari itu , kita akan membuat procedure dengan nama , procedure kondisiAwal.Ketikan kode berikut setelah {$R *.dfm}


  1. procedure kondisiAwal;  
  2. begin  
  3.   with Form1 do  
  4.     begin  
  5.       Label1.Caption:='';  
  6.       ProgressBar1.Position:=0;  
  7.     end;  
  8. end;  

Panggil procedure tersebut pada Form1 event onShow.Ketikan kode berikut


  1. procedure TForm1.FormShow(Sender: TObject);  
  2. begin  
  3.   kondisiAwal;  
  4. end;  

Nah , selanjutnya kita akan membuat procedure copyFile.Yang tentu saja berfungsi untuk mengkopi file XD.Ketikan kode berikut setelah procedure kondisAwal.


  1. procedure copyFile(sumber, tujuan: string);  
  2. var  
  3.   dariFile, keFile: file of byte;  
  4.   Buffer: array[0..4096] of char;  
  5.   NumRead: integer;  
  6.   ukuranFile: longint;  
  7.   t1, t2: DWORD;  
  8.   maksimal: integer;  
  9. begin  
  10.   with Form1 do  
  11.     begin  
  12.       AssignFile(dariFile, sumber);  
  13.       reset(dariFile);  
  14.       AssignFile(keFile, tujuan);  
  15.       rewrite(keFile);  
  16.       ukuranFile := FileSize(dariFile);  
  17.       with Progressbar1 do  
  18.         begin  
  19.           Min  := 0;  
  20.           Max  := ukuranFile;  
  21.           t1   := GetTickCount;  
  22.           maksimal := Max div 4096;  
  23.           while ukuranFile > 0 do  
  24.             begin  
  25.               BlockRead(dariFile, Buffer[0], SizeOf(Buffer), NumRead);  
  26.               ukuranFile := ukuranFile - NumRead;  
  27.               BlockWrite(keFile, Buffer[0], NumRead);  
  28.               t2  := GetTickCount;  
  29.               Min := Min + 1;  
  30.               // menampilkan waktu di label1  
  31.               label1.Caption := FormatFloat('0.00', ((t2 - t1) / min * maksimal - t2 + t1) / 100)+' detik';  
  32.               Application.ProcessMessages;  
  33.               Position := Position + NumRead;  
  34.             end;  
  35.           CloseFile(dariFile);  
  36.           CloseFile(keFile);  
  37.       end;  
  38.     end;  
  39. end;  

Procedure tersebut berfungsi menggandakan file dan menghitung sisa waktu transfer file.Selanjutnya , double klik button1 , dan ketikan kode berikut.


  1. procedure TForm1.Button1Click(Sender: TObject);  
  2. var sumber , tujuan:String;  
  3. begin  
  4.   if OpenDialog1.Execute then //jika file terpilih  
  5.     begin  
  6.       sumber:=OpenDialog1.FileName;  
  7.       SaveDialog1.FileName:=sumber;  
  8.       if SaveDialog1.Execute then  // jika tujuan terpilih  
  9.         begin  
  10.           tujuan:=SaveDialog1.FileName;  
  11.           copyFile(sumber,tujuan);//procedure copyFile dipanggil  
  12.           ShowMessage('Proses Copy Selesai');  
  13.           kondisiAwal;  
  14.         end;  
  15.     end;  

Taraaaa !! Beres deh.Jalankan program anda lalu klik Button1.Pilih file yang akan di copy lalu pilih lokasi tujuan copy.Usahakan pilih file yang agak besar sekitar 20 Mb , agar terlihat ketika progress bar bekerja , dan sisa waktu copy di tampilkan.Okey deh , sekian tutorial kali ini , semoga bermanfaat.

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