Что нового

Окошко выскакивающее про ожидании выполнения процедуры

xmel-sera

Новичок
Сообщения
16
Репутация
0
Есть программа которая принимает и фильтрует данные с сервера. Та вот во время ожидания этого процеса хотелось бы вставить небольшое окошко либо с анимацией, или хотя бы просто с каким-то текстом.

Код:
#include <GUIConstants.au3>
#include <ButtonConstants.au3>
#include <WindowsConstants.au3>
#include <Array.au3>
#include <EditConstants.au3>
#include <GuiStatusBar.au3>


; Перше вікно
$Form0 = GUICreate("IT-Status", 265, 125)
;Opt("GUICoordMode",2)
GUICtrlCreateLabel ("Оберіть спосіб підключення до мережі Інтернет:", 10, 8, 260, 15)
$modem = GUICtrlCreateButton ("Підключення через модем Інтертелеком", 8, 28, 250, 30)
$inet = GUICtrlCreateButton ("Інший тип підключення", 8, 60, 250, 30)
;$hStatus = _GUICtrlStatusBar_Create($Form0)
;_GUICtrlStatusBar_SetText($hStatus, @TAB & 'Версія 1.1 від .......', 0)
$About = GUICtrlCreateButton("Про програму...", 65, 96, 140, 21, $BS_BITMAP)
GUISetState (@SW_SHOW, $Form0)
$Form1pos = WinGetPos($Form0)
$Form2 = GUICreate("Про програму...", 265, 186, $Form1pos[0],$Form1pos[1]+155, BitOR($WS_SYSMENU,$WS_CAPTION, $WS_POPUP), $WS_EX_TOOLWINDOW, $Form0)
GUICtrlCreateLabel ("IT-Status"&@CRLF&"Версія 1.1 від 20.06.2011 р.", 5, 5, 185, 28)
GUICtrlCreateLabel ("E-mail:", 5, 40, 185, 25)
GUICtrlCreateLabel ("[email protected]", 5, 55, 185, 25)
GUICtrlCreateLabel ("[email protected]", 5, 70, 185, 25)
GUICtrlCreateLabel ("IT-Status - зручна програма для відображення інформації про стан рахунку абонента Інтертелеком. Не потребує використання браузера та, що найголовніше - використовує меншу кількість трафіку, яку потребує браузер для відображення цієї ж інформації!", 5, 90, 255, 90)
GUISetState (@SW_HIDE, $Form2)


; вікно Інтертелеком

$FormInter = GUICreate("Стан рахунку абонента Інтертелеком", 350, 510)
Opt("GUICoordMode", 2)
GUICtrlCreateLabel ("Номер:", 30, 30 ,40)
GUICtrlCreateLabel ("Пароль:", 90, -1, 40)
$iphone = GUICtrlCreateInput ("", -125,  -25, 80, 20)
$ipass = GUICtrlCreateInput ("", 50, -20, 80, 20, $ES_PASSWORD)
;GUISetState()
GUICtrlCreateLabel ( "Особовий рахунок.............................:", -270, 10, 190)
GUICtrlCreateLabel ( "Абонент..............................................:", -190, 0, 190)
GUICtrlCreateLabel ( "Номер.................................................:", -190, 0, 190)
GUICtrlCreateLabel ( "Стан....................................................:", -190, 0, 190)
GUICtrlCreateLabel ( "Пакет..................................................:", -190, 0, 190)
GUICtrlCreateLabel ( "Додаткова угода...............................:", -190, 0, 190)
GUICtrlCreateLabel ( "Дата підключення..............................:", -190, 0, 190)
GUICtrlCreateLabel ( "Абонентський стаж...........................:", -190, 0, 190)
GUICtrlCreateLabel ( "Лояльний стаж..................................:", -190, 0, 190)
GUICtrlCreateLabel ( "E-mail...................................................:", -190, 0, 190)
GUICtrlCreateLabel ( "- (грн.)..................................................:", -190, 0, 190)
GUICtrlCreateLabel ( "Сальдо................................................:", -190, 0, 190)
GUICtrlCreateLabel ( "Передплачені послуги на місяць......:", -190, 0, 190)
GUICtrlCreateLabel ( "Неактивовані бонуси (з 094).............:", -190, 0, 190)
GUICtrlCreateLabel ( "- (МБ)....................................................:", -190, 0, 190)
GUICtrlCreateLabel ( "Трафік (Отримано+Передано)...........:", -190, 0, 190)
GUICtrlCreateLabel ( "Тип підключення.................................:", -190, 0, 190)
GUICtrlCreateLabel ( "Спосіб авторизації..............................:", -190, 0, 190)
GUICtrlCreateLabel ( "Трафік даного підключення (Мб).......:", -190, 0, 190)
GUICtrlCreateLabel ( "IP- адреса на даний момент..............:", -190, 0, 190)
GUICtrlCreateLabel ( "Пакетний трафік (залишилось).........:", -190, 0, 190)
GUICtrlCreateLabel ( "", -90, -470, 130)
$iCTRL_btn0 = GUICtrlCreateButton ("Отримати дані", -180, 450, 100, 25)
$iCTRL_btn1 = GUICtrlCreateButton ( "Закрити",  25, -1, 100)
GUISetState (@SW_HIDE, $FormInter)

; вікно іншого типу підключення

$FormOther = GUICreate("Стан рахунку абонента Інтертелеком", 350, 440)
Opt("GUICoordMode", 2)
GUICtrlCreateLabel ( "Номер:", 30, 30 ,40)
GUICtrlCreateLabel ( "Пароль:", 90, -1, 40)

$phone = GUICtrlCreateInput ("", -125,  -25, 80, 20)
$pass = GUICtrlCreateInput ("", 50, -20, 80, 20, $ES_PASSWORD)
;GUISetState()
GUICtrlCreateLabel ( "Особовий рахунок.............................:", -270, 10, 190)
GUICtrlCreateLabel ( "Абонент..............................................:", -190, 0, 190)
GUICtrlCreateLabel ( "Номер.................................................:", -190, 0, 190)
GUICtrlCreateLabel ( "Стан....................................................:", -190, 0, 190)
GUICtrlCreateLabel ( "Пакет..................................................:", -190, 0, 190)
GUICtrlCreateLabel ( "Додаткова угода...............................:", -190, 0, 190)
GUICtrlCreateLabel ( "Дата підключення..............................:", -190, 0, 190)
GUICtrlCreateLabel ( "Абонентський стаж...........................:", -190, 0, 190)
GUICtrlCreateLabel ( "Лояльний стаж..................................:", -190, 0, 190)
GUICtrlCreateLabel ( "E-mail...................................................:", -190, 0, 190)
GUICtrlCreateLabel ( "- (грн.)..................................................:", -190, 0, 190)
GUICtrlCreateLabel ( "Сальдо................................................:", -190, 0, 190)
GUICtrlCreateLabel ( "Передплачені послуги на місяць......:", -190, 0, 190)
GUICtrlCreateLabel ( "Неактивовані бонуси (з 094).............:", -190, 0, 190)
GUICtrlCreateLabel ( "- (МБ)....................................................:", -190, 0, 190)
GUICtrlCreateLabel ( "Трафік (Отримано+Передано)...........:", -190, 0, 190)
GUICtrlCreateLabel ( "Пакетний трафік (залишилось).........:", -190, 0, 190)
GUICtrlCreateLabel ( "", -90, -390, 130)
$CTRL_btn0 = GUICtrlCreateButton ("Отримати дані", -180, 380, 100, 25)
$CTRL_btn1 = GUICtrlCreateButton ("Закрити",  25, -1, 100)
GUISetState (@SW_HIDE, $FormOther)


While 1
   $msg = GUIGetMsg(1)
	Select
		;головна форма
        Case $msg[0] = $GUI_EVENT_CLOSE And $msg[1] = $Form0
            Exit
; про програму
			Case $msg[0] = $GUI_EVENT_CLOSE And $msg[1] = $Form2
                GUISetState(@SW_HIDE, $Form2)
			Case $msg[0] = $About
                GUISetState(@SW_SHOW, $Form2)
		;форма з підключенням через модем
		Case $msg[0] = $iCTRL_btn1
                GUISetState(@SW_HIDE, $FormInter)
        Case $msg[0] = $GUI_EVENT_CLOSE And $msg[1] = $FormInter
                GUISetState(@SW_HIDE, $FormInter)
        Case $msg[0] = $modem
                GUISetState(@SW_SHOW, $FormInter)
		Case $msg[0] = $iCTRL_btn0

$oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
$oHTTP.Open("POST","https://assa.intertelecom.ua/ru/login")
$oHTTP.setTimeouts(5000, 5000, 15000, 15000)
$oHTTP.SetRequestHeader("Accept", "*/*")
$oHTTP.SetRequestHeader("Accept-Language", "ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3")
$oHTTP.SetRequestHeader("Referer","https://assa.intertelecom.ua/ru/statistic")
$oHTTP.SetRequestHeader("Content-Type","application/x-www-form-urlencoded")
$oHTTP.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 5.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1")
$oHTTP.SetRequestHeader("Host","assa.intertelecom.ua")
$oHTTP.SetRequestHeader("Proxy-Connection", "Keep-alive")
$oHTTP.Send("phone=" & GUICtrlRead($iphone) & "&pass=" & GUICtrlRead($ipass))
$oHTTP.WaitForResponse

; отримуємо код сторінки коли ми вже авторизувались
$oHTTP.Open("GET","https://assa.intertelecom.ua/ru/statistic")
$oHTTP.Send()
$oHTTP.WaitForResponse

; пошук необхідних змінних для програми
$sText = $oHTTP.ResponseText
$aTemp = StringRegExp($sText, '(?s)color:.*?;">\s*(.*?)\s*<', 3)
Dim $aResult [UBound($aTemp)]
$j = -1
For $i = 0 To UBound($aTemp) - 1
    If $aTemp[$i] Then
        $j += 1
        $aResult[$j] = $aTemp[$i]
    EndIf
Next
ReDim $aResult[$j + 1]
;MsgBox(0, "Вихід з програми", $oHTTP.ResponseText)
;_ArrayDisplay($aResult)

; виведення інформації у вікно програми
;_ArrayDisplay($aResult)
$CTRL_lbl0 = GUICtrlCreateLabel ( $aResult[0], -85, -445, 140, 20)
$CTRL_lbl1 = GUICtrlCreateLabel ( $aResult[1], -140, 0, 140, 20)
$CTRL_lbl2 = GUICtrlCreateLabel ( $aResult[2], -140, 0, 140, 20)
$CTRL_lbl3 = GUICtrlCreateLabel ( $aResult[3], -140, 0, 140, 20)
$CTRL_lbl4 = GUICtrlCreateLabel ( $aResult[4], -140, 0, 140, 20)
$CTRL_lbl5 = GUICtrlCreateLabel ( $aResult[5], -140, 0, 140, 20)
$CTRL_lbl6 = GUICtrlCreateLabel ( $aResult[6], -140, 0, 140, 20)
$CTRL_lbl7 = GUICtrlCreateLabel ( $aResult[7], -140, 0, 140, 20)
$CTRL_lbl8 = GUICtrlCreateLabel ( $aResult[8], -140, 0, 140, 20)
$CTRL_lbl9 = GUICtrlCreateLabel ( $aResult[9], -140, 0, 140, 20)
$CTRL_lbl10 = GUICtrlCreateLabel ( $aResult[10], -140, 0, 140, 20)
$CTRL_lbl11 = GUICtrlCreateLabel ( $aResult[11], -140, 0, 140, 20)
$CTRL_lbl12 = GUICtrlCreateLabel ( $aResult[12], -140, 0, 140, 20)
$CTRL_lbl13 = GUICtrlCreateLabel ( $aResult[13], -140, 0, 140, 20)
$CTRL_lbl14 = GUICtrlCreateLabel ( $aResult[14], -140, 0, 140, 20)
$CTRL_lbl15 = GUICtrlCreateLabel ( $aResult[15], -140, 0, 140, 20)
$CTRL_lbl16 = GUICtrlCreateLabel ( $aResult[16], -140, 0, 140, 20)
$CTRL_lbl17 = GUICtrlCreateLabel ( $aResult[17], -140, 0, 140, 20)
$CTRL_lbl18 = GUICtrlCreateLabel ( $aResult[18], -140, 0, 140, 20)
$CTRL_lbl19 = GUICtrlCreateLabel ( $aResult[19], -140, 0, 140, 20)
$CTRL_lbl20 = GUICtrlCreateLabel ( $aResult[21], -140, 0, 140, 20)
;_ArrayDisplay($aResult)
;ExitLoop
;EndSelect
;WEnd
;Введення даних в форму з підключенням іншого типу

;While 1
			;$msg = GUIGetMsg()
			;Select
				Case $msg[0] = $CTRL_btn0

$oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
$oHTTP.Open("POST","https://assa.intertelecom.ua/ru/login")
$oHTTP.setTimeouts(5000, 5000, 15000, 15000)
$oHTTP.SetRequestHeader("Accept", "*/*")
$oHTTP.SetRequestHeader("Accept-Language", "ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3")
$oHTTP.SetRequestHeader("Referer","https://assa.intertelecom.ua/ru/statistic")
$oHTTP.SetRequestHeader("Content-Type","application/x-www-form-urlencoded")
$oHTTP.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 5.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1")
$oHTTP.SetRequestHeader("Host","assa.intertelecom.ua")
$oHTTP.SetRequestHeader("Proxy-Connection", "Keep-alive")
$oHTTP.Send("phone=" & GUICtrlRead($phone) & "&pass=" & GUICtrlRead($pass))
$oHTTP.WaitForResponse

; отримуємо код сторінки коли ми вже авторизувались
$oHTTP.Open("GET","https://assa.intertelecom.ua/ru/statistic")
$oHTTP.Send()
$oHTTP.WaitForResponse

; пошук необхідних змінних для програми
$sText = $oHTTP.ResponseText
$aTemp = StringRegExp($sText, '(?s)color:.*?;">\s*(.*?)\s*<', 3)
Dim $aResult [UBound($aTemp)]
$j = -1
For $i = 0 To UBound($aTemp) - 1
    If $aTemp[$i] Then
        $j += 1
        $aResult[$j] = $aTemp[$i]
    EndIf
Next
ReDim $aResult[$j + 1]
;_ArrayDisplay($aResult)

; виведення інформації у вікно програми

$CTRL_lbl0 = GUICtrlCreateLabel ( $aResult[0], -90, -375, 140, 20)
$CTRL_lbl1 = GUICtrlCreateLabel ( $aResult[1], -140, 0, 140, 20)
$CTRL_lbl2 = GUICtrlCreateLabel ( $aResult[2], -140, 0, 140, 20)
$CTRL_lbl3 = GUICtrlCreateLabel ( $aResult[3], -140, 0, 140, 20)
$CTRL_lbl4 = GUICtrlCreateLabel ( $aResult[4], -140, 0, 140, 20)
$CTRL_lbl5 = GUICtrlCreateLabel ( $aResult[5], -140, 0, 140, 20)
$CTRL_lbl6 = GUICtrlCreateLabel ( $aResult[6], -140, 0, 140, 20)
$CTRL_lbl7 = GUICtrlCreateLabel ( $aResult[7], -140, 0, 140, 20)
$CTRL_lbl8 = GUICtrlCreateLabel ( $aResult[8], -140, 0, 140, 20)
$CTRL_lbl9 = GUICtrlCreateLabel ( $aResult[9], -140, 0, 140, 20)
$CTRL_lbl10 = GUICtrlCreateLabel ( $aResult[10], -140, 0, 140, 20)
$CTRL_lbl11 = GUICtrlCreateLabel ( $aResult[11], -140, 0, 140, 20)
$CTRL_lbl12 = GUICtrlCreateLabel ( $aResult[12], -140, 0, 140, 20)
$CTRL_lbl13 = GUICtrlCreateLabel ( $aResult[13], -140, 0, 140, 20)
$CTRL_lbl14 = GUICtrlCreateLabel ( $aResult[14], -140, 0, 140, 20)
$CTRL_lbl15 = GUICtrlCreateLabel ( $aResult[15], -140, 0, 140, 20)
$CTRL_lbl16 = GUICtrlCreateLabel ( $aResult[17], -140, 0, 140, 20)
;ExitLoop
;EndSelect
;WEnd
		;форма для іншого типу підключення
		Case $msg[0] = $CTRL_btn1
                GUISetState(@SW_HIDE, $FormOther)
		Case $msg[0] = $GUI_EVENT_CLOSE And $msg[1] = $FormOther
                GUISetState(@SW_HIDE, $FormOther)
        Case $msg[0] = $inet
                GUISetState(@SW_SHOW, $FormOther)

	EndSelect
WEnd
 
Верх