Delphi Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

Delphi Examples

Bounced Mail
Bz2
Character Encoding
CSV
DKIM / DomainKey
Digital Certificates
Digital Signatures
DH Key Exchange
DSA
Email
Email Object
FTP
HTML Conversion
HTTP
IMAP
Encryption
MHT / HTML Email
NTLM
POP3
RSA
S/MIME
SMTP
Socket
Spider
SFTP
SSH
SSH Key
SSH Tunnel
String
Tar
Upload
XML
XMP
Zip Compression

More Examples...
Amazon S3
Byte Array
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
LZW

Type Conversion

 

Article: Understanding COM References in Delphi

Download and Delete Matching Files

Delphi example showing how to FTP download files matching a wildcarded file pattern and delete them from the FTP server.

Download 32-bit Chilkat FTP2 ActiveX (.msi)

Download All 32-bit Chilkat ActiveX Components (.zip)

Download All 64-bit Chilkat ActiveX Components (.zip)

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;

 

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.

Mail Component · .NET Email Component · XML Parser