Sample code for 30+ languages & platforms
Xojo Plugin

Get FTP Directory Listing Information

See more FTP Examples

_LANGUAGE_ example showing how to get information about files and subdirectories in the current remote FTP directory.

Chilkat Xojo Plugin Downloads

Xojo Plugin
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 Chilkat.Ftp2

ftp.Hostname = "ftp.example.com"
ftp.Username = "login"
ftp.Password = "password"

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

// The ListPattern property is our directory listing filter.
// The default value is "*", which includes everything.
System.DebugLog(ftp.ListPattern)

// To get file and sub-directory information, simply
// loop from 0 to ftp.GetDirCount() - 1
Dim i As Int32
Dim n As Int32
n = ftp.GetDirCount()
If (n < 0) Then
    System.DebugLog(ftp.LastErrorText)
    Return
End If

If (n > 0) Then
    For i = 0 To n - 1

        // Display the filename
        System.DebugLog(ftp.GetFilename(i))

        // Display the file size (in bytes)
        System.DebugLog(Str(ftp.GetSize(i)))

        // Is this a sub-directory?
        If (ftp.GetIsDirectory(i) = True) Then
            System.DebugLog(".. this is a sub-directory")
        End If

        System.DebugLog("--")
    Next
End If

System.DebugLog("-----------------------------------")

// Only files and directories
// matching the ListPattern are returned.
ftp.ListPattern = "*.asp"
n = ftp.GetDirCount()
If (n < 0) Then
    System.DebugLog(ftp.LastErrorText)
    Return
End If

If (n > 0) Then
    For i = 0 To n - 1

        // Display the filename
        System.DebugLog(ftp.GetFilename(i))

        // Display the file size (in bytes)
        System.DebugLog(Str(ftp.GetSize(i)))

        System.DebugLog("--")
    Next
End If

success = ftp.Disconnect()