Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 23.05.2007
Сообщений: 236

Microsoft Internet Controls

18.03.2008, 17:28. Показов 4780. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите как с помощью этого контрола при полной (с картинками) загрузке перенаправить пользователя на другой URL?
Заранее благодарен...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.03.2008, 17:28
Ответы с готовыми решениями:

Скроллинг страницы Microsoft Internet Controls (ieframe.dll)
Как прокрутить страницу в ieframe.dll ?

Где можно найти компонент Microsoft Internet Controls
Где можна найти компонент Microsoft Internet Controls для Visual Basic 6?

Флаги в Microsoft common Dialog Controls
Privet, kto nibut mojet mnje dat link v katorm ja mog naiti nimnogo bolshe i jasni razisnenije otnasitelno flagov Microsoft common...

21
0 / 0 / 0
Регистрация: 20.02.2008
Сообщений: 181
18.03.2008, 18:19
Поподробнее пожалуйста. Я понял, это - сервер, раз 'перенаправить' ? Клиент обычно запросы посылает да инфу принимает (ту, которую сервер пошлёт)
0
0 / 0 / 0
Регистрация: 23.05.2007
Сообщений: 236
18.03.2008, 18:29  [ТС]
Дело вот в чем:
Я на форме рисую браузер, затем задаю ему URL и хочу что-бы когда страница по нему полностью загрузиться со всеми картинами, браузер перешел на другую страницу...
0
0 / 0 / 0
Регистрация: 20.02.2008
Сообщений: 181
19.03.2008, 09:53
А что мешает после загрузки самому задать новый урл тем же способом ? И юзер переходит куда надо ...
0
0 / 0 / 0
Регистрация: 23.05.2007
Сообщений: 236
19.03.2008, 10:15  [ТС]
а как? т.е. я посылаю пользователя на заданный URL, но необходимо дождаться полной загрузки, а только потом переправить на URL2. Как сделать, чтобы этот объект ждал полной загрузки, а затем запускал какую либо функцию или sub?
0
0 / 0 / 0
Регистрация: 12.03.2008
Сообщений: 21
20.03.2008, 06:23
у объекта WebBrowser, я так понял, вы его используете, есть свойство readystate, через него можно проверить, загрузилась или нет страница полностью
по типу
while wb.readystate = readystate_loading
делаем то-то
loop

if wb.readystate = readystate_loaded then
делаем другое, если перенаправить на др. страницу, то
wb.navigate = 'http://aaa.aa'
end if
кажется так...
0
0 / 0 / 0
Регистрация: 23.05.2007
Сообщений: 236
20.03.2008, 10:01  [ТС]
Все равно не хочет... Машина виснет, при нажатии ctrl + alt + del и удалении программы из памяти работа продолжается...
Параметры WebBrowser1.ReadyState = READYSTATE_LOADING
и
WebBrowser1.ReadyState = READYSTATE_LOADED
должны быть разными?
Вот код:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Private Sub Form_Load()
WebBrowser1.Navigate 'http://127.0.0.1/en/'
 
Do While WebBrowser1.ReadyState = READYSTATE_LOADING
Loop
 
If WebBrowser1.ReadyState = READYSTATE_LOADED Then
WebBrowser1.Navigate 'http://127.0.0.1/en/'
End If
 
End Sub
0
0 / 0 / 0
Регистрация: 17.08.2007
Сообщений: 539
20.03.2008, 11:56
А с событием DownloadComplete не играл? А с событием ProgressChange? Попробуй хотя бы такой такой код:
Visual Basic
1
2
3
4
5
Private Sub WebBrowser1_ProgressChange(ByVal Progress As Long, ByVal ProgressMax As Long)
If Progress = ProgressMax Then
    MsgBox ('Done!')
End If
End Sub
0
0 / 0 / 0
Регистрация: 20.02.2008
Сообщений: 181
20.03.2008, 12:25
2alexbl 'Все равно не хочет...'

1. добавь a=DoEvents() в цикл Do/Loop чтобы форма могла реагировать на действия пользователя.
2. Do/Loop делает слишком много проверок за короткий период. Думаю разумнее использовать одноразовый таймер при сраб. которого делаеться проверка ReadyState (к примеру 1 сек). И нет такой загузки апп. на ненужных действиях.
0
0 / 0 / 0
Регистрация: 23.05.2007
Сообщений: 236
20.03.2008, 14:10  [ТС]
debutant:
все равно зараза не хочет последнюю картинку ждать....

ma3ai:
А как поставить таймер?
я только начинаю:-)))
0
0 / 0 / 0
Регистрация: 20.02.2008
Сообщений: 181
20.03.2008, 14:51
С самого начала:
1. В панели контролов нажимаешь иконку с часами и кладёшь на форму
2. Запуск: Timer1.Interval = время
3. В окне объектов выбираешь Timer1, В правом событие Timer - появится sub Timer1_Timer . Сюда попадает управление когда таймер срабатывает.
0
0 / 0 / 0
Регистрация: 23.05.2007
Сообщений: 236
20.03.2008, 15:47  [ТС]
Спасибо! Все работает!
0
0 / 0 / 0
Регистрация: 23.05.2007
Сообщений: 236
21.03.2008, 16:05  [ТС]
у меня тут новый вопросик относительно таймера возник: в каких единицах он измеряет время и как поставить, например, 10 минут (т.к. все, что больше 6000 = 75 сек выдает ошибку)?
0
0 / 0 / 0
Регистрация: 13.01.2008
Сообщений: 24
21.03.2008, 23:18
Скорее всего, можно и без таймера обойтись.
у меня в Delphi работает такой код:

Delphi
1
2
WebBrowser.Navigate(.....);
while WebBrowser.ReadyState <> READYSTATE_COMPLETE do Forms.Application.ProcessMessages;
для VB будет
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Form_Load()
WebBrowser1.Navigate 'http://127.0.0.1/en/'
Do While WebBrowser1.ReadyState <> READYSTATE_COMPLETE
  DoEvents
Loop
 
WebBrowser1.Navigate 'http://127.0.0.1/en/'
 
Do While WebBrowser1.ReadyState <> READYSTATE_COMPLETE
  DoEvents
Loop
 
End Sub
0
0 / 0 / 0
Регистрация: 23.05.2007
Сообщений: 236
22.03.2008, 16:04  [ТС]
Спасибо. Но как я понял этот код подходит для перенаправления посетителя после полной загрузки, а если мне необходимо после полной загрузки ждать 10 минут, затем только направлять на другой адрес, как тут быть?
0
0 / 0 / 0
Регистрация: 17.08.2007
Сообщений: 539
22.03.2008, 16:54
И шо вы такии запаренные? :-) В событии DownloadComplete активируешь таймер. Таймер, по совету деда (без обид?), предварительно поставь на свои ...дцать минут. В событии таймера напиши WebBrowser1.Navigate и усе! Хеппи юзинга!

Удачи всем поселянам!
0
0 / 0 / 0
Регистрация: 17.08.2007
Сообщений: 539
22.03.2008, 17:02
Тут понимаешь в чем шутка - событие таймера происходит ПЕРИОДИЧЕСКИ с интервалом в N мс. Можно в этом событии напросто сравнивать текущее время с тем, которое ты предварительно записал при запуске приложения в переменную. Если совпало или больше (за точностью не гонись), то делай свой Redirect.

Удачи в борьбе! Но пасаран!
0
0 / 0 / 0
Регистрация: 23.05.2007
Сообщений: 236
23.03.2008, 01:27  [ТС]
Document_Complete - загрузка только HTML кода (так написано в руководстве, да и на практике так же). Нужно же, чтобы и картинки тоже грузились. Все работает:
Visual Basic
1
2
3
4
5
Private Sub WebBrowser1_ProgressChange(ByVal Progress As Long, ByVal ProgressMax As Long)
If Progress = ProgressMax Then
WebBrowser1.Navigate 'http://127.0.0.1:1051/ru/'
End If
End Sub
Вопрос же заключается в том, чтобы таймер активировался каждые 10 минут, т.к. его макс. значение может быть 6000 мс, как сделать его значение рабным 10 минутам?
0
0 / 0 / 0
Регистрация: 20.02.2008
Сообщений: 181
23.03.2008, 10:13
max интервал
К сожалению придётся использовать доп. переменную для учёта кол-ва срабатываний.
Примерно так. За ошибки не отвечаю - не проверял. Вариантов, конечно-же, может быть несколько.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private m_Count as long
Private const TIMER_LINTERVAL as long = 5000 'это значение подбираем макс. близко к TIMER_HINTERVAL / кол-во раз
Private const TIMER_HINTERVAL as long = 10000
 
sub Timer1_Timer
   Dim Total as long 'total time
   m_Count = m_Count + 1
   Total = m_Count * m_Interval
   if Total >= TIMER_INTERVAL then
      'обнуляемся
      m_Count = 0
      'что нибудь делаем
      Call GreatDeal ()
   end if
end sub
P.S. кстати не предусмотрена защита от переполнения стека 'Stack overflow' Хотя здесь это не грозит (почти) но ... если GreatDeal выполняется дольше чем TIMER_LINTERVAL (или ждёт деёствий от пользователя) то предыдущий вызов Timer1_Timer запис. в стек (как при рекурсивном вызове) и чем больше таких случаев тем более реален Overflow.
0
0 / 0 / 0
Регистрация: 20.02.2008
Сообщений: 181
23.03.2008, 10:24
пардон, не заметил. debutant ранее предложил сравнение с текущим временем - это покороче будет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.03.2008, 10:24
Помогаю со студенческими работами здесь

Нужен мануал по Microsoft Internet Transfer Control
Кто-нибудь может дать мануалов или литературы по Microsoft Internet Transfer Control (VB6) ?

Добавление элемента Microsoft Internet Transfer Control
Ребята, привет ! Ответ на свой первый вопрос, заданный 21.06.01 г. я, наверное, так и не получу, тогда такой хотя бы вопрос: В редакторе...

Microsoft MAPI Controls
Народ подскажите где взять описание методов используемых Microsoft MAPI Controls 6.0 все перерыл найти не могу И еще вопросик ...

Не активен Microsoft Chart Controls
Здравствуйте! Создал wpf приложение, используется фреймворк 4.5.2. Хочу добавить Microsoft Chart Controls на окно, но в разделе Data пункт...

Как установить Microsoft Chart Controls?
Нужно нарисовать график, решил установить microsoft chart controls, но на сайте microsoft есть версия только для .NET Framework 3.5,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru