Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 903
Благодарности: 161

Профиль | Отправить PM | Цитировать


madmasles, Вы правы. Т.о. окончательный мой код (уже в правильной редакции) будет таким:

Код: Выделить весь код
#include <GUIConstantsEx.au3>
#include <IE.au3>

$j = False
$i = 0
$z = 2
#region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 300, 200, -1, -1)
$Label1 = GUICtrlCreateLabel('Начни проверку!', 105, 30, 100, 20)
$Progress1 = GUICtrlCreateProgress(50, 50, 200, 20)
$Button1 = GUICtrlCreateButton("Замерить", 100, 100, 100, 50)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###
;GUISetState()
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
			ControlDisable("Form1", "", $Button1)
            GUICtrlSetData($Label1, "Идет проверка!")
            AdlibRegister('_MyFunc', 50)
			   			
			While 1
               Call("Internet")
               ExitLoop
            WEnd
			
			GUICtrlSetData($Label1, "Начни проверку!")
            AdlibUnRegister('_MyFunc')
            $i = 0
			GUICtrlSetData($Progress1, $i)
			ControlEnable("Form1", "", $Button1)
    EndSwitch
WEnd

Func _MyFunc()
    $i += $z
    If $i = 100 Then $z = -2
    If $i = 0 Then $z = 2
    GUICtrlSetData($Progress1, $i)
EndFunc   ;==>_MyFunc

Func Internet()
$oIE = _IECreate("http://www.spbtlg.ru/index.html", 0, 0)
_IENavigate($oIE, "http://www.spbtlg.ru/stb.php")
$sTest = _IEBodyReadText($oIE)
_IEQuit($oIE)
$sCut_Word = " = "
$sCut_Word1 = @LF
$sTest = StringRegExpReplace($sTest, "(?is)\A.*?(" & $sCut_Word & ".*?)$", "\1")
$sTest = StringRegExpReplace($sTest, "(?is)\A(.*?)" & $sCut_Word1 & ".*?$", "\1")
$sTest = StringReplace($sTest, " = ", "")
$sTest = StringReplace($sTest, ".", ",")
$sTest = StringStripCR($sTest)
MsgBox(4096, "Интернет", "Текущая скорость:" & @LF & @LF & "     " & $sTest & " Кб/с")

EndFunc
а Ваш окончательный код такой:

Код: Выделить весь код
#include <GUIConstantsEx.au3>
#include <GIFAnimation.au3>
#include <IE.au3>
#include <StaticConstants.au3>

Opt("MustDeclareVars", 1)

Global $sResume = 'Error', $pGIF, _
        $sFileGIF = @WindowsDir & "\pchealth\helpctr\System\images\progbar.gif", _
        $Form1, $Label1, $hGIF, $Button1, $nMsg, $hMenu

$Form1 = GUICreate("Form1", 300, 200, -1, -1)
$Label1 = GUICtrlCreateLabel('', 50, 20, 200, 20, $SS_CENTER)
$hGIF = _GUICtrlCreateGIF($sFileGIF, "", 75, 50, $pGIF)
_GIF_PauseAnimation($pGIF)
$Button1 = GUICtrlCreateButton("Start", 100, 100, 100, 50)
GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
            GUICtrlSetState($Button1, $GUI_DISABLE)
            GUICtrlSetData($Label1, "")
            _GIF_ResumeAnimation($pGIF)
            _SpeedInternet()
            _GIF_PauseAnimation($pGIF)
            GUICtrlSetData($Label1, "Ваша скорость: " & $sResume)
            GUICtrlSetState($Button1, $GUI_ENABLE)
	EndSwitch
WEnd

Func _SpeedInternet()
	Local $sPattern = '(?s).*?= (.*?)\r\n?.*', $sText
	Local $oIE = _IECreate("http://www.spbtlg.ru/stb.php", 0, 0)
	If Not IsObj($oIE) Then Return $sResume
	$sText = _IEBodyReadText($oIE)
	_IEQuit($oIE)
	If $sText Then
		$sText = StringRegExpReplace($sText, $sPattern, "\1")
		If Number($sText) Then $sResume = $sText & ' Kbps'
	EndIf
	Return $sResume
EndFunc   ;==>_SpeedInternet
Я правильно понял?

Отправлено: 19:49, 09-08-2010 | #8