Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как скачать с ФТП все файлы указанной папки? 
:(
    Опции темы
Gvo3D
Дата 13.2.2006, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 13.2.2006

Репутация: нет
Всего: нет



Есть ФТП сервер. Есть пример закачки 1 указанного файла. НО как закачать все файлы указанной папки? помогите плз. smile
PM MAIL   Вверх
_hunter
Дата 13.2.2006, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



получить список файлов ( метод List ) и использовать пример для каждого файла из списка


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Gvo3D
Дата 13.2.2006, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 13.2.2006

Репутация: нет
Всего: нет



function FtpDownloadFile(strHost, strUser, strPwd: string;
Port: Integer; ftpDir, ftpFile, TargetFile: string; ProgressBar: TProgressBar):
Boolean;

Вот функция из фака. Что такое TargetFile ?
PM MAIL   Вверх
_hunter
Дата 14.2.2006, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



в том же факе смотри описание параметров


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Gvo3D
Дата 16.2.2006, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 13.2.2006

Репутация: нет
Всего: нет



почему при вызове этой процедуры программа зависает???
помогите разобраться ,плз!

PM MAIL   Вверх
Snowy
Дата 16.2.2006, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Потому что поток занят ожиданием ответа от сервера.
PM MAIL   Вверх
_hunter
Дата 16.2.2006, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



потому как занята программа копированием. в отдельный поток вынеси


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Gvo3D
Дата 17.2.2006, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 13.2.2006

Репутация: нет
Всего: нет



Спасибо. Ща попробу....
PM MAIL   Вверх
Gvo3D
Дата 17.2.2006, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 13.2.2006

Репутация: нет
Всего: нет



Я зделал так, но всё равно не работает:
Код

procedure TForm1.Button1Click(Sender: TObject);//Создание 2-х потоков
begin
T1:=TmyThead.Create(true);
T1.box1:=true;
T1.Priority:=tpNormal;

T2:=TmyThead.Create(true);
T2.box1:=False;
T2.Priority:=tpNormal;

T1.Resume;
T2.Resume;
end;


Код

procedure TMyThead.Execute;//Синхронизация
begin

 while not Terminated do
   if Box1 then Synchronize (Form1.paint2)
           else Synchronize (Form1.DownloadFile)

end;

и в процедурку Form1.DownloadFile я поместил функцию из примера:
Код

procedure Tform1.DownloadFile;
 begin

 FtpDownloadFile('10.20.222.222','123','123',
  21, '/', '111.txt','c:/111.txt' ,  ProgressBar1);

 end;

Form1.paint2 - выводит на экран графику.

box1: boolean; в описании класса TMyThead в public
T1,T2: TMyThead;
Можно ли так делать? простите за дурацкие вопросы, я тоько начинаю...
PM MAIL   Вверх
Fiyanov
Дата 16.5.2007, 06:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 255
Регистрация: 19.4.2007
Где: Kazakhstan->Te mirtau

Репутация: нет
Всего: 2



Цитата

получить список файлов ( метод List ) и использовать пример для каждого файла из списка 


И где этот метод взять? Чей это метод?
PM MAIL ICQ   Вверх
Matematik
Дата 16.5.2007, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1027
Регистрация: 11.3.2006

Репутация: 24
Всего: 50



Gvo3D, ОЙ, какой жуть.
Так нельзя. Доп поток создается для какой-то работы, главный должен заниматься интерфейсом. Синхронизация происходит в главном потоке, т.ч. твой код бессмысленен.
В соседней ветке накатал небольшой примерчик подключения к ftp в доп потоке http://forum.vingrad.ru/index.php?showtopi...t&p=1132904
Так вот там операции с ftp происходят в доп потоке, а вывод в лог в синхронизации.
Цитата(Gvo3D @  13.2.2006,  16:51 Найти цитируемый пост)
НО как закачать все файлы указанной папки?

Получить список файлов в этой директори и в цикле по списку качать отдельно каждый.
Если бы поискал по форуму, нашел бы несколько примеров.
PM MAIL WWW ICQ   Вверх
Fiyanov
Дата 16.5.2007, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 255
Регистрация: 19.4.2007
Где: Kazakhstan->Te mirtau

Репутация: нет
Всего: 2



Цитата

Получить список файлов в этой директори и в цикле по списку качать отдельно каждый.


 И как блин получить этот список? FindNext? Нет такого. Метод List непонятно где искать. 
PM MAIL ICQ   Вверх
Fiyanov
  Дата 18.5.2007, 06:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 255
Регистрация: 19.4.2007
Где: Kazakhstan->Te mirtau

Репутация: нет
Всего: 2



Может всё таки кто нибудь ответит в этой ветке нормально? Чтоб не возникало больше никаких вопросов. Только обстоятельно и с примером.  smile 
PM MAIL ICQ   Вверх
Fiyanov
  Дата 18.5.2007, 08:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 255
Регистрация: 19.4.2007
Где: Kazakhstan->Te mirtau

Репутация: нет
Всего: 2



 smile туц туц туц туц. 
Разобрался сам. Для тех кто как и я не понял откуда взялся метод List. Оказываеться реч идёт о компоненте  TidFTP. Который расположен на закладке Indy Clients. Вот у него как раз то и есть этот метод. Который возвращает в TStringList список найденых файлов. Если последним параметром поставить значение TRUE  то будет выводиться так же информация о файлах.  И при помощи этого же компонента можно получать/посылать файлы. Так что процедурка из ФАКа при использовании этого компонента теряет свою актуальность. Вот.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.1270 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.