проблема с получением значения из интернет

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Invader
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 18.01.2005 (Вт) 4:22
Откуда: Молдавия, Виноград

проблема с получением значения из интернет

Сообщение Invader » 06.03.2009 (Пт) 12:14

Прошу прошения но уже просмотрел многое
в форуме как то писали об этом
http://bbs.vbstreets.ru/viewtopic.php?t=35006

был там (рабочий0 мной провереный
Код: Выделить всё
Dim XmlHttp

Set XmlHttp = CreateObject("Microsoft.XmlHttp")

Xmlhttp.Open "GET","http://www.mail.ru",False

XmlHttp.Send

if XmlHttp.Status = 200 Then

Dim HTMLDocument
Set HTMLDocument = CreateObject("HTMLFile")
HTMLDocument.Clear
HTMLDocument.Open

HTMLDocument.write XmlHttp.ResponseText

For Each Element in HTMLDocument.all.tags("TABLE")
if Element.ClassName = "frame" Then
Msgbox Element.innertext
End if
Next

Else
MsgBox XmlHttp.Status & ":" & XmlHttp.StatusText,vbCritical,"Не удалось загрузить страницу"
End if
и вот я его недавно запустил первое ошибка: Element - переменная неизвестна!
возможно я не подключил нужную библиотеку
да и ещё возможная проблема браузер по умолчанию был firefox

[Хакер] :: Чтобы обрамить код специально предназначенным для этого тегом нужно сделать два действия: выделить код и нажать кнопочку "Code" сверху. Некоторые предпочитают выполнять три действия: выделять код, нажимать "Цвет шрифта" и выбирать в палитре один из кислотных цветов. Некоторые делают это систематически, а поэтому получают на сей раз замечание.
умён и жаден,
характер отсуствует

Invader
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 18.01.2005 (Вт) 4:22
Откуда: Молдавия, Виноград

Re: проблема с получением значения из интернет

Сообщение Invader » 06.03.2009 (Пт) 16:01

Прошу прощения не был ознакомлен с данным правилом,
впредь буду корректен
умён и жаден,
характер отсуствует

Invader
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 18.01.2005 (Вт) 4:22
Откуда: Молдавия, Виноград

Re: проблема с получением значения из интернет

Сообщение Invader » 09.03.2009 (Пн) 12:58

Всем огромное спасибо за не помощь
главное что с орфографией поправили
теперь буду писать вопросы грамотней
умён и жаден,
характер отсуствует

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: проблема с получением значения из интернет

Сообщение alibek » 09.03.2009 (Пн) 16:43

Invader писал(а):Всем огромное спасибо за не помощь
главное что с орфографией поправили
теперь буду писать вопросы грамотней

Пожалуйста. Грамотность — это немало.
Если бы ты еще FAQ не забыл прочесть, в котором сказано про Option Explicit, глядишь и подобных вопросов бы не возникало.
Lasciate ogni speranza, voi ch'entrate.

Invader
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 18.01.2005 (Вт) 4:22
Откуда: Молдавия, Виноград

Re: проблема с получением значения из интернет

Сообщение Invader » 10.03.2009 (Вт) 10:33

спасибо, просвятили....
Option Explicit ясн. стоит - тоесть просто в примере кода не указал и всё равно
проблема не решена
Element - variable defined
умён и жаден,
характер отсуствует

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Re: проблема с получением значения из интернет

Сообщение RayShade » 10.03.2009 (Вт) 10:56

Ну, надо перед
Код: Выделить всё
For Each Element in HTMLDocument.all.tags("TABLE")


Написать
Код: Выделить всё
Dim Element


Но вообще-то, я как вижу, тут сам подход кривой до безобразия. XmlHttp к примеру, умеет работать асинхронно, что тут совсем не используется никак. И потом, где этот код будет юзаться? Если в скрипте - то такой скрипт не во всех браузерах будет работать. Если в приложении - то см. выше замечание про асинхронность :) Да и синтаксис тогда поправить надо.
I don't understand. Sorry.

Invader
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 18.01.2005 (Вт) 4:22
Откуда: Молдавия, Виноград

Re: проблема с получением значения из интернет

Сообщение Invader » 10.03.2009 (Вт) 11:08

да в приложении
умён и жаден,
характер отсуствует

Invader
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 18.01.2005 (Вт) 4:22
Откуда: Молдавия, Виноград

Re: проблема с получением значения из интернет

Сообщение Invader » 10.03.2009 (Вт) 12:06

какой там синтаксис даите сылку
всё перекопал

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Re: проблема с получением значения из интернет

Сообщение RayShade » 10.03.2009 (Вт) 12:10

Код: Выделить всё
Dim XmlHttp As Object
Set XmlHttp = CreateObject("Microsoft.XmlHttp")
Xmlhttp.Open "GET", "http://www.mail.ru", False
XmlHttp.Send
If XmlHttp.Status = 200 Then
Dim HTMLDocument As Object
Set HTMLDocument = CreateObject("HTMLFile")
HTMLDocument.Clear
HTMLDocument.Open
HTMLDocument.write XmlHttp.ResponseText
Dim Element As Object
For Each Element in HTMLDocument.all.tags("TABLE")
If Element.ClassName = "frame" Then Msgbox Element.innerText
Next
Else
MsgBox XmlHttp.Status & ":" & XmlHttp.StatusText,vbCritical,"Не удалось загрузить страницу"
End if
I don't understand. Sorry.

Invader
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 18.01.2005 (Вт) 4:22
Откуда: Молдавия, Виноград

Re: проблема с получением значения из интернет

Сообщение Invader » 10.03.2009 (Вт) 12:52

спасибо
но код ничего не делает
возможно из-за тэга моя ошибка <TABLE ID="44">
его так и прописать...?
умён и жаден,
характер отсуствует

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Re: проблема с получением значения из интернет

Сообщение RayShade » 10.03.2009 (Вт) 13:03

Код ничего не делает, потому что он синтаксически правилен, а семантически туп.
I don't understand. Sorry.

Invader
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 18.01.2005 (Вт) 4:22
Откуда: Молдавия, Виноград

Re: проблема с получением значения из интернет

Сообщение Invader » 10.03.2009 (Вт) 13:22

ни знаю но заработало
правда строка 30
Ошибка "jQuery" - определение отсуствует
ну если отмена пару ещё выскакивающих
но потом всё нормально
а что можно использовать по лутше? направте на светлый путь :shock:
умён и жаден,
характер отсуствует

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Re: проблема с получением значения из интернет

Сообщение RayShade » 10.03.2009 (Вт) 14:35

jQuery это ошибка сайта mail.ru - наверняка они используют этот фреймворк, а при исполнении внутри xmlhttp он не того, не пашет.
В случае получения данных с mail.ru лучше всего грузить страницу в webbrowser, и уже потом в нем собственно работать с документом через DOM модель.
I don't understand. Sorry.

Invader
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 18.01.2005 (Вт) 4:22
Откуда: Молдавия, Виноград

Re: проблема с получением значения из интернет

Сообщение Invader » 10.03.2009 (Вт) 14:50

мне браузер не нужен
в плане того что значения должны попадать в программу
а браузер будет портить эстетичный вид вот если сделать чтоб его вообще не было
видно или придумал хотя тоже не ёмко
сохранить страницу на диск а потом перебирать элементы
но это только с получением а вот к примеру если я хочу в поле поиска скажем гуглы
написать да ещё и отправить и без браузера
скажем есть форма с 2 текстовыми полями и кнопка
text1.text - сам запрос
ну а text2.text ответ
умён и жаден,
характер отсуствует

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Re: проблема с получением значения из интернет

Сообщение RayShade » 10.03.2009 (Вт) 14:52

Кто мешает сделать его visible=false - вот и вид сохранится :) И это будет всяко удобнее, чем получать всю страницу и потом ее парсить черти как.
I don't understand. Sorry.

Invader
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 18.01.2005 (Вт) 4:22
Откуда: Молдавия, Виноград

Re: проблема с получением значения из интернет

Сообщение Invader » 10.03.2009 (Вт) 15:01

спасибо огромное
буду думать, замучился с решением
тема может быть закрыта
умён и жаден,
характер отсуствует

Invader
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 18.01.2005 (Вт) 4:22
Откуда: Молдавия, Виноград

Re: проблема с получением значения из интернет

Сообщение Invader » 10.03.2009 (Вт) 17:28

тут ещё такой момент я то разместил браузер
открываю страницу,
но как (расмотреть, обротиться) к ней в DOM модели
какую нибудь сылочку на это
в гугле перекопал
но там либо .NET или всяко разно но не по вопросу
умён и жаден,
характер отсуствует

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

Re: проблема с получением значения из интернет

Сообщение Хакер » 10.03.2009 (Вт) 18:15

Свойство document возвращает корень DOM.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Invader
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 18.01.2005 (Вт) 4:22
Откуда: Молдавия, Виноград

Re: проблема с получением значения из интернет

Сообщение Invader » 11.03.2009 (Ср) 11:41

Хакер я не совсем понял я сделал следующее

Код: Выделить всё
Private Sub Command1_Click()

cboAddress.Text = "http://www.mail.ru"
cboAddress_Click
Text1.Text = brwWebBrowser.Document
End Sub


выдает значение в текстовом поле [object]
а как получить доступ к тегам, к классам их свойствам
умён и жаден,
характер отсуствует

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

Re: проблема с получением значения из интернет

Сообщение Хакер » 11.03.2009 (Ср) 15:53

Это один из случаев, когда медицина бессильна...

brwWebBrowser.Document — это корень объектной модели документа. Вчитайся в эту фразу 13 раз.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Re: проблема с получением значения из интернет

Сообщение SSecurity » 13.03.2009 (Пт) 11:53

И что самое интересное даже получив доступ к телу документа .... :) я подозреваю чтьо автор получит проблему связанную с доступом к нужной информации которая формируется AJAX-ом)

Посмотри на события браузера там есть DocumentDownloaded (чета типа того) и DocumentComplite (это когда все картинки загрузились и страница загружена), вот там и можешь доступ получать ....

а можешь например вызвать через метод Navigate2 нужный url и ждать нужного изменения свойства.
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)


Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: Google-бот и гости: 47

    TopList  
cron