Vielleicht hilft dir das weiter:
Delphi-Quellcode:
uses
IDFtpList;
var
l: TIdFtpListItems;
i: integer;
sl: TStringList;
begin
sl := TStringList.Create; // create raw data container
FTPClient.Connect(true, -1); // login
FTPClient.List(sl, '*', true); // get all entries with details
l := FTPClient.DirectoryListing; // get ref of parsed entries
for i := l.Count - 1 downto 0 do // start on safe side
if l[i].ItemType = ditDirectory // check for sub directories
then sl[i] := l[i].FileName // keep dir entries
else sl.Delete(i); // drop other entries
FTPClient.Disconnect; // logout
ListBox.Items.Assign(sl); // show directory names
sl.Free; // drop raw data container
end;
Mit D7 Enterprise / Indy9 gemacht. DirectoryListing wird nur gefüllt, wenn du Details anforderst und dadurch der Parser getriggert wird. Wenn die Property in Indy8 noch fehlen sollte, dann kannst du auch selbst parsen. Ist nicht so schwer.
Grüße vom marabu