Salah satu fasilitas dalam Internet yang sangat penting sehubungan dengan transfer file antar jaringan adalah FTP (File Transfer Protocol). Apakah mungkin seandainya anda diharuskan melakukan hal tersebut dengan aplikasi yang tersusun dengan menggunakan VB6. Dan itu sangatlah mungkin, sehingga program aplikasi yang anda susun secara komprehensif bisa menangani sesuai dengan kebutuhan sekaligus bisa memanfaatkan fasilitas FTP tersebut. Dalam artikel ini akan dijelaskan sekaligus akan saya berikan contoh kode program yang bisa anda download secara gratis.
Komponen Inet
Dalam VB6 telah disediakan sebuah komponen dengan nama Inet (Microsoft Internet Transfer Control), yang berfungsi untuk mengontrol transfer file lewat internet. Dalam komponen Inet tersebut disediakan beberapa protokol yang bisa kita akses, salah satunya adalah protokol FTP. Untuk menggunakan komponen kita cukup menentukan Host, User Name, Password dan Local File serta Remote File yang akan kita proses dengan menggunakan perintah Execute. Untuk melakukan upload kita menggunakan perintah operasi "Put" dan untuk download menggunakan "Get", seperti contoh kode program berikut ini:
'Upload
inetFTP.Execute , "Put " & txtLocalFile.Text & " " & txtRemoteFile.Text
'Download
inetFTP.Execute , "Get " & txtRemoteFile.Text & " " & txtLocalFile.Text
Kemudian parameter dari property komponen Inet tersebut kita tentukan yang terdiri dari 3 parameter, yaitu: URL (host name), UserName dan Password, seperti tampak dalam contoh kode program berikut ini:
inetFTP.URL = txtHost.Text
inetFTP.UserName = txtUserName.Text
inetFTP.Password = txtPassword.Text
Selanjutnya setelah kita tentukan parameter-parameter dari property tersebut, anda tinggal proses untuk upload atau download dengan menggunakan perintah Execute.
Berikut contoh kode program lengkap dalam Menentukan Default Printer Windows dengan VB6, seperti tampak dalam contoh kode program berikut ini:
Option Explicit
'------------------------------------------------------------------------------
'Development Tools : Microsoft Visual Basic 6.0
'Author : Nurdin Budi Mustofa
'------------------------------------------------------------------------------
Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
Private Const SW_SHOWNORMAL = 1
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hWnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Dim lngRet As Long
Private m_GettingDir As Boolean
'------------------------------------------------------------------------------------------------------
'www.kodiing.com
'------------------------------------------------------------------------------------------------------
Private Sub lblFacebook_Click()
lngRet = ShellExecute(0, vbNullString, "https://www.facebook.com/Kodiing-279643708757204/", vbNullString, "C:\", SW_SHOWNORMAL)
End Sub
Private Sub lblKodiing_Click()
lngRet = ShellExecute(0, vbNullString, "www.kodiing.com", vbNullString, "C:\", SW_SHOWNORMAL)
End Sub
Private Sub lblKontak_Click()
lngRet = ShellExecute(0, vbNullString, "www.kodiing.com/p/kontak.html", vbNullString, "C:\", SW_SHOWNORMAL)
End Sub
'------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------
'Cek Jika Ditekan Tombol Enter Atau Escape
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then SendKeys "{TAB}"
End Sub
'------------------------------------------------------------------------------------------------------
'PROSES TRASFER FTP
'------------------------------------------------------------------------------------------------------
Private Sub inetFTP_StateChanged(ByVal State As Integer)
Select Case State
Case icError
AddMessage "Error: " & " " & inetFTP.ResponseCode & vbCrLf & " " & inetFTP.ResponseInfo
Case icNone
AddMessage "None"
Case icConnecting
AddMessage "Connecting"
Case icConnected
AddMessage "Connected"
Case icDisconnecting
AddMessage "Disconnecting"
Case icDisconnected
AddMessage "Disconnected"
Case icRequestSent
AddMessage "Request Sent"
Case icRequesting
AddMessage "Requesting"
Case icReceivingResponse
AddMessage "Receiving Response"
Case icRequestSent
AddMessage "Request Sent"
Case icResponseReceived
AddMessage "Response Received"
Case icResolvingHost
AddMessage "Resolving Host"
Case icHostResolved
AddMessage "Host Resolved"
Case icResponseCompleted
AddMessage inetFTP.ResponseInfo
If m_GettingDir Then
Dim txt As String
Dim chunk As Variant
m_GettingDir = False
'Get the first chunk.
chunk = inetFTP.GetChunk(1024, icString)
DoEvents
Do While Len(chunk) > 0
txt = txt & chunk
chunk = inetFTP.GetChunk(1024, icString)
DoEvents
Loop
AddMessage "--------------------"
AddMessage txt
End If
Case Else
AddMessage "State = " & Format$(State)
End Select
Enabled = True
MousePointer = vbDefault
End Sub
Private Sub AddMessage(ByVal msg As String)
txtResults.Text = txtResults.Text & vbCrLf & msg
txtResults.SelStart = Len(txtResults.Text)
End Sub
Private Sub cmdDownload_Click()
Dim host_name As String
Enabled = False
MousePointer = vbHourglass
txtResults.Text = "Working"
txtResults.SelStart = Len(txtResults.Text)
DoEvents
host_name = txtHost.Text
If LCase$(Left$(host_name, 6)) <> "ftp://" Then host_name = "ftp://" & host_name
inetFTP.URL = host_name
inetFTP.UserName = txtUserName.Text
inetFTP.Password = txtPassword.Text
inetFTP.Execute , "Get " & txtRemoteFile.Text & " " & txtLocalFile.Text
End Sub
Private Sub cmdUpload_Click()
Dim host_name As String
Enabled = False
MousePointer = vbHourglass
txtResults.Text = "Working"
txtResults.SelStart = Len(txtResults.Text)
DoEvents
host_name = txtHost.Text
If LCase$(Left$(host_name, 6)) <> "ftp://" Then host_name = "ftp://" & host_name
inetFTP.URL = host_name
inetFTP.UserName = txtUserName.Text
inetFTP.Password = txtPassword.Text
inetFTP.Execute , "Put " & txtLocalFile.Text & " " & txtRemoteFile.Text
Do While inetFTP.StillExecuting
Sleep 100
DoEvents
Loop
End Sub
Pada saat anda mencoba program FTP Transfer tersebut tentu anda harus menginstall Server FTP dalam PC/Notebook anda. Ada banyak server FTP yang bisa anda pakai, salah satunya adalah FileZilla Server. Anda bisa download software FileZilla Server tersebut secara gratis di website filezilla-project.org.
Berikut source code contoh program aplikasi FTP Transfer, yang bisa anda download disini. Jika anda masih belum jelas tentang program tersebut diatas, anda bisa bertanya pada kami lewat Contact Form atau gunakan dalam Komentar.
Dan bagi yang masih awam tentang bahasa pemrograman VB6, anda bisa mengakses Tutorial VB6 yang telah kami posting sebelumnya.
Daftarkan email anda disini untuk berlangganan artikel kodiing
ConversionConversion EmoticonEmoticon