Newsgroups : Borland : borland.public.delphi.internet.winsock : 2006 Oct : Re: IdFTP.DirectoryListing

www.cryer.info
Managed Newsgroup Archive

Re: IdFTP.DirectoryListing

Subject:Re: IdFTP.DirectoryListing
Posted by:"Hubert Anemaat" (hube..@anemaat.nl)
Date:Wed, 25 Oct 2006 10:06:05

Hello,

Thanks for the information, Gambit.

The 10 words from your first message were clearer than the 1000 words in the
manual.

I miss the help files in Delphi 6. These docs were very clear and to the
point. Now I finally moved to Delphi 2005. In this version the help is a
large and very slow jigsaw puzzle: e.g. a new user cannot find the unitname
that must be included if he uses TColor. The only way is to search with grep
or the window search in the Borland folder. Then he gets 203 files with
TColor in it and after 15 minutes he finally finds the answer: Graphics !

Hubert Anemaat

"Remy Lebeau (TeamB)" <no.spam@no.spam.com> schreef in bericht
news:453e7dde$1@newsgroups.borland.com...
>
> "Hubert Anemaat" <hubert@anemaat.nl> wrote in message
> news:453e6f7d@newsgroups.borland.com...
>
>> I am using Indy 10.
>>
>> No, I did not add a IdFTPListParse unit to my uses clause.
>
> That is the problem then.  TIdFTP in Indy 10 uses a plugin architecture
> for
> its DirectoryListing parsers.  There are no parsers active by default,
> because TIdFTP has no clue what kind of servers you are going to be
> connecting to.  You have to explicitially add the desired parser units
> individually to your uses clause to suit your particular needed.  Or just
> include the IdAllFTPListParsers unit, which activates all of Indy's
> available parsers, which may be overkill.
>
>> I have not read this in the help documentation.
>
> I quote from the Indy 10 help file:
>
>    --- TIdFTP Class ---
>
>    Directory Listings Using TIdFTP
>
>    One of the key features of the FTP protocol is the ability to access a
> list of files found in a directory on the remote host using the FTP LIST
> or
> NLST commands. TIdFTP implements this feature, and captures the list of
> file
> names and optional file details in the ListResult property.
> The FTP protocol (by design) isolated the FTP client from the nuances of
> host-specific file systems. In obeyance of this design goal, it also did
> not
> specify a standard representation for the contents of a directory listing.
> Instead, FTP clients have historically relied on defacto representations
> for
> the content of a directory listing as used in specific server
> implementations.
>
>    There are FTP extensions that have been presented to the IETF (Internet
> Engineering Task Force) that specifies new FTP commands to obtain listings
> of remote directories in a defined format. Two commands are defined, MLST
> which provides data about exactly the object named on its command line,
> and
> no others. MLSD on the other hand will list the contents of a directory if
> a
> directory is named. The MLST and MLSD commands are intended to standardize
> the file and directory information returned by the Server FTP process.
> These
> commands differ from the LIST command in that the format of the replies is
> strictly defined although extensible.
>
>    The MLST format is intended for machine processing, not human viewing,
> and as such the format is very rigid. implementations must not vary the
> format by, for example, inserting extra spaces for readability, replacing
> spaces by tabs, including header or title lines, or inserting blank lines,
> or in any other way alter this format.
>
>    In TIdFTP, the List command can use either the FTP LIST or NLST
> commands
> to request the content of a directory listing. In addition, the ExtListDir
> and ExtListItem methods can be used to invoke the FTP extenstion commands
> MLST and MLSTD for servers supporting the features.
>
>    The Indy library recognizes these defacto standards, and makes
> provisions for the IETF draft standards. TIdFTP provides the capabilitiy
> to
> parse the various formats for the textual content in the ListResult
> property
> into a structured representation of the directory stored in the
> DirectoryListing property. At the present time, Indy offers parsers for 30
> different host-specific directory listing formats. Additional parsers are
> offered as new directory listing formats are encountered and codified. Use
> the IdAllFTPListParser.pas unit to include and register the known
> directory
> listing parsers for the Indy library.
>
>
>    --- TIdFTP.DirectoryListing Property ---
>
>    Additional parsers are available that recognize the defacto directory
> listing formats used in approximately 30 different platforms and operating
> systems. To include additional parsers for listing formats, the unit
> containing the parser must be added to the project containing the FTP
> client. Each parser is automatically registered in the initialization
> section for the unit. Include the IdAllFTPListParsers.pas unit in your
> application to force all known FTP directory listing parsers to be
> included
> and registered.
>
>
> Gambit

Replies:

In response to:

www.cryer.info
Managed Newsgroup Archive