Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Как удалить директорию на FTP полностью со всеми в


Автор: User32 9.7.2009, 13:53
Как удалить директорию на FTP полностью со всеми вложениями и файлами.
на ftp такая вот структура каталогов для удаления:
/111/1
/111/2/2/1
/111/3
/111/1.txt
/111/2.txt
/111/3.txt

Нужно удалить каталог 111 полностью, использую Indy 10, делаю так:
Код

procedure TMainForm.DeleteDirectory(Dir: String);
var
  i: integer;
  FileName: string;
  AFTPItem: TIdFTPListItem;
begin
  IdFTP1.ChangeDir(Dir);
  IdFTP1.List;
  for i := 0 to IdFTP1.DirectoryListing.Count - 1 do
  begin
    AFTPItem := IdFTP1.DirectoryListing.Items[i];
    FileName := AFTPItem.FileName;
    if AFTPItem.ItemType = ditDirectory then
    begin
      if (FileName <> '.') and (FileName <> '..') then
      begin
        DeleteDirectory(FileName);
      end;
    end
      else
      begin
        IdFTP1.Delete(FileName);
      end;
  end;
    IdFTP1.ChangeDirUp;
    IdFTP1.RemoveDir(Dir);
end;

...
DeleteDirectory(string(ListView1.Selected.Caption));
...




Проблему поборол, но интересны мне и другие варианты решения.
Так что тему не закрываю.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)