Sample code for 30+ languages & platforms
PowerBuilder

Get Number of FIles in Directory, not including sub-directories

See more FTP Examples

_LANGUAGE_ example demonstrating how to get the number of files in a directory not including sub-directories.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Ftp
integer i
integer n
integer li_FileCount

li_Success = 0

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

loo_Ftp = create oleobject
li_rc = loo_Ftp.ConnectToNewObject("Chilkat.Ftp2")
if li_rc < 0 then
    destroy loo_Ftp
    MessageBox("Error","Connecting to COM object failed")
    return
end if

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

// Connect and login to the FTP server.
li_Success = loo_Ftp.Connect()
if li_Success <> 1 then
    Write-Debug loo_Ftp.LastErrorText
    destroy loo_Ftp
    return
end if

// The ListPattern property is our directory listing filter.
// The default value is "*", which includes everything.
Write-Debug loo_Ftp.ListPattern

// Fetch the current remote directory contents by
// calling GetDirCount

n = loo_Ftp.GetDirCount()
if n < 0 then
    Write-Debug loo_Ftp.LastErrorText
    destroy loo_Ftp
    return
end if

if n > 0 then
    // Loop over the directory contents, incrementing the count
    // each time it is NOT a directory.
    li_FileCount = 0
    for i = 0 to n - 1

        // Is this NOT a sub-directory?
        if loo_Ftp.GetIsDirectory(i) <> 1 then
            li_FileCount = li_FileCount + 1
            // Display the filename
            Write-Debug loo_Ftp.GetFilename(i)
        end if

    next

    Write-Debug "Total number of files = " + string(li_FileCount)
end if

li_Success = loo_Ftp.Disconnect()


destroy loo_Ftp