Что нового

Комбо как присвоить значение

CreatiK

Новичок
Сообщения
93
Репутация
4
Надо присвоить комбо значения например вот скрипт
Код:
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("Form1", 305, 102, 585, 154)
$Combo1 = GUICtrlCreateCombo("", 8, 8, 137, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData($Combo1, "Кирпич|Сизый|Махно|Лютый|Шайба")
$Button1 = GUICtrlCreateButton("Button1", 160, 8, 121, 49)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			$Host = "109.234.155.196"
			$File = "/prison/universal.php?getInfo"
			$URL = "http://" & $Host & $File
			$PostData = "sig=bd809c733286a4709444a4e8256fe598&user=51111111111&method=startBattle&key=1111111111111111111111111&boss%5Fid=1"
			$oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
			$oHTTP.Open("POST", $URL)
			$oHTTP.SetRequestHeader("Content-Type","application/x-www-form-urlencoded")
			$oHTTP.Send($PostData)
			$oHTTP.WaitForResponse
			$Response = $oHTTP.ResponseText
	EndSwitch
WEnd

Надо чтобы например
Кирпич = 1
Сизый = 2
и т.д.
Чтобы вставлялись цифра в
Код:
$PostData = .....&boss%5Fid=Сюда"
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
CreatiK
Код:
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GUIComboBox.au3>

#region ### START Koda GUI section ### Form=
$Form2 = GUICreate("Form1", 305, 102)
$Combo1 = GUICtrlCreateCombo("", 8, 8, 137, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
GUICtrlSetData($Combo1, "Кирпич|Сизый|Махно|Лютый|Шайба", "Махно")
$hCombo = GUICtrlGetHandle($Combo1)
$Button1 = GUICtrlCreateButton("Button1", 160, 8, 121, 49)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			$iNumber = _GUICtrlComboBox_GetCurSel($hCombo)
			If $iNumber = -1 Then
				MsgBox(16, 'Error', 'Ничего не выбрано.')
			Else
				MsgBox(64, 'Combo', $iNumber & @CRLF & GUICtrlRead($Combo1))
			EndIf
	EndSwitch
WEnd
 
Автор
C

CreatiK

Новичок
Сообщения
93
Репутация
4
madmasles
Почему то отшет начинается с 0. Как сделать чтобы с 1
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
CreatiK [?]
Почему то отшет начинается с 0. Как сделать чтобы с 1
Я не знаю, что такое отшет :smile:, но думаю, что Вам надо к $iNumber прибавить 1
Код:
;...
             Else
                $iNumber += 1
                MsgBox(64, 'Combo', $iNumber & @CRLF & GUICtrlRead($Combo1))
            EndIf
;...
 
Автор
C

CreatiK

Новичок
Сообщения
93
Репутация
4
а если мне не цифры нужны например Волосы синие значение такое cl_m_8_109
А волосы черные = cl_n_8_110
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
CreatiK
Код:
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIComboBox.au3>

$sComboData = ''
Dim $aComboValue[6][4] = [[5], _
		['Кирпич', 'Кирпич_1', 'Кирпич_2', 'Кирпич_3'], _
		['Сизый', 'Сизый_1', 'Сизый_2', 'Сизый_3'], _
		['Махно', 'Махно_1', 'Махно_2', 'Махно_3'], _
		['Лютый', 'Лютый_1', 'Лютый_2', 'Лютый_3'], _
		['Шайба', 'Шайба_1', 'Шайба_2', 'Шайба_3']]
$iDefault = 3
$iIndex = 0
For $i = 1 To $aComboValue[0][0]
	$sComboData &= $aComboValue[$i][0] & '|'
Next

$hForm2 = GUICreate('Form1', 305, 150)
$nCombo1 = GUICtrlCreateCombo('', 8, 8, 137, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
GUICtrlSetData($nCombo1, $sComboData, $aComboValue[$iDefault][0])
$hCombo = GUICtrlGetHandle($nCombo1)
$nButton1 = GUICtrlCreateButton('Button1', 160, 8, 121, 49)
$nRadio1 = GUICtrlCreateRadio('Команда 1', 10, 40, 100, 20)
;GUICtrlSetState(-1, $GUI_CHECKED)
$nRadio2 = GUICtrlCreateRadio('Команда 2', 10, 70, 100, 20)
$nRadio3 = GUICtrlCreateRadio('Команда 3', 10, 100, 100, 20)

GUISetState()


While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $nRadio1
			$iIndex = 1
		Case $nRadio2
			$iIndex = 2
		Case $nRadio3
			$iIndex = 3
		Case $nButton1
			If $iIndex Then
				$iNumber = _GUICtrlComboBox_GetCurSel($hCombo)
				If $iNumber = -1 Then
					MsgBox(16, 'Error', 'Ничего не выбрано.')
				Else
					MsgBox(64, 'Combo', 'Команда: ' & $aComboValue[$iNumber + 1][$iIndex] & @CRLF & _
							'Значение: ' & GUICtrlRead($nCombo1))
				EndIf
			Else
				MsgBox(16, 'Error', 'Надо выбрать команду.')
			EndIf
	EndSwitch
WEnd
 
Автор
C

CreatiK

Новичок
Сообщения
93
Репутация
4
madmasles
Спасибо. Но это чуть другое. Может я не правильно выражаю что хочу.
Вот например комбо
Код:
$Combo1 = GUICtrlCreateCombo("", 8, 8, 137, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
GUICtrlSetData($Combo1, "Черные волосы|Синии волосы|Красные волосы", "Синии волосы")

мне нужно вставить в запрос
Код:
$PostData = "sig=bd809c733286a4709444a4e8256fe598&user=51111111111&method=startBattle&key=1111111111111111111111111&ode= Сюда"

Я по твоим примерам сделал у меня вставляет названия
$PostData = "sig=bd809c733286a4709444a4e8256fe598&user=51111111111&method=startBattle&key=1111111111111111111111111&ode= Черные волосы"
а мне нужно место черных волос вставить такое значение cl_n_8_110
 
Верх