Membuat Aplikasi FTP Tranfer dengan VB6

Membuat Aplikasi FTP Tranfer dengan VB6

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.

Previous
Next Post »