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) Get FTP Directory Listing as XMLDemonstrates how to call GetXmlDirListing and parse the results.
Use ChilkatAx-win32.pkg Procedure Test Handle hoFtp Boolean iSuccess String sXmlListing Handle hoXml Integer i Integer iNumEntries Variant vXEntry Handle hoXEntry Integer iSz Variant vXLastMod Handle hoXLastMod Integer iMonth Integer iYear Integer iDay String sTemp1 Boolean bTemp1 // This example assumes Chilkat Ftp2 to have been previously unlocked. // See Unlock Ftp2 for sample code. Get Create (RefClass(cComChilkatFtp2)) To hoFtp If (Not(IsComObjectCreated(hoFtp))) Begin Send CreateComObject of hoFtp End Set ComHostname Of hoFtp To "www.my-ftp-server.com" Set ComUsername Of hoFtp To "mFtpLogin" Set ComPassword Of hoFtp To "myFtpPassword" // Connect to the FTP server. Get ComConnectOnly Of hoFtp To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoFtp To sTemp1 Showln sTemp1 Procedure_Return End // Authenticate with the FTP server. Get ComLoginAfterConnectOnly Of hoFtp To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoFtp To sTemp1 Showln sTemp1 Procedure_Return End // Retrieve (in XML format) the HOME directory of this FTP account. Get ComGetXmlDirListing Of hoFtp "*.*" To sXmlListing Get ComLastMethodSuccess Of hoFtp To bTemp1 If (bTemp1 <> True) Begin Get ComLastErrorText Of hoFtp To sTemp1 Showln sTemp1 Procedure_Return End // Now load the XML and parse it.. Get Create (RefClass(cComChilkatXml)) To hoXml If (Not(IsComObjectCreated(hoXml))) Begin Send CreateComObject of hoXml End Get ComLoadXml Of hoXml sXmlListing To iSuccess Get ComGetXml Of hoXml To sTemp1 Showln sTemp1 // Iterate over the XML... Move 0 To i Get ComNumChildren Of hoXml To iNumEntries While (i < iNumEntries) Get ComGetChild Of hoXml i To vXEntry If (IsComObject(vXEntry)) Begin Get Create (RefClass(cComChilkatXml)) To hoXEntry Set pvComObject Of hoXEntry To vXEntry End Get ComTagEquals Of hoXEntry "dir" To bTemp1 If (bTemp1 = True) Begin Get ComContent Of hoXEntry To sTemp1 Showln "Directory: " sTemp1 End Else Begin Get ComGetChildIntValue Of hoXEntry "size" To iSz Get ComGetChildContent Of hoXEntry "name" To sTemp1 Showln "File: " sTemp1 ", size: " iSz Get ComFindChild Of hoXEntry "lastModTime" To vXLastMod If (IsComObject(vXLastMod)) Begin Get Create (RefClass(cComChilkatXml)) To hoXLastMod Set pvComObject Of hoXLastMod To vXLastMod End Get ComLastMethodSuccess Of hoXEntry To bTemp1 If (bTemp1 = True) Begin Get ComGetAttrValueInt Of hoXLastMod "m" To iMonth Get ComGetAttrValueInt Of hoXLastMod "y" To iYear Get ComGetAttrValueInt Of hoXLastMod "d" To iDay Showln " YYYY-MM-DD: " iYear "-" iMonth "-" iDay Send Destroy of hoXLastMod End End Send Destroy of hoXEntry Move (i + 1) To i Loop Get ComDisconnect Of hoFtp To iSuccess Showln "Success." // Sample XML directory listing: // <?xml version="1.0" encoding="utf-8" ?> // <remoteDir> // <dir>Desktop</dir> // <dir>Documents</dir> // <dir>Downloads</dir> // <dir>Music</dir> // <dir>Pictures</dir> // <dir>Public</dir> // <dir>Templates</dir> // <dir>Videos</dir> // <file> // <name>c.py</name> // <size>1244</size> // <lastModTime full="20151009-000000" y="2015" d="9" m="10" hh="0" mm="0" ss="0" /> // </file> // <file> // <name>cacerts_linux</name> // <size>177207</size> // <lastModTime full="20140915-000000" y="2014" d="15" m="9" hh="0" mm="0" ss="0" /> // </file> // <file> // <name>empty.txt</name> // <size>0</size> // <lastModTime full="20150917-000000" y="2015" d="17" m="9" hh="0" mm="0" ss="0" /> // </file> // <file> // <name>hamlet.xml</name> // <size>279658</size> // <lastModTime full="20160917-084100" y="2016" d="17" m="9" hh="8" mm="41" ss="0" /> // </file> // </remoteDir> // // End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.