ActiveX для скачивания из инета

Создание, использование компонентов ActiveX
GOD-iDS
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 03.02.2006 (Пт) 9:51
Откуда: Пенза

ActiveX для скачивания из инета

Сообщение GOD-iDS » 17.04.2007 (Вт) 20:44

Надеюсь поможете,

Срочно нужен ActiveX для скачивания файлов из инета.

Необходимые функции:
1. Запрос размера файла
2. Скачивание файла по URL в локальный файл
3. Возврат % скаченного
(Тоесть контрол должен скачивать файл отдельным потоком, дабы не тормазить прогу)

Было бы совсем круто, если будут исходники.


А то написал сам по примерам (нашёл кде-то тут кажется), ужасно нестабильный и неудобный контрол получился.

Очень на вас надеюсь.
Трудно быть богом, но я попробую!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 17.04.2007 (Вт) 21:08

Забавно.
Т.е. ты не нашёл пример, полностью удовлетворяющий этим условиям. Даже при том, что он, для удобства, в специальном разделе.
Ну-ну.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 17.04.2007 (Вт) 22:54

На счёт п.1 и п.3.

А что контрол должен выдавать если размер файла не известен? (ответ сервера не содержит заголовка Content-Lenght)
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

GOD-iDS
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 03.02.2006 (Пт) 9:51
Откуда: Пенза

Сообщение GOD-iDS » 18.04.2007 (Ср) 8:33

Хакер писал(а):На счёт п.1 и п.3.

А что контрол должен выдавать если размер файла не известен? (ответ сервера не содержит заголовка Content-Lenght)


Да всеравно... например -1 =)
Трудно быть богом, но я попробую!

GOD-iDS
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 03.02.2006 (Пт) 9:51
Откуда: Пенза

Сообщение GOD-iDS » 18.04.2007 (Ср) 8:37

GSerg писал(а):Забавно.
Т.е. ты не нашёл пример, полностью удовлетворяющий этим условиям. Даже при том, что он, для удобства, в специальном разделе.
Ну-ну.


Если ты про пример от tyomitch. то там несовсем так как нажно...

Может у кого всётаки есть???
Трудно быть богом, но я попробую!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 18.04.2007 (Ср) 8:44

А как нажно, поконкретнее?
Изображение

GOD-iDS
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 03.02.2006 (Пт) 9:51
Откуда: Пенза

Сообщение GOD-iDS » 18.04.2007 (Ср) 8:47

Я бы не сказал что я рулю в VB, поэтому такие глупые проблемы возникают...

Вот дописал тот вариант контрола(на базе какого то примера). но у него пробема:
параметр размера файла изменяется только при StateChanged, а желательно, хоть и будет тормазить прогу, чтобы при функции GetFileSize возвращался...
(правда выполнено неособо красиво =) , я же пока тока основы зацепил, а уж продвинутые извращения тока учу)

Может кто посмотрит, поправит.
У вас нет доступа для просмотра вложений в этом сообщении.
Последний раз редактировалось GOD-iDS 18.04.2007 (Ср) 9:36, всего редактировалось 1 раз.
Трудно быть богом, но я попробую!

GOD-iDS
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 03.02.2006 (Пт) 9:51
Откуда: Пенза

Сообщение GOD-iDS » 18.04.2007 (Ср) 9:02

Решения (до которых додумался)
То есть он получается должен дожидаться ближайшего StateChanged... но ожидание StateChanged может сильно тормазить программу...

или просто зепрашивать размер другим способом...

Я блин незнаю уже... остаётся тока тупо ставить на форму таймер и по таймеру синхронизировать параметр размера с textbox'ом, а это как бы криво.
Трудно быть богом, но я попробую!

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 18.04.2007 (Ср) 10:56

А я вот не пойму - нафига тут вообще контрол?

Качать отдельным потоком, определять процент скачанного и прочие прелести - может тот же Download Master, к примеру. Запуск через командрую строку описан в его справке... Чего не хватает?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 18.04.2007 (Ср) 12:02

Да, самый простой способ скачивать безо всяких сокетов и API - воспользоваться AsyncRead у UserControl-a. Пример легко находится в Help-e. Недостаток - настройки прокси берет из системы? Из кода их не задать.
-----

Какой-то компонентик доступен здесь

http://www.mwvb.de/mwdl.htm

P.S Я его не пробовал, но судя по всему он прокси ему задать можно и процент он скаченного возвращает...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

GOD-iDS
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 03.02.2006 (Пт) 9:51
Откуда: Пенза

Сообщение GOD-iDS » 18.04.2007 (Ср) 13:43

Andrey Fedorov писал(а):Какой-то компонентик доступен здесь

http://www.mwvb.de/mwdl.htm

P.S Я его не пробовал, но судя по всему он прокси ему задать можно и процент он скаченного возвращает...


Да! То что нужно! Вроде есть все необходимые функции.

Но всё же неплохо было бы проге свой контрол использовать.
Так что вопрос пока весит.
Может Кто нить всётаки придумает решение...
Последний раз редактировалось GOD-iDS 18.04.2007 (Ср) 14:08, всего редактировалось 1 раз.
Трудно быть богом, но я попробую!

GOD-iDS
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 03.02.2006 (Пт) 9:51
Откуда: Пенза

Сообщение GOD-iDS » 18.04.2007 (Ср) 13:57

AsyncRead
Нашёл про неё Тут.
Судя по всему... это подойдёт... потому как работает в фоне... прогресс отследить можно...
Ну а то что она использует настройки системы, а свои загнать нельзя, так это не беда... кто же работает на ненастроенной системе...
Попробую через AsyncRead написать ещё...

Выложите Кто нить, плиз, пример использования AsyncRead...
Трудно быть богом, но я попробую!

GOD-iDS
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 03.02.2006 (Пт) 9:51
Откуда: Пенза

Сообщение GOD-iDS » 18.04.2007 (Ср) 14:17

Andrey Fedorov писал(а):А я вот не пойму - нафига тут вообще контрол?
Качать отдельным потоком, определять процент скачанного и прочие прелести - может тот же Download Master, к примеру. Запуск через командрую строку описан в его справке... Чего не хватает?


Если сам пишешь менеджер закачек, то будешь в нём использовать чужой менеджер закачек? =) Темболее зачем нужна привязка к какой-то ещё программе.
Трудно быть богом, но я попробую!

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 18.04.2007 (Ср) 14:48

GOD-iDS писал(а):Ну а то что она использует настройки системы, а свои загнать нельзя, так это не беда... кто же работает на ненастроенной системе...


Ну я бы так категорично не сказал - вот у меня на работе он работать не будет. Именно из-за прокси. Ибо рабочий IE при запуске выкидывает окошко для ввода пароля прокси сервера. А тот же FlashGet работает нормально лишь потому что логин/пароль для прокси-сервера в него забиты ручками. Через AsyncRead так, увы, не сделать...

Можно еще вроде сделать через Internet Control...

GOD-iDS писал(а):Выложите Кто нить, плиз, пример использования AsyncRead...


В Help-e есть -> F1 -> поиск AsyncRead.

И в интернете полно по этому слову находится...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 18.04.2007 (Ср) 14:55

GOD-iDS писал(а):Если сам пишешь менеджер закачек, то будешь в нём использовать чужой менеджер закачек?


Ну, если только ты хочешь изобрести свой вариант велосипеда... :lol:

GOD-iDS писал(а): =) Темболее зачем нужна привязка к какой-то ещё программе.


Кто-же знал что ты пишешь свой менеджер закачек, а не пытаешься просто автоматизировать скачивание файлов...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 18.04.2007 (Ср) 15:08

Кстати, только что на глаза случайно попалась страничка со словом Download - может пригодится:

http://allapi.mentalis.org/vbexamples/v ... ory=SOURCE

А вообще - можно и на planet-souce-code.com глянуть...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

GOD-iDS
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 03.02.2006 (Пт) 9:51
Откуда: Пенза

Сообщение GOD-iDS » 18.04.2007 (Ср) 16:48

Andrey Fedorov писал(а):
GOD-iDS писал(а):Если сам пишешь менеджер закачек, то будешь в нём использовать чужой менеджер закачек?

Ну, если только ты хочешь изобрести свой вариант велосипеда... :lol:
GOD-iDS писал(а): =) Темболее зачем нужна привязка к какой-то ещё программе.

Кто-же знал что ты пишешь свой менеджер закачек, а не пытаешься просто автоматизировать скачивание файлов...


Дело в том, что я пишу Менеджер загрузок с определённого Web-сервера(http). В нём свой GUI для работы именно с этим серваком...
То бишь скачивается древо разделов/файлов, выбирает юзер что то, скачивается описание и т.д., пользователь щёлкает скачать, файлик скачивается =). На серваке специальная структура файлов создана.
Таким образом узер получает шустрый и удобный доступ к серверу.

Кстати на VB8 тоже можно предлагать...

А ещё, если уж использовать другие менеджеры закачек, можно просто использовать ie(уж он то есть) API с диалогом сохранения файла помоему в ieframe.dll
Трудно быть богом, но я попробую!

GOD-iDS
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 03.02.2006 (Пт) 9:51
Откуда: Пенза

Сообщение GOD-iDS » 18.04.2007 (Ср) 17:13

Andrey Fedorov писал(а):Кстати, только что на глаза случайно попалась страничка со словом Download - может пригодится:
http://allapi.mentalis.org/vbexamples/v ... ory=SOURCE
А вообще - можно и на planet-souce-code.com глянуть...

Пример интересный (работа через библиотеку wininet), но он неподходит для моего случая.

ЗЫ
тока не planet-souce-code.com ,
а planet-souRce-code.com .
Что то я никогда на этот сайт не попадал, а сайтик действительно крут... кое что я тут нашёл, посмотрю ща...
Трудно быть богом, но я попробую!

GOD-iDS
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 03.02.2006 (Пт) 9:51
Откуда: Пенза

Сообщение GOD-iDS » 18.04.2007 (Ср) 17:46

Неплохой примерчик A Simple Download Manager, правда он работает на скока я понял через серверные комманды http. Короче мне понравились его возможности... сёдня ночью наверное разберу и попробую забабацать контрол.
Если что то получится выложу тут.
Трудно быть богом, но я попробую!


Вернуться в Компоненты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18

    TopList