1

Тема: AHK: Чтение CheckBox из .ini

Приветствую всех, скажите пожалуйста как сделать чтение CheckBox из .ini файла

2 (изменено: Vaks_off, 2021-02-12 01:09:07)

Re: AHK: Чтение CheckBox из .ini

Ну пока тебе знатоки не отвечают, вот что придумал


IniRead, var, %A_ScriptDir%\config.ini, Setup, var ; Чтение файла конфигурации в переменную var

Gui Add, CheckBox, x176 y144 w120 h23 %var%, CheckBox  ; %var% - устанавливает значение чек бокса, Checked1 - да, Checked0 - нет
Gui Add, Button, gOk x190 y232 w80 h23, &OK
Gui Show, w620 h420, Window
Return

Ok:
MsgBox,  % var
Return

В ини config.INI


[Setup]
var=Checked1

Палками не бейте

3 (изменено: pedro404, 2021-03-17 15:19:57)

Re: AHK: Чтение CheckBox из .ini

Vaks_off

Привет ребята [о_о]
Надеюсь этот пример поможет вам научится работать с *.ini файлами, и улучшит ваш английский...

Рабочий пример: Чтение состояния CheckBox из *.ini файла.
И как бонус - Запись состояния.

#SingleInstance Force
    #NoEnv
SetWorkingDir %A_ScriptDir%

Gui, Add, CheckBox, vCB1, Test
Gui, Add, CheckBox, vCB2, Test
Gui, Add, CheckBox, vCB3, Test
Gui, Add, CheckBox, vCB4, Test
Gui, Add, CheckBox, vCB5, Test
Gui, Show, w200 h200, Testing

;This loop finds the number of checkboxes - future proof - Находим все чекБоксы
Loop {
    GuiControlGet, Check, , CB%A_Index%
    If Check =
    {
        Count := (A_Index-1)
        Break
    }
}

; this loop reads the ini then updates the gui by guicontrol - читаем ini, и обновляем графический интерфейс с помощью guicontrol
IfExist, test.ini
Loop, %COUNT% {
    value := CB%A_Index%
    Iniread, CB%A_Index%, test.ini, CheckBox, CB%A_index%
    value := CB%A_Index%
    GuiControl, , CB%A_Index%, %value%
}
Return

; we use guiclose as this is checked when the GUI is closed - используем guiclose · выполняется перед закрытием

GuiClose:       ; On GUI CLOSE SAVE THE SETTINGS - GUI · СОХРАНИТЬ НАСТРОЙКИ И ЗАКРЫТЬ
Gui, Submit, NoHide        ; at this point checkbox vars from the gui are stored in their vars - на этом этапе переменные чекБоксов хранятся в своих переменных
Loop {
    GuiControlGet, Check, , CB%A_Index%
    If Check =
    {
        Count := (A_Index-1)
        Break
    }
}

; this loop writes the values found -  этот цикл записывает найденные значения
Loop, %count% {
    value := CB%A_Index%
    IniWrite, %value%, test.ini, CheckBox, CB%A_index%
}
ExitApp

4

Re: AHK: Чтение CheckBox из .ini

Конечно научит, с английскими комментариями - самое оно.

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101