Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
Get FTP Directory Listing InformationDelphi example showing how to get information about files and subdirectories in the current remote FTP directory.
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.