Что нового

Проблема с получением ответа в GUICtrlSetData

maxd2007

Новичок
Сообщения
89
Репутация
0
Сразу извиняюсь за сложность вопроса, просто не знаю как грамотно его описать, написал такой код:
Код:
GUICreate("Program", 362, 200, (@DesktopWidth - 191) / 2, (@DesktopHeight - 157) / 2) 	; основное окно
GUICtrlCreateLabel("Категория:", 30, 40, 131, 21, 0x1000) 								; нередактируемая строка
GUICtrlCreateLabel("Подкатегория:", 200, 40, 131, 21, 0x1000)						; нередактируемая строка
$category_second = GUICtrlCreateCombo("", 200, 60, 130, 21)							; выпадающее окно с элементами выбора
$category_general = GUICtrlCreateCombo("", 30, 60, 130, 21) 									; выпадающее окно с элементами выбора
GUICtrlSetData ($category_general, "1|2|3|4|5|6|7|8|9|10|11", "1" )
$Ok_category_general = GUICtrlCreateButton("Ok", 30, 90, 131, 21) ; активная кнопка "Подтвердить"
$Ok_category_second = GUICtrlCreateButton("Ok", 200, 90, 131, 21) ; активная кнопка "Подтвердить"

GUISetState()
While 1
	$iMsg = GUIGetMsg()
	 Select
		Case $iMsg = $GUI_EVENT_CLOSE
			ExitLoop
		 Case $iMsg = $Ok_category_general
				 _All_Device_This_Page ($IEcategory)
				 $Temp_dat = FileOpen ( @ScriptDir & "\Temp.dat", 0)
				 $Temp_dat_read = FileRead ( $Temp_dat )
				 $Name_all_device_page = _StringBetween ($Temp_dat_read, '">', '/garmin')
				 For $i = 0 to UBound($Name_all_device_page) - 1 step 1
					$Name_all_device_page[$i] = $Name_all_device_page[$i] & " " & $ClassParametr[$i]
				 Next
				 GUICtrlSetData ($category_second, _ArrayToString ($Name_all_device_page, "|"),$Name_all_device_page[0]) ; вот с этого момента я в тупике
			 EndIf
		 Case $iMsg = $Ok_category_second
			 $data = GUICtrlRead($Ok_category_second)
			 MsgBox (0,"", $data)

	 EndSelect
WEnd

Т.е. как это должно работать пользователь выбирает в первой вкладке № категории, на основе номера программа лезет в интернет по ссылке и получает в массив все необходимые данные и с помощью
Код:
GUICtrlSetData ($category_second, _ArrayToString ($Name_all_device_page, "|"),$Name_all_device_page[0])
вставляет эти названия приборов во второе выпадающее окно, итого вопрос: я никак не могу понять как я могу получить то что выбрал пользователь во втором выпадающем окне?
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
247
Вы получете значение второго списка так :
Код:
$data = GUICtrlRead($Ok_category_second)
             MsgBox (0,"", $data)

Посмотрите, с чего Вы получаете значение - ведь "$Ok_category_second" это кнопка, а нужно "$category_second"- ваш Combo c массивом.
Код:
$data = GUICtrlRead($category_second)
             MsgBox (0,"", $data)
 
Верх