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 FilesDelphi example showing how to FTP download files matching a wildcarded file pattern and delete them from the FTP server. uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CHILKATFTP2Lib_TLB, OleCtrls; ... procedure TForm1.Button1Click(Sender: TObject); var ftp: TChilkatFtp2; success: Integer; i: Integer; fname: String; n: Integer; begin ftp := TChilkatFtp2.Create(Self); // Any string unlocks the component for the 1st 30-days. success := ftp.UnlockComponent('Anything for 30-day trial'); if (success <> 1) then begin ShowMessage(ftp.LastErrorText); end; ftp.Hostname := 'www.example-code.com'; ftp.Username := '****'; ftp.Password := '****'; // Connect and login to the FTP server. success := ftp.Connect(); if (success <> 1) then begin ShowMessage(ftp.LastErrorText); end; // 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.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. n := ftp.NumFilesAndDirs; if (n < 0) then begin ShowMessage(ftp.LastErrorText); end; if (n > 0) then begin for i := 0 to n - 1 do begin fname := ftp.GetFilename(i); Memo1.Lines.Add(fname); // Download the file into the current working directory. success := ftp.GetFile(fname,fname); if (success <> 1) then begin ShowMessage(ftp.LastErrorText); end; // Now delete the file. success := ftp.DeleteRemoteFile(fname); if (success <> 1) then begin ShowMessage(ftp.LastErrorText); end; end; end; ftp.Disconnect(); end; |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.