Доброго времени суток!
Предисловие: в организации много принтеров и МФУ, у которых есть веб-морда. Надоело каждый раз при надобность искать имя принтера(МФУ), открывать браузер, вписыватть name.domain.ru чтобы попасть на их морду.
За основу взял некий код из примеров в справке, первый GUI на АИТе как никак
Получился вот такой код, в котором можно выбрать в ComboBox принтер/мфу (prn-XXXX) и он сразу перекинет тебя на нужную страничку(на его вебморду).
Достаточно удобно. Работает.
Но в задумке была идея добавить ещё и ComboBox с выбором отдела.
Т.е. выбираешь в одном ComboBox`е отдел, а он во втором делает тебе фильтрацию, показывая, какие МФУ там есть.
Добавил ComboBox в код:
И попытался добавить условие в петлю:
Ну и в итоге GUI запускается, если не трогать отделы, то всё работает, но при выборе, например отдела развития, он всё равно показывает все МФУ и при этом постаянно что-то подгружает
Подскажите, что не так сделал? :stars:
Догадываюсь, что сильно не прав, но хотелось бы куда-нибудь подглядеть, чтобы понять в чём именно
Предисловие: в организации много принтеров и МФУ, у которых есть веб-морда. Надоело каждый раз при надобность искать имя принтера(МФУ), открывать браузер, вписыватть name.domain.ru чтобы попасть на их морду.
За основу взял некий код из примеров в справке, первый GUI на АИТе как никак
Получился вот такой код, в котором можно выбрать в ComboBox принтер/мфу (prn-XXXX) и он сразу перекинет тебя на нужную страничку(на его вебморду).
Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$oIE = ObjCreate("Shell.Explorer.2")
; Создание GUI
GUICreate("PRNochki v1.00", 1024, 768, (@DesktopWidth - 1024) / 2, (@DesktopHeight - 768) / 2, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS, $WS_CLIPCHILDREN))
$GUIActiveX = GUICtrlCreateObj($oIE, 10, 40, 1000, 600)
$GUI_Button_Back = GUICtrlCreateButton("Назад", 10, 700, 100, 30)
$GUI_Button_Forward = GUICtrlCreateButton("Вперёд", 120, 700, 100, 30)
$CreateCombo = GUICtrlCreateCombo("Выберите МФУ", 300, 10, 250, 200)
GUICtrlSetData(-1, "prn-0001|prn-0002|prn-0003", "Выберите МФУ")
GUISetState()
$oIE.navigate("http://corp.henderson.ru/_layouts/images/titlegraphic.gif")
; Опрос GUI
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $GUI_Button_Back
$oIE.GoBack
Case $msg = $GUI_Button_Forward
$oIE.GoForward
Case $msg = $CreateCombo
$oIE.navigate("http://" & GUICtrlRead($CreateCombo) & ".domain.ru")
EndSelect
WEnd
GUIDelete()
Достаточно удобно. Работает.
Но в задумке была идея добавить ещё и ComboBox с выбором отдела.
Т.е. выбираешь в одном ComboBox`е отдел, а он во втором делает тебе фильтрацию, показывая, какие МФУ там есть.
Добавил ComboBox в код:
Код:
$CreateCombo2 = GUICtrlCreateCombo("Выберите отдел", 20, 10, 250, 200)
GUICtrlSetData(-1, "Отдел развития|ИТ", "Выберите отдел")
И попытался добавить условие в петлю:
Код:
If $msg = $CreateCombo2 = GUICtrlRead($CreateCombo2) = "Отдел развития" Then
GUICtrlCreateCombo("Выберите МФУ", 300, 10, 250, 200)
GUICtrlSetData(-1, "prn-0001", "Выберите МФУ")
EndIf
If $msg = $CreateCombo2 = GUICtrlRead($CreateCombo2) = "ИТ" Then
GUICtrlCreateCombo("Выберите МФУ", 300, 10, 250, 200)
GUICtrlSetData(-1, "prn-0002|prn-0003", "Выберите МФУ")
EndIf
Ну и в итоге GUI запускается, если не трогать отделы, то всё работает, но при выборе, например отдела развития, он всё равно показывает все МФУ и при этом постаянно что-то подгружает
Подскажите, что не так сделал? :stars:
Догадываюсь, что сильно не прав, но хотелось бы куда-нибудь подглядеть, чтобы понять в чём именно