Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841

Получение списка файлов на FTP сервере

21.07.2012, 00:08. Показов 4173. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток. Кто знает как получить список файлов на FTP сервере?
Сам дошёл до такого:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
try {
  IdFTP1->Username = "логин";
  IdFTP1->Password = "пароль";
  IdFTP1->Host = "хост";
  IdFTP1->AutoLogin = true;
  IdFTP1->Connect();
  }
  catch (...)
    {
Label1->Caption="Нет конекта";
    }
  IdFTP1->List( NULL, "*.txt", true);
 
 for(int i = 0; i < IdFTP1->DirectoryListing->Count; ++i)
  {
  Memo1->Lines->Add(IdFTP1->ListResult->Strings[i]);
  }
Но проблема в том, что вместе с именами файлов и папок вылетает ещё сного шлака... Кто знает как от него избавиться?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.07.2012, 00:08
Ответы с готовыми решениями:

Получение списка файлов на сервере
1. Пишу простенький ftp-клиент в C++Builder c использованием компонента ClientSocket. 2. Тестирую в Filezilla Server. 3. Подключаюсь...

ftp список файлов на сервере
Привет всем опять. Извините за тупые вопросы. Я написал прогу:{ void __fastcall TForm1::Button1Click(TObject *Sender) IdFTP1-&gt;Host ...

FTP: получение списка файлов из потока. Как вывести список файлов из директории?
доброго времени суток. пытаюсь написать свой FTP-клиент. отправил серверу команду LIST, и в ответ он выдал &quot;ок. успешно&quot; ...

8
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
21.07.2012, 00:16
Шлак - это что?
0
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
21.07.2012, 00:20  [ТС]
Size=4096;Modify=20120717092919.000;Type =dir; css
Size=4096;Modify=20120717002616.000;Type =dir; inc
Size=3782;Modify=20120717002616.000;Type =file; index.html
Size=27;Modify=20120717002614.000;Type=f ile; robots.txt
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
21.07.2012, 00:34
C++
1
2
3
4
5
6
7
int lstcnt = IdFTP1->DirectoryListing->Count;
for (int i=0;i<lstcnt;++i)
{
  if (!IdFTP1->DirectoryListing->Strings[i].Pos("Size")) { // или SubString
    Memo1->Lines->Add(IdFTP1->ListResult->Strings[i]);
  }
}
Добавлено через 3 минуты
гм...
C++
1
Add(!IdFTP1->DirectoryListing->Items[i].FileName
0
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
21.07.2012, 03:29  [ТС]
Всё разобрался, только так нужно:
C++
1
Memo1->Lines->Add(IdFTP1->DirectoryListing->Items[i]->FileName);
Добавлено через 4 минуты
В общем виде это вот так выглядеть стало:
C++
1
2
3
4
5
6
  IdFTP1->Connect();
    IdFTP1->List("",true);
for (int i = 0; i < IdFTP1->DirectoryListing->Count; i++)
    {
    Memo1->Lines->Add(IdFTP1->DirectoryListing->Items[i]->FileName);
    }
Добавлено через 13 секунд
В общем виде это вот так выглядеть стало:
C++
1
2
3
4
5
6
  IdFTP1->Connect();
    IdFTP1->List("",true);
for (int i = 0; i < IdFTP1->DirectoryListing->Count; i++)
    {
    Memo1->Lines->Add(IdFTP1->DirectoryListing->Items[i]->FileName);
    }
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
21.07.2012, 03:36
Ну да, если через FileName , то в if(...) необходимости нет, я думал, что все "интуитивно понятно" . А то, что ! остался - так это издержки копипейста.
0
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
21.07.2012, 03:39  [ТС]
Да просто, сам ищу по этому форуму, очень часто, и проблемно когда кусками код выкидывают без связки, и трудновато бывает разбираться( Поэтому выкинул уже полностью кусок программы)
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
21.07.2012, 03:42
правильно сделал
0
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
22.07.2012, 20:47  [ТС]
A теперь появилась новая проблема. Как посмотреть содержимое папки?

Добавлено через 1 час 59 минут
А всё уже разобрался:
команда:
C++
1
IdFTP1->DirectoryListing->Items[i]->FileName
просто выводит список папок\файлов в той директории, которой мы находимся на FTP сервере, так что просто достаточно поменять её на нужную:
C++
1
IdFTP1->ChangeDir("В какой папке будем смотреть содержимое");
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.07.2012, 20:47
Помогаю со студенческими работами здесь

Получение списка файлов на сервере
1. Пишу простенький ftp-клиент в C++Builder c использованием компонента ClientSocket. 2. Тестирую в Filezilla Server. 3. Подключаюсь...

Получение списка файлов с ftp сервера с авторизацией
Как можно получить список файлов с сервера с авторизацией. Никак не могу понять, как это сделать. Подскажите пожалуйста. Заранее спасибо.

Перемечение файлов на FTP сервере
подскажите функцию для FTP сервера для ПЕРЕМЕЩЕНИЯ ФАЙЛА (ВЫРЕЗАТЬ-ВСТАВИТЬ). Копировать, вставить, удалить НЕ ПОДХОДИТ!!! Ну естественно...

Удаление файлов на FTP-сервере
Здравствуйте! Очень нужна помощь в написании батника который: 1)Зайдет на FTP 2)проверит файлы на дату создания(нужны файлы дата...

Редактирование файлов на FTP-сервере
Доброго всем дня! Совершил вынужденный переход с Windows на Ubuntu и сразу же столкнулся с проблемой - отсутствует замечательная программа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru