Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Сети > Как скачать с ФТП все файлы указанной папки? |
Автор: Gvo3D 13.2.2006, 16:51 |
Есть ФТП сервер. Есть пример закачки 1 указанного файла. НО как закачать все файлы указанной папки? помогите плз. ![]() |
Автор: _hunter 13.2.2006, 16:59 |
получить список файлов ( метод List ) и использовать пример для каждого файла из списка |
Автор: Gvo3D 13.2.2006, 23:35 |
function FtpDownloadFile(strHost, strUser, strPwd: string; Port: Integer; ftpDir, ftpFile, TargetFile: string; ProgressBar: TProgressBar): Boolean; Вот функция из фака. Что такое TargetFile ? |
Автор: _hunter 14.2.2006, 12:07 |
в том же факе смотри описание параметров |
Автор: Gvo3D 16.2.2006, 17:09 |
почему при вызове этой процедуры программа зависает??? помогите разобраться ,плз! |
Автор: Snowy 16.2.2006, 17:25 |
Потому что поток занят ожиданием ответа от сервера. |
Автор: _hunter 16.2.2006, 17:27 |
потому как занята программа копированием. в отдельный поток вынеси |
Автор: Gvo3D 17.2.2006, 18:25 |
Спасибо. Ща попробу.... |
Автор: Gvo3D 17.2.2006, 19:35 | ||||||
Я зделал так, но всё равно не работает:
и в процедурку Form1.DownloadFile я поместил функцию из примера:
Form1.paint2 - выводит на экран графику. box1: boolean; в описании класса TMyThead в public T1,T2: TMyThead; Можно ли так делать? простите за дурацкие вопросы, я тоько начинаю... |
Автор: Fiyanov 16.5.2007, 06:54 | ||
И где этот метод взять? Чей это метод? |
Автор: Matematik 16.5.2007, 08:39 |
Gvo3D, ОЙ, какой жуть. Так нельзя. Доп поток создается для какой-то работы, главный должен заниматься интерфейсом. Синхронизация происходит в главном потоке, т.ч. твой код бессмысленен. В соседней ветке накатал небольшой примерчик подключения к ftp в доп потоке http://forum.vingrad.ru/index.php?showtopic=150930&view=findpost&p=1132904 Так вот там операции с ftp происходят в доп потоке, а вывод в лог в синхронизации. Получить список файлов в этой директори и в цикле по списку качать отдельно каждый. Если бы поискал по форуму, нашел бы несколько примеров. |
Автор: Fiyanov 16.5.2007, 11:00 | ||
И как блин получить этот список? FindNext? Нет такого. Метод List непонятно где искать. |
Автор: Fiyanov 18.5.2007, 06:04 |
Может всё таки кто нибудь ответит в этой ветке нормально? Чтоб не возникало больше никаких вопросов. Только обстоятельно и с примером. ![]() |
Автор: Fiyanov 18.5.2007, 08:00 |
![]() Разобрался сам. Для тех кто как и я не понял откуда взялся метод List. Оказываеться реч идёт о компоненте TidFTP. Который расположен на закладке Indy Clients. Вот у него как раз то и есть этот метод. Который возвращает в TStringList список найденых файлов. Если последним параметром поставить значение TRUE то будет выводиться так же информация о файлах. И при помощи этого же компонента можно получать/посылать файлы. Так что процедурка из ФАКа при использовании этого компонента теряет свою актуальность. Вот. |