PureBasic
PureBasic
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 PureBasic Downloads
IncludeFile "CkFtp2.pb"
Procedure ChilkatExample()
success.i = 0
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
ftp.i = CkFtp2::ckCreate()
If ftp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkFtp2::setCkHostname(ftp, "ftp.example.com")
CkFtp2::setCkUsername(ftp, "login")
CkFtp2::setCkPassword(ftp, "password")
; Connect and login to the FTP server.
success = CkFtp2::ckConnect(ftp)
If success <> 1
Debug CkFtp2::ckLastErrorText(ftp)
CkFtp2::ckDispose(ftp)
ProcedureReturn
EndIf
; The ListPattern property is our directory listing filter.
; The default value is "*", which includes everything.
Debug CkFtp2::ckListPattern(ftp)
; Fetch the current remote directory contents by
; calling GetDirCount
i.i
n.i
n = CkFtp2::ckGetDirCount(ftp)
If n < 0
Debug CkFtp2::ckLastErrorText(ftp)
CkFtp2::ckDispose(ftp)
ProcedureReturn
EndIf
If n > 0
; Loop over the directory contents, incrementing the count
; each time it is NOT a directory.
fileCount.i = 0
For i = 0 To n - 1
; Is this NOT a sub-directory?
If CkFtp2::ckGetIsDirectory(ftp,i) <> 1
fileCount = fileCount + 1
; Display the filename
Debug CkFtp2::ckGetFilename(ftp,i)
EndIf
Next
Debug "Total number of files = " + Str(fileCount)
EndIf
success = CkFtp2::ckDisconnect(ftp)
CkFtp2::ckDispose(ftp)
ProcedureReturn
EndProcedure