Rabu, 19 November 2014

Source Code Perintah Download File dengan Inet dan Progressbar

Setelah sekian lama maslisman tidak posting, akhirnya sekarang bisa mulai posting dan berbagi sourcecode lagi, kali ini maslisman akan berbagi sourcecode membuat perintah download file dari hosting file dengan menggunakan components Inet dan Progressbar.

Mari langsung saja kita ke tutorialnya :
  • Pertama buat project baru, pilih Standart EXE
  • lalu tambah component baru, caranya dengan CTRL + T atau liat menubar visualbasic pilih Project, lalu pilih Components. jika sudah maka akan terbuka tab seperti gambar dibawah ini :

  • Lihat gambar di atas, pilih bagian Controls lalu pilih browser setelah itu cari file yang bernamaMSINET.OCX dan MSCOMCTL.OCX di C:/Windows/System32
    jika file ini tidak ada dikomputer anda, anda bisa mendownloadnya dengan klik tulisan berlink component diatas.
  • Jika kedua components diatas sudah ditambah, langkah berikutnya menambahkanya di FORM anda seperti gambar di bawah ini :
    • 1 buat progressbar dengan nama ProgressBar1
    • 1 buah Inet dengan nama Inet1
    • 1 buah CommandButton dengan nama cmdDownload

  • Lalu masukan source code dibawah ini ke form yang anda buat !
 Option Explicit

Private Sub cmdDownload_Click()
Screen.MousePointer = vbHourglass

ProgressBar1.Value = 0

DownloadFile "https://sites.google.com/site/agamyulisman/maslisman.rar", App.Path & "\maslisman.rar"

Screen.MousePointer = vbDefault
MsgBox "Download Complete"

ProgressBar1.Visible = False

End Sub


Sub DownloadProgress(intPercent As String)
    ProgressBar1.Value = intPercent
End Sub


'Public Function DownloadFile(strURL As String, strDestination As String) As Boolean
Public Sub DownloadFile(strURL As String, strDestination As String) 'As Boolean
Const CHUNK_SIZE As Long = 1024
Dim intFile As Integer
Dim lngBytesReceived As Long
Dim lngFileLength As Long
Dim strHeader As String
Dim b() As Byte
Dim i As Integer

DoEvents
    
With Inet1
    
.URL = strURL
.Execute , "GET", , "Range: bytes=" & CStr(lngBytesReceived) & "-" & vbCrLf
        
While .StillExecuting
DoEvents
Wend

strHeader = .GetHeader
End With
    
    
strHeader = Inet1.GetHeader("Content-Length")
lngFileLength = Val(strHeader)

DoEvents
    
lngBytesReceived = 0

intFile = FreeFile()

Open strDestination For Binary Access Write As #intFile

Do
b = Inet1.GetChunk(CHUNK_SIZE, icByteArray)
Put #intFile, , b
lngBytesReceived = lngBytesReceived + UBound(b, 1) + 1

DownloadProgress (Round((lngBytesReceived / lngFileLength) * 100))
DoEvents
Loop While UBound(b, 1) > 0

Close #intFile

End Sub



Lihat bagian !
DownloadFile "https://sites.google.com/site/agamyulisman/maslisman.rar", App.Path & "maslisman.rar"

tulisan berwarna biru adalah url/alamat hosting file anda !
tulisan berwarna hijau adalah nama file setelah di download. 
tulisan berwarna merah adalah lokasi penyimpanan file setelah didownload, App.Path berarti file disempan di folder tempat program.exe disimpan.

untuk menyimpan di folder tertentu, anda bisa merubahnya seperti coding dibawah ini :
DownloadFile "https://sites.google.com/site/agamyulisman/maslisman.rar", "C:\" & "\Windows\System32\maslisman.rar"

Jika Project error/debug seperti gambar dibawah ini :
perhatikan lagi bagian alamat hosting file, penyimpanan file dan nama file anda, apakah sudah benar ?


Untuk project yang sudah jadi anda bisa mendownloadnya disini ! Download Project

Tidak ada komentar:

Posting Komentar

Silahkan berkomentar, harap gunakan bahasa yang sopan untuk menghargai sesai blogger yang berkomentar,
untuk komentar yang mengarah ke :
[+] Spam
[+] Junk
[+] Sara
[+] Anarkis
[+] Virus
[+] dll
Untuk komentar tanpa nama :
[+] Anonymous : saya tidak akan membalas komentar tanpa nama (Kecuali Ada Kerusakan)
[+] Lihat peraturan diatas
Otomatis akan saya hapus dan filter,
Hargailah pembuat blog dan blogger yang berkomentar, hindari caci-makian sesama blogger :D

Terima Kasih