-- config
local mainIni = inicfg.load({
main = {
nickname = "NickName",
textNabor = "text",
yaBanda = false
}
}, "caff")
-- переменные, не помню как в обычном imgui объявляются для InputText, так что в примере для mimgui
local nickname = new.char[256](u8(mainIni.main.nickname))
local nabor = new.char[256](u8(mainIni.main.textNabor)) -- не помню как.. ImBuffer чтоли
local bool = new.bool(mainIni.main.yaBanda) -- ImBool
-- imgui window
imgui.InputText("NickName", nickname, ffi.sizeof(nickname)) -- ffi.sizeof() -> 256
imgui.InputText("Nabor", nabor, ffi.sizeof(nabor)) -- ffi.sizeof() -> 256
if imgui.RadioButtonBool("yaBanda", bool[0]) then bool[0] = not bool[0] end -- bool.v) then bool.v = not bool.v end
if mainIni ~= nil then
for k, v in pairs(mainIni.main) do
imgui.Text(k .. ' || ')
imgui.LinedText(u8(tostring(v))) -- imgui.SameLine(); imgui.Text( ... ), LinedText локальная функа
end
end
imgui.EndGroup()
if imgui.Button(u8"Загрузить конфиг") then
mainIni = inicfg.load(nil, "caff")
end
imgui.SameLine()
if imgui.Button(u8"Сохранить конфиг") then
mainIni.main.nickname = u8:decode(ffi.string(nickname)) -- nickname.v
mainIni.main.textNabor = u8:decode(ffi.string(nabor)) -- nabor.v
mainIni.main.yaBanda = bool[0] -- bool.v
inicfg.save(mainIni, "caff")
end