Что нового

[Сеть, интернет] Отображение определённых символов HTML с сайта, в окне GUI

D

dreamorder

Гость
Доброго времени суток гос-да.
Продолжаю осваивать Autoit, многому научился благодаря отзывчивым участникам форума,
и множества очень полезных тем, теперь появилась новая задача.
Есть созданное окно GUI с кнопкой запроса данных, с сервера в интернете, нужно
"выдёргивать" определённые символы HTML кода (например 12,14,15й символ 1й строки,
4,5,6,7й символ 22й строки и т.д.) для отображения в окне GUI рядом с кнопкой запроса.
Так как я только начал изучать возможности Autoit в сети, хотелось бы посмотреть пример
скрипта который умеет это делать. Если конечно такая задачка решаема. 8)
Заранее благодарю всех кто поможет в продолжении освоения Autoit. :smile:
 

Andrei7

Новичок
Сообщения
72
Репутация
3
Код:
#include <GUIConstants.au3>


$Form1 = GUICreate("Form1", 633, 421, 193, 125)
$Label1 = GUICtrlCreateLabel("", 24, 80, 588, 236)
GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
$Button1 = GUICtrlCreateButton("GO", 176, 360, 283, 41, 0)
GUISetState(@SW_SHOW)
;тут всё понятно думаю? делаем форму + Label +  Button

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE ; если нажат крестик то выход
            Exit
        case $Button1 ; если нажата кнопка то >>
            $oRequest = ObjCreate('WinHttp.WinHttpRequest.5.1') ; создаем обьект WinHttp. можно через _inetgetsource код страницы получить. я предрочитаю так
                            If @error Then
                            MsgBox(8192+16, ' Внутреняя Ошибка', 'Ошибка при создании объекта "WinHttp.WinHttpRequest.5.1".')
                            Exit 1
                        EndIf
    $oRequest.Open('GET', 'http://autoit-script.ru/index.php/topic,11001.msg72531/topicseen.html#new') ; гет запрос по адресу http://autoit-script.ru/index.php/topic,11001.msg72531/topicseen.html#new
    $oRequest.setTimeouts(5000, 5000, 15000, 15000)
    $oRequest.SetRequestHeader('Accept', '*/*')
    $oRequest.SetRequestHeader('User-Agent', 'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.10.229 Version/11.60')
    $oRequest.Send('') ;  отправляем
    $oRequest.WaitForResponse
    $pData = $oRequest.ResponseText ; получаем текст стр в  $pData
    $result=StringRegExp($pData,'\<title\>(.*?)\<\/title\>',1) ; ищем текст в тегах title
    if @error=0 Then ; если нашли то >>
    GUICtrlSetData($label1,$result[0]) ; изменяем в label текст на найденый текст
    EndIf

    EndSwitch
WEnd
 
Автор
D

dreamorder

Гость
Andrei7 Большое спасибо! То что надо! :IL_AutoIt_1:
Прошу прощения за дотошность, но не могли бы Вы добавить описания к строкам скрипта?
Очень прошу! :-\

Спасибо ещё раз! :smile:
 
Верх