Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
Get FTP Directory Listing InformationMFC example showing how to get information about files and subdirectories in the current remote FTP directory.
// Needs #include <CkFtp2.h> CkString strOut; CkFtp2 ftp; bool success; // Any string unlocks the component for the 1st 30-days. success = ftp.UnlockComponent("Anything for 30-day trial"); if (success != true) { strOut.append(ftp.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } ftp.put_Hostname("www.example-code.com"); ftp.put_Username("****"); ftp.put_Password("****"); // Connect and login to the FTP server. success = ftp.Connect(); if (success != true) { strOut.append(ftp.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // The ListPattern property is our directory listing filter. // The default value is "*", which includes everything. strOut.append(ftp.listPattern()); strOut.append("\r\n"); // To get file and sub-directory information, simply // loop from 0 to ftp.NumFilesAndDirs - 1 long i; long n; n = ftp.get_NumFilesAndDirs(); if (n < 0) { strOut.append(ftp.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } if (n > 0) { for (i = 0; i <= n - 1; i++) { // Display the filename strOut.append(ftp.getFilename(i)); strOut.append("\r\n"); // Display the file size (in bytes) strOut.appendInt(ftp.GetSize(i)); strOut.append("\r\n"); // Is this a sub-directory? if (ftp.GetIsDirectory(i) == true) { strOut.append(".. this is a sub-directory"); strOut.append("\r\n"); } strOut.append("--"); strOut.append("\r\n"); } } strOut.append("-----------------------------------"); strOut.append("\r\n"); // Changing the ListPattern automatically changes the value // of the NumFilesAndDirs property. Only files and directories // matching the ListPattern are returned. ftp.put_ListPattern("*.asp"); n = ftp.get_NumFilesAndDirs(); if (n < 0) { strOut.append(ftp.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } if (n > 0) { for (i = 0; i <= n - 1; i++) { // Display the filename strOut.append(ftp.getFilename(i)); strOut.append("\r\n"); // Display the file size (in bytes) strOut.appendInt(ftp.GetSize(i)); strOut.append("\r\n"); strOut.append("--"); strOut.append("\r\n"); } } ftp.Disconnect(); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.