Witam,
chciałbym pobrać z serwera FTP listę katalogów (samych katalogów bez plików). Mam więc taki oto kod:
procedure TForm1.Button1Click(Sender: TObject);
var
FTP: TIdFTP;
lista: tstringList;
i: integer;
begin
ftp := TIdFTP.Create(nil);
lista := TStringList.Create;//tu bede przechowywac liste plikow
//ustawiam ftp:
ftp.Host := 'jakis_host';
ftp.Username := 'jakis_user';
ftp.Password := 'jakies_haslo';
ftp.Passive := true;
try
ftp.Connect();
if ftp.Connected = true then
begin
ftp.List(lista);//wypelnienie komponentu wraz z katalogami
lista.Clear;
for i := 1 to ftp.DirectoryListing.Count-1 do
begin
if ftp.DirectoryListing[i].ItemType=ditDirectory then ShowMessage(ftp.DirectoryListing.Items[i].Text);
end;
memo1.Text := lista.Text;
end
else
begin
showmessage('NIE UDALO SIE');
end;
except
on exception do //cos tam mozna wpisac
end;
ftp.Free;
lista.Free;
end;
ten kod działa, czyli pokazuje w ShowMessage nazwe katalogu. Problem polega na tym, ze pokazuje ją w szczegółowej postaci. A gdy chcę aby nazwy katalogów byly pokazywane bez detali uzywajac kodu:
ftp.List(lista, '', false);
to dostaje blad krytyczny o tresci
Project Project1.exe raised exception class EIdInvalidFTPListingFormat with message 'Unknown FTP listing format'. Process stopped. Use Step or Run to continue.
O co tu chodzi?
Pozdrawiam!