folgendes habe ich schon einmal. das funktioniert zwar einigermaßen, aber nur, wenn ich "details" auf false setze. verzeichnisse werden dann wohl nicht mehr erkannt.
von rekursiv kann man hier nicht sprechen
Delphi-Quellcode:
procedure listfiles(aDir: string);
var
i: Integer;
aItem: TIdFTPListItem;
begin
Form1.IdFTP1.List(nil, aDir, true);
for i := 0 to Pred(Form1.IdFTP1.ListResult.Count) do
begin
aItem := Form1.IdFTP1.DirectoryListing[i];
if (aItem.FileName <> '.') and (aItem.FileName <> '..') then
begin
if aItem.ItemType = ditDirectory then
begin
Form1.Memo1.Lines.Add(aItem.FileName);
listfiles(aItem.FileName);
end else
begin
Form1.Memo1.Lines.Add(aItem.FileName);
end;
end;
end;
end;