Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
Download and Delete Matching FilesMFC example showing how to FTP download files matching a wildcarded file pattern and delete them from the FTP server.
// 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; } // Note: It may be tempting to call MGetFiles(pattern,localDir) // followed by a call to DeleteMatching(pattern), however, // if new files are uploaded to the FTP server while MGetFiles // is running, those files will be deleted by DeleteMatching. // Instead, it's best to set the ListPattern and then iterate // over each file... // Set the ListPattern = "*.xml" to match all XML files. ftp.put_ListPattern("*.xml"); // NumFilesAndDirs contains the number of files and sub-directories // matching the ListPattern in the current remote directory. // The first time it is accessed after changing ListPattern, // or after calling ChangeRemoteDir, a snapshot of the directory // listing is fetched and saved in memory. During this loop, // the value of NumFilesAndDirs will not change. long i; const char * fname; 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++) { fname = ftp.getFilename(i); strOut.append(fname); strOut.append("\r\n"); // Download the file into the current working directory. success = ftp.GetFile(fname,fname); if (success != true) { strOut.append(ftp.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Now delete the file. success = ftp.DeleteRemoteFile(fname); if (success != true) { strOut.append(ftp.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } } } 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.