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

Get FTP Directory Listing Information

Delphi example showing how to get information about files and subdirectories in the current remote FTP directory.

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;
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;

//  The ListPattern property is our directory listing filter.
//  The default value is "*", which includes everything.
Memo1.Lines.Add(ftp.ListPattern);

//  To get file and sub-directory information, simply
//  loop from 0 to ftp.NumFilesAndDirs - 1

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

        //  Display the filename
        Memo1.Lines.Add(ftp.GetFilename(i));

        //  Display the file size (in bytes)
        Memo1.Lines.Add(IntToStr(ftp.GetSize(i)));

        //  Is this a sub-directory?
        if (ftp.GetIsDirectory(i) = 1) then
          begin
            Memo1.Lines.Add('.. this is a sub-directory');
          end;

        Memo1.Lines.Add('--');
      end;

  end;

Memo1.Lines.Add('-----------------------------------');

//  Changing the ListPattern automatically changes the value
//  of the NumFilesAndDirs property.  Only files and directories
//  matching the ListPattern are returned.
ftp.ListPattern := '*.asp';
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

        //  Display the filename
        Memo1.Lines.Add(ftp.GetFilename(i));

        //  Display the file size (in bytes)
        Memo1.Lines.Add(IntToStr(ftp.GetSize(i)));

        Memo1.Lines.Add('--');
      end;

  end;

ftp.Disconnect();
end;

 

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

Mail Component · .NET Email Component · XML Parser