Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.06;
Скачать: CL | DM;

Вниз

Закачка файла через FTP   Найти похожие ветки 

 
BFG9k   (2004-11-22 12:33) [0]

Необходимо закачать файл с FTP-сервера , причем :
1. Нужно разобрать URL на предмет сервера , имени пользователя , пароля , имени и пути файла.
2. Отобразить процесс закачивания (например с помощью ProgressBar"а)
3. Самое туманное. Обеспечить прерывание закачки с последующим докачиванием.

Что я знаю по этому поводу.
Нашел 3 способа для Delphi7.
1. TidFTP - URL не разбирает (в крайнем случае это можно сделать самому); отображает процесс без проблем ; с докачкой не знаю - есть свойство Intercept , но как пользоваться непонятно.
2. Функция InternetOpenURL из модуля WinInet - URL разбирает , только непонятно как задавать куда качать ; процесс не нашел как отображается; насчет докачки даже смотреть не стал , так как мне нужно отображение процесса.
3. Функция UrlDownloadToFile из модуля URLMon - URL разбирает , причем с указанием куда качать(FileName) , процесс отображает(StatusCB); была бы докачка - цены бы не было , но не нашел.

Мастера , подскажите как использовать один из трех (или иной) способов для достижения трех вышеперечисленных результатов.


 
Дмитрий Ботвин   (2004-11-22 14:59) [1]

Что значит "разобрать URL на предмет сервера , имени пользователя , пароля , имени и пути файла"??? Где ты в URL видел
инфу про пользователя и пароль? И что такое путь файла??? Локальный на сервера что-ли? Кроме это белеберды всё остальное
реализуется просто с помощью IdFTP - там даже демка такая есть...


 
BFG9k   (2004-11-22 15:14) [2]

Дмитрий Ботвин:
Прежде чем называть что-либо белибердой , будь уверен , достаточно ли ты знаешь для этого. Хоть мне это не поможет , обьясню. Синтаксис URL:

<user>:<password>@<host>:<port>/<url-path>

Например ftp://pupkin:pass@microsoft.com:21/updates/list.zip

Нужно вытащить user и password , host (сервер) ,url-path (имя и путь файла). Не хотелось бы самому с этим возиться , подозревая , что это сто раз уже написано .


 
Карелин Артем ©   (2004-11-22 15:31) [3]

BFG9k   (22.11.04 12:33)  

> с докачкой не знаю - есть свойство Intercept , но как пользоваться
> непонятно.

Intercept тут не при чем. Смотри внимательнее на параметры метода, позволяющего скачивать. В исходниках 9 версии ошибка есть в процедуре докачивания, если надо звякни в асю 3030315


 
Verg ©   (2004-11-22 15:35) [4]


> 1. TidFTP - URL не разбирает (в крайнем случае это можно
> сделать самому); отображает процесс без проблем ; с докачкой
> не знаю - есть свойство Intercept , но как пользоваться
> непонятно.


Для этого в Инди есть класс TIdURI.

А с докачкой:

procedure TIdFTP.Get(const ASourceFile, ADestFile: string; const ACanOverwrite: boolean = false; AResume: Boolean = false); overload;

Разве это не то, что нужно?


 
BFG9k   (2004-11-22 16:04) [5]

Verg: То что надо. Спасибо за квалифицированную помощь.
Карелин Артем : Догадываюсь , с чем связана ошибка. У меня в свое время были проблемы с определением размера файла.


 
Карелин Артем ©   (2004-11-22 16:10) [6]

BFG9k   (22.11.04 16:04) [5]
Правильно мыслишь :)



Страницы: 1 вся ветка

Текущий архив: 2005.02.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.126 c
6-1101200124
-= Demon =-
2004-11-23 11:55
2005.02.06
WSock32.dll


1-1106652247
viola
2005-01-25 14:24
2005.02.06
Атрибут заголовка StringFGrid


1-1106728327
s_ilnar
2005-01-26 11:32
2005.02.06
считывание файлов в несколько потоков


3-1104390038
Russko
2004-12-30 10:00
2005.02.06
Ипользование pFIBDataSet


1-1106294006
Leor
2005-01-21 10:53
2005.02.06
DBGrid и видимые колонки .