Ads Inside Post

LightBlog
Responsive Ads Here

Thursday, November 14, 2013

Cara Membuat Aplikasi Teracopy di Delphi 7

By : Joko Syahputra
Teknik Mengakali..........

hahahahahaha pasti kalian pada penasaran khan ...? bagaimana cara membuat tera copy..... sendiri...       sabar-sabar ntar saya beritahu  kok......... tapi......................
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.

No comments:

Post a Comment

Soal dan Jawaban Metode Topsisi

Quiz Soal QUIZ Suatu kelurahan mendapatkan Bantuan Langsung Tunai dari pemerintah untuk masing masing kepala keluarga dengan syarat k...