Что нового

Изменения в Input исходя из выбора в Combo

nu3dell

Осваивающий
Сообщения
139
Репутация
24
А еще, я не хочу тему создовать, но есть вопрос


Как сделать, что-бы информация в Input менялась, в зависимости от того что я выбрал в Combo... Я понимю что это в GUICtrlSetData но я путаюсь, у меня при смене получается 0 в Input

Код:
#include <GUIConstantsEx.au3>
#include <ComboConstants.au3>

DirCreate(@ScriptDir & '\TEST')
DirCreate(@ScriptDir & '\TEST\1')
DirCreate(@ScriptDir & '\TEST\2')
IniWrite(@ScriptDir & '\TEST\1\test.ini','test','0','1111')
IniWrite(@ScriptDir & '\TEST\2\test.ini','test','0','100')

$hGUI = GUICreate("", 280, 40) ; Создаёт окно в центре экрана

$Combo = GUICtrlCreateCombo("", 10, 10, 180, 200, BitOr($GUI_SS_DEFAULT_COMBO, $CBS_DROPDOWNLIST)) ; стиль не редактируемого списка
GUICtrlSetData($Combo, '1|2','1')
$read = IniRead(@ScriptDir &'\TEST\' & GUICtrlRead($Combo) & '\test.ini','test', '0','')
$value = GUICtrlCreateInput($read, 200, 8, 60,20)
GUISetState() ; показывает созданное окно

; Запускается цикл опроса GUI до тех пор пока окно не будет закрыто
While 1
    $nMsg = GUIGetMsg()
    
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            ExitLoop
        Case $Combo
            MsgBox(0, '', 'Папка: "' & GUICtrlRead($Combo) & '"', 0, $hGUI)
    EndSwitch
WEnd
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Код:
#include <GUIConstantsEx.au3>
#include <ComboConstants.au3>

DirCreate(@ScriptDir & '\TEST')
DirCreate(@ScriptDir & '\TEST\1')
DirCreate(@ScriptDir & '\TEST\2')
IniWrite(@ScriptDir & '\TEST\1\test.ini','test','0','1111')
IniWrite(@ScriptDir & '\TEST\2\test.ini','test','0','100')

$hGUI = GUICreate("", 280, 40) ; Создаёт окно в центре экрана

$Combo = GUICtrlCreateCombo("", 10, 10, 180, 200, BitOr($GUI_SS_DEFAULT_COMBO, $CBS_DROPDOWNLIST)) ; стиль не редактируемого списка
GUICtrlSetData($Combo, '1|2','1')
$read = IniRead(@ScriptDir &'\TEST\' & GUICtrlRead($Combo) & '\test.ini','test', '0','')
$value = GUICtrlCreateInput($read, 200, 8, 60,20)
GUISetState() ; показывает созданное окно

; Запускается цикл опроса GUI до тех пор пока окно не будет закрыто
While 1
    $nMsg = GUIGetMsg()

    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            ExitLoop
        Case $Combo
            MsgBox(0, '', 'Папка: "' & GUICtrlRead($Combo) & '"', 0, $hGUI)
			GUICtrlSetData($value, GUICtrlRead($Combo))
    EndSwitch
WEnd
 
Автор
nu3dell

nu3dell

Осваивающий
Сообщения
139
Репутация
24
Zaramot к сожалению я так делал и это не то что нужно, но там вводиться имя папки, а мне нужно значение которое в ini

Но все ровно Спасибо что откликнулись
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Вы это имели введу ?:
Код:
#include <GUIConstantsEx.au3>
#include <ComboConstants.au3>

DirCreate(@ScriptDir & '\TEST')
DirCreate(@ScriptDir & '\TEST\1')
DirCreate(@ScriptDir & '\TEST\2')
IniWrite(@ScriptDir & '\TEST\1\test.ini','test','0','1111')
IniWrite(@ScriptDir & '\TEST\2\test.ini','test','0','100')

$hGUI = GUICreate("", 280, 40) ; Создаёт окно в центре экрана

$Combo = GUICtrlCreateCombo("", 10, 10, 180, 200, BitOr($GUI_SS_DEFAULT_COMBO, $CBS_DROPDOWNLIST)) ; стиль не редактируемого списка
GUICtrlSetData($Combo, '1|2','1')
$read = IniRead(@ScriptDir &'\TEST\' & GUICtrlRead($Combo) & '\test.ini','test', '0','')
$value = GUICtrlCreateInput($read, 200, 8, 60,20)
GUISetState() ; показывает созданное окно

; Запускается цикл опроса GUI до тех пор пока окно не будет закрыто
While 1
    $nMsg = GUIGetMsg()

    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            ExitLoop
        Case $Combo
            GUICtrlSetData($value, IniRead(@ScriptDir & '\TEST\' & GUICtrlRead($Combo) & '\test.ini','test','0',''))
    EndSwitch
WEnd
 
Автор
nu3dell

nu3dell

Осваивающий
Сообщения
139
Репутация
24
ZaramotДа, так. Просто если у меня 80 папок, мне для каждой нужно Case прорисовать?
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Я исправил код.... Теперь не надо :smile:
 
Верх