Что нового

[Элементы GUI] Не могу вставить в Combo коментарии

vasykas

Новичок
Сообщения
24
Репутация
0
По форуму по лазил так и не нашел ответа :'(
В Combo листе нужно на против каждого домена выставить название страны, но при выборе домена
чтобы записывалось только домен а название игнорировались.
Возможно ли такое?
1397074_m.png


Вот код:
Код:
#include-once
#include <ComboConstants.au3>
#include <Array.au3>
#include <IE.au3>
#include <File.au3>
#include <Inet.au3>
#include <GuiConstants.au3>
#include <GUIConstantsEx.au3> 
#include <WindowsConstants.au3>
#include <GuiRichEdit.au3>
#include <GUIComboBoxEx.au3>
#include <StaticConstants.au3>
#include <ListboxConstants.au3>
#include <GuiListView.au3>
$d = "au|at|az|al|dz|ao|ad|ag|ar|am|af|bs|bd|bb|bh|by|bz|be|bj|bg|bo|ba|bw|br|bn|bf|bi|bt|vu|va|uk|hu|ve|tp|vn|ga|ht|gy|gm|gh|gt|gn|gw|de|hn|gd|gr|ge|dk|dj|dm|do|eg|zm|zw|il|in|id|jo|iq|ir|ie|is|es|it|ye|cv|kz|kh|cm|ca|qa|ke|cy|kg|ki|cn|co|km|cd|cg|cr|ci|cu|kw|la|lv|ls|lr|lb|ly|lt|li|lu|mu|mr|mg|mk|mw|my|ml|mv|mt|ma|mh|mx|mz|md|mc|mn|mm|na|nr|np|ne|ng|nl|ni|nz|no|ae|om|pk|pw|pa|pg|py|pe|pl|pt|ru|rw|ro|sv|ws|sm|st|sa|sz|kp|sc|sn|vc|kn|lc|cs|sg|sy|sk|si|us|sb|so|sd|sr|sl|tj|th|tz|tg|to|tt|tv|tn|tm|tr|ug|uz|ua|uy|fm|fj|ph|fi|fr|ht|cf|td|yu|cz|cl|ch|se|lk|ec|gq|er|ee|et|kr|za|jm|jp|co.za|gov.com|gov|рф"
$d1 = "page.php?|views.php?|item.php?|main.php?|menu.php?"
$kol = "100|50"
Dim $ww, $we, $wew, $hFile, $sFile, $wwww
FileDelete(@ScriptDir & "\dork.txt")
$auto = GUICreate("Dork", 800, 800, -1, -1, BitOR($GUI_SS_DEFAULT_GUI, $WS_THICKFRAME, $WS_OVERLAPPEDWINDOW, $WS_TILEDWINDOW, $WS_TABSTOP))
;GUISetBkColor(0x808080)
$font = "Comic Sans MS"
GUICtrlCreateGroup ("",2,1,798,100,0,$WS_EX_DLGMODALFRAME)
GUICtrlSetColor(-1, 0xff0000)

GUICtrlCreateLabel("Количество:", 16, 10, 100)
GUICtrlSetFont(-1, 12, 180, 4, $font)
$Input1 = GUICtrlCreateCombo("1000", 30, 45, 60, 60, BitOR($CBS_DISABLENOSCROLL,$CBS_DROPDOWN,$CBS_LOWERCASE,$CBS_NOINTEGRALHEIGHT,$CBS_DROPDOWNLIST))
GUICtrlSetData(-1, $kol, "")
GUICtrlSetFont(-1, 11, 180, 3)

GUICtrlCreateLabel("Домены:", 200, 10, 180)
GUICtrlSetFont(-1, 12, 180, 4, $font)
$Input3 = GUICtrlCreateCombo("", 200, 45, 80, 500, BitOR($CBS_DISABLENOSCROLL,$CBS_DROPDOWN,$CBS_LOWERCASE,$CBS_NOINTEGRALHEIGHT))
GUICtrlSetData(-1, $d, "")
;$Input3 = GUICtrlCreateInput("", 16, 90, 50, 21)
GUICtrlSetFont(-1, 11, 180, 3)

GUICtrlCreateLabel("Дорки:", 350, 10, 180)
GUICtrlSetFont(-1, 12, 180, 4, $font)
$Input2 = GUICtrlCreateCombo("index.php?", 350, 45, 150, 500, BitOR($CBS_DISABLENOSCROLL,$CBS_DROPDOWN,$CBS_LOWERCASE,$CBS_NOINTEGRALHEIGHT))
GUICtrlSetData($Input2, $d1, "")
;$Input2 = GUICtrlCreateInput("index.php?", 16, 150, 145, 21)
GUICtrlSetFont(-1, 11, 180, 3)

GUICtrlCreateLabel("Всего:", 570, 10, 180)
GUICtrlSetFont(-1, 12, 180, 4, $font)

$start = GUICtrlCreateButton("Пуск", 700, 38, 90, 25)
GUICtrlSetFont(-1, 11, 180, 4, $font) 
GUICtrlCreateGroup("", -99, -99, 1, 1)

$copy = GUICtrlCreateButton("Скопировать", 700, 765, 90, 25)
GUICtrlSetFont(-1, 11, 180, 4, $font)

$clear = GUICtrlCreateButton("Очистить", 700, 110, 90, 25)
GUICtrlSetFont(-1, 11, 180, 4, $font) 

$proxy = GUICtrlCreateCombo("Прокси", 16, 110, 110, 80, BitOR($CBS_DROPDOWNLIST,$CBS_SIMPLE),$CBES_EX_NOSIZELIMIT)
GUICtrlSetData(-1, "Включить|Выключить")
GUICtrlSetFont(-1, 11, 180, 4, $font)


GUICtrlSetFont(-1, 11, 180, 4, $font)

$dorki=GUICtrlCreateList("", 2, 150, 796, 600, BitAND(0x00A00003,BitNOT(0x00000002)))
GUISetState(@SW_SHOW)
While 1
    $nMsg = GUIGetMsg()
Switch $nMsg
        Case $GUI_EVENT_CLOSE
		  Exit 
	   case $start	
	   $wew = GUICtrlRead ($Input1)
	 if $wew > 10 Then Local $we = ($wew / 10)
	$we = 10
 	;_SaveTextData()	   
  EndSwitch
	WEnd


Кто что может подсказать.
Спасибо
 

madmasles

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

$sStr = 'BA.........Босния и Герцеговина|BB.........Барбадос|BD.........Бангладеш|BE.........Бельгия|BF.........Буркина-Фасо|BG.........Болгария'

$hGUI = GUICreate('Test', 200, 100)
$nInput = GUICtrlCreateInput('', 80, 10, 40, 20, BitOR($ES_CENTER, $ES_READONLY))
$nCombo = GUICtrlCreateCombo('', 10, 50, 180, 20, $CBS_DROPDOWNLIST)
GUICtrlSetData(-1, $sStr, 'BG.........Болгария')
$aTmp = StringSplit(GUICtrlRead($nCombo), '.........', 1)
GUICtrlSetData($nInput, $aTmp[1])
$aTmp = 0
GUISetState()

While 1
	Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE
			Exit
		Case $nCombo
			$aTmp = StringSplit(GUICtrlRead($nCombo), '.........', 1)
			GUICtrlSetData($nInput, $aTmp[1])
			$aTmp = 0
	EndSwitch
WEnd
 
Автор
V

vasykas

Новичок
Сообщения
24
Репутация
0
Не чет не получаеться, добавил:

Код:
While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
        Case $nCombo
            $aTmp = StringSplit(GUICtrlRead($nCombo), '.........', 1)
            GUICtrlSetData($nInput, $aTmp[1])

			MsgBox(0,"",'inurl:"' & $aTmp & '"blblbl"'); Проверяю

            $aTmp = 0
    EndSwitch
WEnd

вывод без всего, может я чет не правильно сделал (голова кипит :scratch: )
я так понял просто обрезаешь первые символы до точек?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
vasykas [?]
вывод без всего
Код:
;...
MsgBox(0,"",'inurl:"' & $aTmp[1] & '"blblbl"'); Поменяйте
;...
Можно еще так попробовать сделать.
Код:
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>

$vStr = 'BA.........Босния и Герцеговина|BB.........Барбадос|BD.........Бангладеш|BE.........Бельгия|BF.........Буркина-Фасо|BG.........Болгария'

$hGUI = GUICreate('Test', 200, 100)
$nLabel = GUICtrlCreateLabel('', 0, 0, 0, 0)
$nInput = GUICtrlCreateInput('', 71, 41, 38, 18, BitOR($ES_CENTER, $ES_READONLY))
$nCombo = GUICtrlCreateCombo('', 70, 40, 60, 20, BitOR($GUI_SS_DEFAULT_COMBO, $CBS_DROPDOWNLIST, $WS_VSCROLL, $WS_CLIPSIBLINGS))
GUICtrlSendMsg($nCombo, $CB_SETDROPPEDWIDTH, 170, 0)
GUICtrlSetData($nCombo, $vStr, 'BA.........Босния и Герцеговина')
$vStr = StringSplit(GUICtrlRead($nCombo), '.........', 1)
GUICtrlSetData($nInput, $vStr[1])
$vStr = 0
GUICtrlSetState($nLabel, $GUI_FOCUS)
GUISetState()

While 1
	Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE
			Exit
		Case $nCombo
			$vStr = StringSplit(GUICtrlRead($nCombo), '.........', 1)
			GUICtrlSetData($nInput, $vStr[1])
			$vStr = 0
			GUICtrlSetState($nLabel, $GUI_FOCUS)
	EndSwitch
WEnd
 
Автор
V

vasykas

Новичок
Сообщения
24
Репутация
0
Огромниеше спасибо!!!
Ни как не мог переменную взять, теперь дошло.
Код:
While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
        Case $nCombo
            $vStr = StringSplit(GUICtrlRead($nCombo), '.........', 1)
            GUICtrlSetData($nInput, $vStr[1])
            $vStr = 0
            GUICtrlSetState($nLabel, $GUI_FOCUS)
	$nCombo1 = GUICtrlRead($nInput) ; Вот
	
    EndSwitch
WEnd
 

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
Использование _GUICtrlComboBox_SetEditText
Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GUIComboBox.au3>

$vStr = 'BA.........Босния и Герцеговина|BB.........Барбадос|BD.........Бангладеш|BE.........Бельгия|BF.........Буркина-Фасо|BG.........Болгария'

$hGUI = GUICreate('Test', 300, 100)
$nLabel = GUICtrlCreateLabel('', 0, 0, 0, 0)
$nCombo = GUICtrlCreateCombo('', 70, 40, 160, 20, BitOR($GUI_SS_DEFAULT_COMBO, $WS_VSCROLL, $WS_CLIPSIBLINGS))
$hCombo = GUICtrlGetHandle(-1)
GUICtrlSendMsg($nCombo, $CB_SETDROPPEDWIDTH, 170, 0)
GUICtrlSetData($nCombo, $vStr, 'BA.........Босния и Герцеговина')
$vStr = StringSplit(GUICtrlRead($nCombo), '.........', 1)
_GUICtrlComboBox_SetEditText($hCombo, $vStr[1])
$vStr = 0
GUICtrlSetState($nLabel, $GUI_FOCUS)
GUISetState()

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
        Case $nCombo
            $vStr = StringSplit(GUICtrlRead($nCombo), '.........', 1)
			_GUICtrlComboBox_SetEditText($hCombo, $vStr[1])
            $vStr = 0
    EndSwitch
WEnd


Не обращая внимания на полный текст.
Код:
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>

$vStr = 'BA          Босния и Герцеговина|BB          Барбадос|BD          Бангладеш|BE          Бельгия|BF          Буркина-Фасо|BG          Болгария'

$hGUI = GUICreate('Test', 200, 100)
$nLabel = GUICtrlCreateLabel('', 0, 0, 0, 0)
$nCombo = GUICtrlCreateCombo('', 70, 40, 60, 20, BitOR($GUI_SS_DEFAULT_COMBO, $CBS_DROPDOWNLIST, $WS_VSCROLL, $WS_CLIPSIBLINGS))
GUICtrlSendMsg($nCombo, $CB_SETDROPPEDWIDTH, 170, 0)
GUICtrlSetData($nCombo, $vStr, 'BA          Босния и Герцеговина')
$vStr = StringSplit(GUICtrlRead($nCombo), '          ', 1)
$vStr = 0
GUICtrlSetState($nLabel, $GUI_FOCUS)
$iButton = GUICtrlCreateButton('Чтение', 140, 40, 50, 25)
GUISetState()

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
        Case $iButton
            $vStr = StringSplit(GUICtrlRead($nCombo), '          ', 1)
            MsgBox(0, 'Сообщение', $vStr[1])
        Case $nCombo
            GUICtrlSetState($nLabel, $GUI_FOCUS)
    EndSwitch
WEnd


madmasles
Может высоту Input нужно выровнять по Combo используя GUICtrlSetPos, а то у меня высота комбо не делается меньше 23, потому что высота подстраивается под шрифт системы и не зависит от установленного.
 
Верх