Visual FoxPro
Visual FoxPro
FTP Iterate over Files in Directory Matching ListPattern
See more RSA Examples
Uses the ListPattern property to iterate over the files in a directory matching the pattern.Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loFtp
LOCAL n
LOCAL i
LOCAL lcFilename
LOCAL loSbLocalPath
lnSuccess = 0
* This example requires the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.
loFtp = CreateObject('Chilkat.Ftp2')
loFtp.Hostname = "ftp.example.com"
loFtp.Username = "my_login"
loFtp.Password = "my_password"
loFtp.Port = 21
loFtp.AuthTls = 1
lnSuccess = loFtp.Connect()
IF (lnSuccess <> 1) THEN
? loFtp.LastErrorText
RELEASE loFtp
CANCEL
ENDIF
* Change to the "images" sub-directory located under our FTP account's home directory.
lnSuccess = loFtp.ChangeRemoteDir("images")
IF (lnSuccess <> 1) THEN
? loFtp.LastErrorText
RELEASE loFtp
CANCEL
ENDIF
loFtp.ListPattern = "*.png"
* Fetch the current remote directory contents by calling GetDirCount
n = loFtp.GetDirCount()
IF (n < 0) THEN
? loFtp.LastErrorText
RELEASE loFtp
CANCEL
ENDIF
i = 0
loSbLocalPath = CreateObject('Chilkat.StringBuilder')
DO WHILE i < n
lcFilename = loFtp.GetFilename(i)
? lcFilename
* Download this file.
loSbLocalPath.SetString("qa_output/")
loSbLocalPath.Append(lcFilename)
lnSuccess = loFtp.GetFile(lcFilename,loSbLocalPath.GetAsString())
IF (lnSuccess <> 1) THEN
? loFtp.LastErrorText
RELEASE loFtp
RELEASE loSbLocalPath
CANCEL
ENDIF
i = i + 1
ENDDO
RELEASE loFtp
RELEASE loSbLocalPath