Что нового

Не получается записать в ini файл реакцию на выбор параметра GUI

dr.room

Новичок
Сообщения
283
Репутация
0
Всем привет
Есть GUI с выпадающим списком
Код:
#include <GUIConstantsEx.au3>

Example()

Func Example()
    Local $msg, $hGui, $iCombo, $iData

    $hGui= GUICreate("Вставляет данные") ; Создаёт окно в центре экрана
    $iCombo = GUICtrlCreateCombo("", 10, 10)
    $iData = GUICtrlSetData(-1, "Пункт 1|Пункт 2|Пункт 3") ; -1 последняя использованная переменная
    GUISetState() ; показывает созданное окно с установленным фокусом на Combo

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

        If $msg = $GUI_EVENT_CLOSE Then ExitLoop

		If $msg = $iCombo Then MsgBox(0, "Выбранный пункт ListBox", GUICtrlRead($iCombo), 0, $hGui) ; Отображает выбранный пункт Combo а мне нужна запись в ini  файл

    WEnd
EndFunc

Пытаюсь, но все не получается сохранить выбранный пункт в ini файл
Как это сделано в другом GUI
Код:
#include <GUIConstantsEx.au3>

$sPath_ini = @ScriptDir & "\2knopki.ini"


$hGui = GUICreate("Спец. MsgBox", 225, 80)

GUICtrlCreateLabel("Пожалуйста нажмите на кнопку!", 10, 10)
$iYesID = GUICtrlCreateButton("Да", 10, 50, 65, 25)
$iNoID = GUICtrlCreateButton("Нет", 80, 50, 65, 25)
$iExitID = GUICtrlCreateButton("Выход", 150, 50, 65, 25)

GUISetState() ; показывает созданное окно
While 1
    Switch GUIGetMsg()
	Case $iYesID ; Да
	IniWrite($sPath_ini, "Section", "Key", "1")

	Case $iNoID ; Нет
	IniWrite($sPath_ini, "Section", "Key", "2")
	Case $iExitID; Выход

            ExitLoop
        Case $Gui_EVENT_CLOSE; Закрыть

            ExitLoop
    EndSwitch
WEnd

GUIDelete()

;~   читаем, после выбора кнопки и закрытия окна
$sRead = IniRead($sPath_ini, "Section", "Key", "")
If $sRead = 1 Then
MsgBox(4096, "", "Значение параметра 'Key' в секции 'Section': = 1" )
Else
MsgBox(4096, "", "Значение параметра 'Key' в секции 'Section': НЕ = 1" )
EndIf
Спасибо за помощь
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Как Вы пытались ? Ведь запись в ini файл ничем не сложнее вывода в MsgBox , так нужно ?
Код:
#include <GUIConstantsEx.au3>

Global $IniFile = @ScriptDir&'\data.ini'
Example()

Func Example()
    Local $msg, $hGui, $iCombo, $iData

    $hGui= GUICreate("Вставляет данные") ; Создаёт окно в центре экрана
    $iCombo = GUICtrlCreateCombo("", 10, 10)
    $iData = GUICtrlSetData(-1, "Пункт 1|Пункт 2|Пункт 3") ; -1 последняя использованная переменная
    GUISetState() ; показывает созданное окно с установленным фокусом на Combo

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

        If $msg = $GUI_EVENT_CLOSE Then ExitLoop

        If $msg = $iCombo Then IniWrite($IniFile,'Section','LastCombo',GUICtrlRead($iCombo)) ;  запись в ini  файл

    WEnd
EndFunc
 
Автор
D

dr.room

Новичок
Сообщения
283
Репутация
0
Спасибо! С Вами - всё не так сложно
 
Верх