FoxPro Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

Visual FoxPro Examples

Bounced Mail
Bz2
Character Encoding
CSV
Digital Certificates
Digital Signatures
Email
Email Object
FTP
HTML Conversion
HTTP
IMAP
Encryption
MHT / HTML Email
POP3
RSA
S/MIME
Socket
Spider
SFTP
SMTP
SSH
SSH Key
SSH Tunnel
String
Tar
Upload
XML
XMP
Zip Compression
Self-Extractor

More Examples...
Amazon S3
DKIM / DomainKey
NTLM
RSS
Atom
Byte Array
Service
PPMD
Deflate
DH Key Exchange
DSA
FileAccess
Bzip2
LZW

 

Non-Chilkat Links
Text and String Handling

SFTP Download Files Matching a Pattern

Demonstrates how to download the files in a remote SFTP directory matching a file pattern. The example opens a directory, iterates over the files, and downloads each file matching a file pattern, such as "*.xml".

Download Chilkat 32-bit SSH / SFTP ActiveX (.msi)

Download All 32-bit Chilkat ActiveX Components (.zip)

Download All 64-bit Chilkat ActiveX Components (.zip)

LOCAL loSftp
LOCAL lnSuccess
LOCAL lnPort
LOCAL lcHostname
LOCAL lcHandle
LOCAL lcDirPath
LOCAL loDirListing
LOCAL i
LOCAL n
LOCAL loFileObj
LOCAL lcRemoteFilePath
LOCAL lcLocalFilePath

*  Important: It is helpful to send the contents of the
*  sftp.LastErrorText property when requesting support.

loSftp = CreateObject('Chilkat.SFtp')

*  Any string automatically begins a fully-functional 30-day trial.

lnSuccess = loSftp.UnlockComponent("Anything for 30-day trial")
IF (lnSuccess <> 1) THEN
    =MESSAGEBOX(loSftp.LastErrorText)
    QUIT
ENDIF

*  Set some timeouts, in milliseconds:
loSftp.ConnectTimeoutMs = 5000
loSftp.IdleTimeoutMs = 10000

*  Connect to the SSH server.
*  The standard SSH port = 22
*  The hostname may be a hostname or IP address.

lcHostname = "www.my-sftp-server.com"
lnPort = 22
lnSuccess = loSftp.Connect(lcHostname,lnPort)
IF (lnSuccess <> 1) THEN
    =MESSAGEBOX(loSftp.LastErrorText)
    QUIT
ENDIF

*  Authenticate with the SSH server.  Chilkat SFTP supports
*  both password-based authenication as well as public-key
*  authentication.  This example uses password authenication.
lnSuccess = loSftp.AuthenticatePw("myLogin","myPassword")
IF (lnSuccess <> 1) THEN
    =MESSAGEBOX(loSftp.LastErrorText)
    QUIT
ENDIF

*  After authenticating, the SFTP subsystem must be initialized:
lnSuccess = loSftp.InitializeSftp()
IF (lnSuccess <> 1) THEN
    =MESSAGEBOX(loSftp.LastErrorText)
    QUIT
ENDIF

*  Open a directory on the server...
*  Paths starting with a slash are "absolute", and are relative
*  to the root of the file system. Names starting with any other
*  character are relative to the user's default directory (home directory).
*  A path component of ".." refers to the parent directory,
*  and "." refers to the current directory.

lcDirPath = "abc123"
lcHandle = loSftp.OpenDir(lcDirPath)
IF (lcHandle = NULL ) THEN
    =MESSAGEBOX(loSftp.LastErrorText)
    QUIT
ENDIF

*  Download the directory listing:

loDirListing = loSftp.ReadDir(lcHandle)
IF (loDirListing = NULL ) THEN
    =MESSAGEBOX(loSftp.LastErrorText)
    QUIT
ENDIF

*  Iterate over the files.

n = loDirListing.NumFilesAndDirs
IF (n = 0) THEN
    ? "No entries found in this directory."
ELSE
    FOR i = 0 TO n - 1

        loFileObj = loDirListing.GetFileObject(i)

        ? loFileObj.Filename

        *  Does this filename match the desired pattern?
        *  Write code here to determine if it's a match or not.

        *  Assuming it's a match, you would download the file
        *  like this:

        lcRemoteFilePath = lcDirPath + "/"
        lcRemoteFilePath = lcRemoteFilePath + loFileObj.Filename

        lcLocalFilePath = loFileObj.Filename
        lnSuccess = loSftp.DownloadFileByName(lcRemoteFilePath,lcLocalFilePath)
        IF (lnSuccess <> 1) THEN
            =MESSAGEBOX(loSftp.LastErrorText)
            QUIT
        ENDIF

        RELEASE loFileObj
    NEXT
ENDIF

RELEASE loDirListing

*  Close the directory
lnSuccess = loSftp.CloseHandle(lcHandle)
IF (lnSuccess <> 1) THEN
    =MESSAGEBOX(loSftp.LastErrorText)
    QUIT
ENDIF

=MESSAGEBOX("Success.")

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.

Mail Component · .NET Email Component · ASP Mail Component · XML Parser