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

FTP XML Directory Listing / Download Most Recently Modified Files

Demonstrates how to retrieve a directory listing in XML format, sort it by last-modified date, and download the 5 most recently modified files.

Note: This example relies upon a new feature added to the GetXmlDirListing method. Namely, the resultant XML includes a "full" attribute with a date/time that is in a sortable format. This feature is available in the pre-release, or in new versions released after 20-May-2008.

Download Chilkat XML ActiveX

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,
    CHILKATXMLLib_TLB,
    CHILKATFTP2Lib_TLB,
    OleCtrls;

...

procedure TForm1.Button1Click(Sender: TObject);
var
ftp: TChilkatFtp2;
success: Integer;
strXml: String;
xml: CHILKATXMLLib_TLB.IChilkatXml;
ascending: Integer;
n: Integer;
child: CHILKATXMLLib_TLB.IChilkatXml;
filename: String;
i: 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 := 'ftp.chilkatsoft.com';
ftp.Username := 'myLogin';
ftp.Password := 'myPassword';

//  Connect and login to the FTP server.
success := ftp.Connect();
if (success <> 1) then
  begin
    ShowMessage(ftp.LastErrorText);

  end;

//  Recursively download the listings for the complete
//  remote directory tree at the current remote dir.
//  In this case, we haven't called ChangeRemoteDir,
//  so the current remote dir is the root directory of the
//  FTP account.

strXml := ftp.GetXmlDirListing('*.asp');
if (strXml = NULL ) then
  begin
    ShowMessage(ftp.LastErrorText);

  end;

//  Load the XML directory listing into a Chilkat XML object:
xml := TChilkatXml.Create(Self).ControlInterface;
xml.LoadXml(strXml);

//  Sort by a record attribute:

ascending := 0;
xml.SortRecordsByAttribute('lastModTime','full',ascending);

//  Download the 5 most recent files:

n := xml.NumChildren;
if (n > 5) then
  begin
    n := 5;
  end;

for i := 0 to n - 1 do
  begin

    child := xml.GetChild(i);
    filename := child.GetChildContent('name');
    Memo1.Lines.Add(filename);

    success := ftp.GetFile(filename,filename);
    if (success <> 1) then
      begin
        ShowMessage(ftp.LastErrorText);
        break;
      end;

  end;

//  The full sorted XML may be obtained like this:
strXml := xml.GetXml();

ftp.Disconnect();
end;

 

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

Mail Component · .NET Email Component · XML Parser