Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2009, 21:40   #1
Nester
Форумчанин
 
Аватар для Nester
 
Регистрация: 22.10.2008
Сообщений: 103
Печаль Получить список всех файлов и папок FTP

Задача состоит в следующем:
Необходимо пройтись по всем папкам на сервере и извлечь их содержимое (путь к файлам)

начинаю с корня Pub
Path:='';
idFtp1.List(Tmp, Path, false);
потом добавляю
Path+'/';
снова загружаю список
иду по списку по очереди

теоретически всё понятно
но на практике чтото не соображу

в поиске не нашёл
если такая тема уже обсуждалась то пожалуйста ткните носом
если нет то помогите примером
Никто не знает больше чем не знаю я
Nester вне форума Ответить с цитированием
Старый 27.04.2009, 21:41   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

а вопрос- то в чем ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 27.04.2009, 21:53   #3
Nester
Форумчанин
 
Аватар для Nester
 
Регистрация: 22.10.2008
Сообщений: 103
По умолчанию

вот что у меня есть
Код:

 Lst:= TStringList.Create;//Список файлов и папок.
Tmp:= TStringList.Create;//Временный список

idFtp1.List(Tmp, '', false);//Получаем список папок в корневом каталоге...
Lst.AddStrings(Tmp);//переписываем из временного списка в наш список...

count:= 0;//Начальная позиция сканирования
LstCount:= Lst.Count;//конечная позиция сканирования

For n:= 0 to 1 do //Глубина сканирования...
begin
  For i:= count to LstCount-1 do//Сканируем часть списка...
  begin
  try
    idFtp1.List(Tmp, Lst.Strings[i]+'/', FALSE);//пытаемся получить список вложенных файлов.
    application.ProcessMessages;

  except continue//Не пустили - идем дальше...
  end;

  Lst.AddStrings(Tmp);//Приписали в список файлов все найденные файлы...
  end;

  count:= LstCount;//Запомнили новую начальную..
  LstCount:= Lst.Count;//...и конечную позиции...
end;//После чего сканим следующий кусок...




 for nn:=0 to lst.Count-1 do listbox1.Items.add(lst.Strings[nn]);
это работает при глубине сканирования=1
если больше то висит

проблема видимо в том что если мне попалась папка
и к Path я добавил+/ то всё Ок
а если файл то тут то и лажа
Никто не знает больше чем не знаю я

Последний раз редактировалось KORN; 28.04.2009 в 04:12.
Nester вне форума Ответить с цитированием
Старый 27.04.2009, 23:18   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

1. ExtListDir +F1
2. ExtListItem +F1
3. RetrieveCurrentDir+ F1
4. DirectoryListing +F1

Это только часть тоо что вам поможет для реализации задачи (названия методов свойств взяты из Indy 10.5.5) В Indy есть справка, которая содержит описание всех методов популярных компонент ( FTP клиент к таковым относится) не стесняйтесь ей пользоваться. Плюс на сайте разработчика www.indyproject.org есть пример Ftp клиента.
А тот метод, который вы предложили ужасно не надежен. За одно это
Цитата:
except continue//Не пустили - идем дальше...
end;
руки отрывать надо )
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 28.04.2009, 12:57   #5
Nester
Форумчанин
 
Аватар для Nester
 
Регистрация: 22.10.2008
Сообщений: 103
По умолчанию

метод не мой
то что кривой согласен на все 300%
но это единственное что мне попалось
а за
ExtListDir
ExtListItem
RetrieveCurrentDir
DirectoryListing

спасибо! это я и искал
Никто не знает больше чем не знаю я
Nester вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить список всех своих ip адресов now9009 Работа с сетью в Delphi 1 18.03.2009 05:40
Получить список файлов и папок. gusluk Общие вопросы Delphi 3 10.03.2009 12:49
Отображение скрытых файлов и папок и отображение розширения всех файлов beegl Общие вопросы Delphi 10 14.12.2008 22:02
список всех открытых файлов и папок. Teleport Общие вопросы Delphi 4 22.06.2008 11:29
Получить список папок Иллидан Общие вопросы Delphi 1 22.03.2008 15:24