Chilkat Examples

ChilkatHOMEAndroid™Classic ASPCC++C#Mono C#.NET Core C#C# UWP/WinRTDataFlexDelphi ActiveXDelphi DLLVisual FoxProJavaLianjaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerBuilderPowerShellPureBasicPythonRubySQL ServerSwiftTclUnicode CUnicode C++Visual Basic 6.0VB.NETVB.NET UWP/WinRTVBScriptXojo PluginNode.jsExcel

Visual FoxPro Examples

Async
Certificates
ECC
Email Object
Encryption
FTP
HTML-to-XML/Text
Gzip
HTTP
IMAP
JSON
Jwt
MHT / HTML Email
PEM
PFX/P12
Java KeyStore (JKS)
OAuth2
POP3
RSA Encryption
MIME
REST
SCP
SMTP
Socket/SSL/TLS
SSH Key
SSH
SSH Tunnel
SFTP
Stream
Tar Archive
XML
XMP
Zip

More Examples...
OpenSSL
Google APIs
Google Cloud Storage
Azure Cloud Storage
Amazon S3 (new)
Google Drive
Dropbox
Firebase
ASN.1
PRNG
Amazon S3
Bounced Email
CSV
Diffie-Hellman
DKIM / DomainKey
DSA
NTLM
QuickBooks
Spider
Digital Signatures

 

 

 

 

 

 

 

(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.

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
    ? loSftp.LastErrorText
    RELEASE loSftp
    CANCEL
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
    ? loSftp.LastErrorText
    RELEASE loSftp
    CANCEL
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
    ? loSftp.LastErrorText
    RELEASE loSftp
    CANCEL
ENDIF

*  After authenticating, the SFTP subsystem must be initialized:
lnSuccess = loSftp.InitializeSftp()
IF (lnSuccess <> 1) THEN
    ? loSftp.LastErrorText
    RELEASE loSftp
    CANCEL
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 (loSftp.LastMethodSuccess <> 1) THEN
    ? loSftp.LastErrorText
    RELEASE loSftp
    CANCEL
ENDIF

*  Download the directory listing:

loDirListing = loSftp.ReadDir(lcHandle)
IF (loSftp.LastMethodSuccess <> 1) THEN
    ? loSftp.LastErrorText
    RELEASE loSftp
    CANCEL
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: " + STR(loFileObj.Size32)
        ? "----"

        RELEASE loFileObj
    NEXT
ENDIF

RELEASE loDirListing

*  Close the directory
lnSuccess = loSftp.CloseHandle(lcHandle)
IF (lnSuccess <> 1) THEN
    ? loSftp.LastErrorText
    RELEASE loSftp
    CANCEL
ENDIF

? "Success."


RELEASE loSftp

 

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