Что нового

Как получить информацию с сервера в GUI

jufas222

Знающий
Сообщения
93
Репутация
5
Всем привет, возможно ли осуществить получение информации с сервера, нужно с http://l2.overworld.su/index/statistics/fortress/1/ получить время последних осад, сделать подсчёт сколько осталось до начало осады.
 

DarWiM

Продвинутый
Сообщения
527
Репутация
90
jufas222
Код:
;получить содержимое с помощью
InetRead()
;вытащить нужное через
StringRegExp()
;а дальше вывод в GUI в зависимости от предпочтений
 
Автор
J

jufas222

Знающий
Сообщения
93
Репутация
5
Как получить понял, а вот как прочесть и отправить в GUI не могу понять :(
 

DarWiM

Продвинутый
Сообщения
527
Репутация
90
jufas222
как-то так
Код:
#include <array.au3>
$sText=BinaryToString(InetRead('http://l2.overworld.su/index/statistics/fortress/1/',1))
;~ ConsoleWrite($sText&@CRLF)
$a1=StringRegExp($sText,'(?s)<td class="right"><strong>(.*?)</strong>
',3)
$a2=StringRegExp($sText,'(?s)Владелец: <b>(.*?)</b>',3)
$a3=StringRegExp($sText,'(?s)Владеет с: (.*?) 
',3)
$a4=StringRegExp($sText,'(?s)Последняя осада: (.*?)</tr>',3)
;~ _ArrayDisplay($a1)
;~ _ArrayDisplay($a2)
;~ _ArrayDisplay($a3)
;~ _ArrayDisplay($a4)
GUICreate('test',700,200)
$Edit=GUICtrlCreateEdit('',5,5,690,190)
For $i=0 To UBound($a1)-1
	GUICtrlSetData($Edit,$a1[$i]&' | '&$a2[$i]&' | '&$a3[$i]&' | '&$a4[$i]&@CRLF,1)
Next

GUISetState()
Sleep(5000)
 
Автор
J

jufas222

Знающий
Сообщения
93
Репутация
5
Спасибо, что то получилось, надеюсь немного изменить и красиво оформить у меня получится самостоятельно, но скажите где вы взяли строки, такие как '(?s)<td class="right"><strong>(.*?)</strong>
' <b>(.*?)</b> и остальные подобные, и за что они отвечают.

Из справки я понял за что отвечает (?s), но с остальными символами не пойму....
 

DarWiM

Продвинутый
Сообщения
527
Репутация
90
jufas222
Это один из самых простых шаблонов для регулярных выражений. Советую поискать по форуму, тут даже раздел для них выделили :smile:

А по сути
<td class="right"><strong>(.*?)</strong>
это просто кусок HTML кода страницы, который мы получили. Что значит (.*?) можно узнать в справке...
 
Автор
J

jufas222

Знающий
Сообщения
93
Репутация
5
Спасибо, разобрался, но возникла другая проблема, как сделать так, что бы каждый форт, имел свой массив, то есть у вас под $a1 хранятся все названия фортов, под $a2 все владельцы, под $a3 с какого времени владеют, под $a4 последняя осада.
Возможно ли сделать так что бы у $a1 было название одного форта, под $a2 владелец форта $a1 и так далее.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
jufas222 [?]
но возникла другая проблема, как сделать так, что бы каждый форт, имел свой массив, то есть у вас под $a1 хранятся все названия фортов, под $a2 все владельцы, под $a3 с какого времени владеют, под $a4 последняя осада. Возможно ли сделать так что бы у $a1 было название одного форта, под $a2 владелец форта $a1 и так далее.
Предупреждение За нарушение общих правил (пункт В.4):
Не лепите несколько вопросов разной тематики в один пост. По типу "Ребят, а ещё такой вопрос...". Каждый вопрос в свою тему.


С уважением, ваш Модератор.




ИМХО, задавайте этот вопрос в разделе Регулярные выражения и прочее, и не забудьте опубликовать HTML-код.
 
Верх