Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) FTP Sync Download Tree w/ Must-Match ConstraintsDemonstrates how synchronize a directory tree in the download direction, but only for files matching a set of wildcard filenames. Note: This example requires Chilkat v9.5.0.76 or greater.
Use ChilkatAx-win32.pkg Procedure Test Handle hoFtp Boolean iSuccess Integer iMode String sTemp1 // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatFtp2)) To hoFtp If (Not(IsComObjectCreated(hoFtp))) Begin Send CreateComObject of hoFtp End Set ComHostname Of hoFtp To "ftp.something.com" Set ComUsername Of hoFtp To "my_login" Set ComPassword Of hoFtp To "my_password" // Connect and login to the FTP server. Get ComConnect Of hoFtp To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoFtp To sTemp1 Showln sTemp1 Procedure_Return End // Set the current remote directory to the root of // the tree to be downloaded. Get ComChangeRemoteDir Of hoFtp "/subDir1" To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoFtp To sTemp1 Showln sTemp1 Procedure_Return End // Possible synchronization modes are: // mode=0: Download all files // mode=1: Download all files that do not exist on the local filesystem. // mode=2: Download newer or non-existant files. // mode=3: Download only newer files. If a file does not already exist on the local filesystem, it is not downloaded from the server.. // mode=5: Download only missing files or files with size differences. // mode=6: Same as mode 5, but also download newer files. // This example will download all files, but only those files having filenames // that match *.gif and *.eml // Imagine our remote directory tree has these files and directories: // accentedLatin1.txt // accentedUtf8.txt // alice.key // anter_cert.pem // chiliPepper.gif // helloWorld.pdf // abc/chiliPepper.gif // abc/ghk/ // data/chiliPepper.gif // data/xyz/dkimHtmlBody.txt // data/xyz/dkimVerifyTest.eml // data/xyz/emailForCreateDsn.eml // text/frenchUtf8.txt // text/helloWorld.txt // text/PolishEmailBody.txt // text/something/ // Indicate that we only want to create auto-create local directories (if needed) // for the files that are actually downloaded. If SyncCreateAllLocalDirs remains // True, then the corresponding local directory is created for each remote directory // traversed regardless of whether files within are downloaded. Set ComSyncCreateAllLocalDirs Of hoFtp To False Set ComSyncMustMatch Of hoFtp To "*.eml; *.gif" Move 0 To iMode Get ComSyncLocalTree Of hoFtp "c:/temp/subDir1" iMode To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoFtp To sTemp1 Showln sTemp1 Procedure_Return End Get ComDisconnect Of hoFtp To iSuccess // Show the files downloaded. Get ComSyncedFiles Of hoFtp To sTemp1 Showln sTemp1 // Output showing the files downloaded: // chiliPepper.gif // abc/chiliPepper.gif // data/chiliPepper.gif // data/xyz/dkimVerifyTest.eml // data/xyz/emailForCreateDsn.eml End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.