Chilkat Examples

ChilkatHOMEAndroid™Classic ASPCC++C#Delphi ActiveXDelphi DLLVisual FoxProJavaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerShellPythonRubySQL ServerUnicode CUnicode C++Visual Basic 6.0VB.NETVBScript

Visual FoxPro Examples

Certificates
Email Object
Encryption
FTP
HTML-to-XML/Text
Gzip
HTTP
IMAP
MHT / HTML Email
POP3
RSA Encryption
MIME
SMTP
Socket/SSL/TLS
SSH Key
SSH
SFTP
Tar Archive
XML
XMP
Zip

More Examples...
Amazon S3
Bounced Email
CSV
Diffie-Hellman
NTLM

 

 

 

 

 

 

 

(Visual FoxPro) SFTP Read Directory Listing

Demonstrates how to download a directory listing and iterate over the files.

Chilkat ActiveX Downloads

ActiveX for 32-bit and 64-bit Windows

LOCAL loSftp
LOCAL lnSuccess
LOCAL lnPort
LOCAL lcHostname
LOCAL lcHandle
LOCAL loDirListing
LOCAL i
LOCAL n
LOCAL loFileObj

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

* This CreateObject statement uses the new single-DLL ActiveX for v9.5.0
loSftp = CreateObject('Chilkat_9_5_0.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.

lcHandle = loSftp.OpenDir(".")
IF (ISNULL(lcHandle)) THEN
    =MESSAGEBOX(loSftp.LastErrorText)
    QUIT
ENDIF

*  Download the directory listing:

loDirListing = loSftp.ReadDir(lcHandle)
IF (ISNULL(loDirListing)) 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
        ? loFileObj.FileType
        ? "Size in bytes: " + loFileObj.Size32
        ? "----"

        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-2014 Chilkat Software, Inc. All Rights Reserved.