Source Code untuk Melakukan Copy File dengan Banyak Opsi

Berikut ini adalah cara yang dapat teman - teman gunakan untuk melakukan Copy Files dengan opsi pengaturan yang lebih beragam. Sehingga kita bisa menentukan saat melakukan Copy Files apa jenis opsi yang ingin kita pilih melalui source code, misalnya menampilkan progress pengCopyan, melakukan overwrite secara otomatis tanpa konfirmasi dan pengaturan - pengaturan lain.

Di dalam Visual Foxpro sebenarnya sudah ada source code bawaan yang dapat digunakan untuk melakukan Copy Files yaitu :

COPY FILE FileName1 TO FileName2

Contoh :

COPY FILE "C:\testfile.txt" TO "D:\testfilecopy.txt"

Contoh syntak diatas digunakan untuk  mengcopy file C:\testfile.txt ke D:\testfilecopy.txt.

Syntak diatas sebenarnya telah bisa memenuhi kebutuhan, bila ingin melakukan pengCopyan Files lewat source code. Tetapi bila kita menggunakan syntak bawaan Visual Foxpro diatas terdapat beberapa hal yang terasa kurang bila dibandingkan jika kita melakukan Copy Files secara manual dengan menggunakan Windows Explorer, yaitu :

  1. Tidak bisa memunculkan progress pengCopyan Files. Bila file berukuran kecil mungkin hal ini tidak menjadi masalah, tetapi bila File berukuran besar sampai ratusan MB ke atas maka akan menjadi masalah karena nantinya aplikasi terkesan hang karena menunggu Copy Files selesai, sedangkan user tidak tau sudah sampai mana progress pengCopyan.
  2. Opsi konfirmasi pengCopyan seperti gambar di bawah ini, beserta cara menentukan opsi secara otomatis juga tidak bisa diaktifkan, meski mungkin dengan tambahan coding akal - akalan bisa melakukannya tetapi opsi default untuk hal ini tidak tersedia.
Berdasarkan hal itu, maka jika teman - teman ingin melakukan Copy Files yang dapat memanfaatkan semua opsi seperti layaknya melakukan Copy Files secara manual dengan Windows Explorer maka dapat menggunakan alternatif syntak di bawah ini :

cFile="d:\testfile.rar"
cDir="g:\"

objShell = CreateObject("shell.application")
objFolder = objShell.NameSpace(cDir)

if !isnull(objFolder)
 if File(cFile)
  objFolder.CopyHere(cFile,0)
 else
  Messagebox("File Sumber Invalid..!!, 0+16,"Error")
 endif  
else
 Messagebox("Direktori target invalid..!!, 0+16,"Error")
endif

Sebenarnya syntak dasar untuk melakukan mengCopyan Files dengan source code diatas, hanyalah terdiri dari 3 baris syntak berikut ini :

objShell = CreateObject("shell.application")
objFolder = objShell.NameSpace(cDir)
objFolder.CopyHere(cFile,0)

Akan tetapi pada source code diatas dibuat lebih lengkap untuk dapat mendeteksi apakah File sumber yang akan di Copy benar - benar ada atau valid, dan juga apakah lokasi Folder untuk meletakkan hasil pengCopyan benar - benar ada atau tidak. 

Hal - hal yang perlu diperhatikan dalam menggunakan source code untuk melakukan pengCopyan diatas adalah sebagai berikut :

  1. Tentukan lokasi File yang akan di Copy dengan mengatur variable cFile, kemudian tentukan lokasi Folder untuk meletakkan hasil pengCopyan dengan mengatur variable cDir. 
  2. Untuk mengatur pilihan opsi, silahkan ubah angka 0 yang terdapat di dalam Function CopyHere dengan daftar paramater yang di dapat dari MSDN Microsoft di bawah ini

SEMOGA BERMANFAAT...!!

8 Response to "Source Code untuk Melakukan Copy File dengan Banyak Opsi"

Elvik mengatakan...

Salam kenal....
mw tanya kalo memilih lokasi file yang akan dicopy secara manual apakah cukup dengan cFile=(), agar dapat bebas memilih file yang akan dicari,
terimakasih...

Andy Prasetyo Utomo mengatakan...

@ elvik : kalau ingin bisa memilih kotak dialog yg menampilkan daftar file bisa gunakan function getfile() mungkin utk syntak diatas bisa diganti seperti ini :

cFile=getfile()

Semoga berhasil mas..:)

boyo mengatakan...

mas andi, sy coba untuk copy folder kok gak bisa ya....
list kode nya begini :

IF RTRIM(thisform.text1.Value)==RTRIM(thisform.text2.Value)
MESSAGEBOX('Lokasi backup tidak boleh sama dengan lokasi data...;
Silahkan tentukan ditempat lain...!!!',0+16,'Ditolak...!!!')
RETURN
ENDIF

LOCAL fAsal, fTuju

fAsal=RTRIM(thisform.text2.Value)
fTuju=RTRIM(thisform.text1.Value)

cFile= fAsal && letak folder yang ingin dicopy
cDir= fTuju && folder tempat meletakkan hasil copyan
objShell = CreateObject("shell.application")
objFolder = objShell.NameSpace(cDir)

if !isnull(objFolder)
if File(cFile)
objFolder.CopyHere(cFile,0)
else
Messagebox("File Sumber Invalid..!!",0+16,"Error")
endif
else
Messagebox("Direktori target invalid..!!",0+16,"Error")
endif


mohon masukannya mas andi... thx

Andy Prasetyo Utomo mengatakan...

Mas boy mungkin sbelum menggunakan variasi bisa coba standart syntaknya terlebih dulu seperti di bawah ini, folder yang dicopy dan folder yang digunakan untuk menempatkan hasil copyan ditentukan manual.

cFile="C:\FoldeYgDicopy"
cDir="D:\" && folder tempat meletakkan hasil copyan
objShell = CreateObject("shell.application")
objFolder = objShell.NameSpace(cDir)
objFolder.CopyHere(cFile,0)

Pastikan syntak diatas jalan....dan klo syntak diatas jalan normal....berarti kesalahan ada di variasinya...coz mungkin saja pengambilan path filenya yg bermasalah, btw klo boleh tau...setelah menjalankan syntak mas boy...yg keluar pesan kesalahan apa / atau pesan messagebox yang mana????...atau malah gk keluar pesan apa2 tp gk tercopy foldernya???

All My Soul Just For You mengatakan...

mas andi mintol.. gmana sintaxnya backup data, tapi filenya kita pilih atau diseleksi.. jadi yg di copy tidak smua file yg difolder.. kalau ada listnya gmana ya mas... trims

SoftDown32 mengatakan...

Ok makasi bantuannya.

Software Downloads Full

Zoe mengatakan...

mas andi, saya adalah pemula,
kalau kita mau copy file dari database sales selama 3 tahun tapi kita hanya mau ambil 1 tahun saja command nya bagaimana ya?

liko gunardi mengatakan...

mantab

Posting Komentar

Bila komentar tidak tampil, silahkan ke page Welcome dan beritahukan melalui email yang tertera disana, kemungkinan komentar anda dianggap sebagai spam, biar nanti admin yang akan merubahnya, Terima kasih.

Related Posts Plugin for WordPress, Blogger...