Sample code for 30+ languages & platforms
Xojo Plugin

FTP Download with Progress Event Callbacks

See more FTP Examples

FTP download with progress event callbacks.

Chilkat Xojo Plugin Downloads

Xojo Plugin
Class MyFtp2
    Inherits Chilkat.Ftp2

    Sub PercentDone(percentDone As Int32, ByRef abort As Boolean)
        System.DebugLog("Percent Done: " + Str(percentDone))
    End Sub

    Sub ProgressInfo(name As String, value As String)
        System.DebugLog(name + ": " + value)
    End Sub

End Class

Dim success As Boolean
success = False

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

Dim ftp As New MyFtp2

ftp.Hostname = "ftp.someFtpServer.com"
ftp.Username = "myLogin"
ftp.Password = "myPassword"

// Connect and login to the FTP server.
success = ftp.ConnectOnly()
If (success <> True) Then
    System.DebugLog(ftp.LastErrorText)
    Return
End If

success = ftp.LoginAfterConnectOnly()
If (success <> True) Then
    System.DebugLog(ftp.LastErrorText)
    Return
End If

// Change to the remote directory where the file is located.
// This step is only necessary if the file is not in the home directory
// of the FTP account.
success = ftp.ChangeRemoteDir("junk")
If (success <> True) Then
    System.DebugLog(ftp.LastErrorText)
    Return
End If

Dim localFilename As String
localFilename = "c:/temp/hamlet.xml"
Dim remoteFilename As String
remoteFilename = "hamlet.xml"

// Ensure that we get PercentDone callbacks.
ftp.AutoGetSizeForProgress = True

// Download the file.
success = ftp.GetFile(remoteFilename,localFilename)
If (success <> True) Then
    System.DebugLog(ftp.LastErrorText)
    Return
End If

success = ftp.Disconnect()

System.DebugLog("File Downloaded!")