imgui.InputTextMultiline (как сохранять?)

Licht

Известный
Автор темы
238
32
Версия MoonLoader
.026-beta
Как сохранять текст с imgui.InputTextMultiline?
Возможно ли сохранять с помощью inicfg?
 
Решение
ща
Lua:
local Luacfg = {
    _version = "8"
}
setmetatable(Luacfg, {
    __call = function(self)
        return self.__init()
    end
})
function Luacfg.__init()
    local self = {}


    function self.mkpath(filename)
        local sep, pStr = package.config:sub(1, 1), ""
        local path = filename:match("(.+"..sep..").+$") or filename
        for dir in path:gmatch("[^" .. sep .. "]+") do
            pStr = pStr .. dir .. sep
            lfs.mkdir(pStr)
        end
    end


    function self.load(filename, tbl)
        local file = io.open(filename, "r")  
        if file then
            local text = file:read("*all")
            file:close()
       
            local lua_code = loadstring("return "..text)
            if lua_code...

Double Tap Inside

Известный
Проверенный
1,898
1,253
ща
Lua:
local Luacfg = {
    _version = "8"
}
setmetatable(Luacfg, {
    __call = function(self)
        return self.__init()
    end
})
function Luacfg.__init()
    local self = {}


    function self.mkpath(filename)
        local sep, pStr = package.config:sub(1, 1), ""
        local path = filename:match("(.+"..sep..").+$") or filename
        for dir in path:gmatch("[^" .. sep .. "]+") do
            pStr = pStr .. dir .. sep
            lfs.mkdir(pStr)
        end
    end


    function self.load(filename, tbl)
        local file = io.open(filename, "r")  
        if file then
            local text = file:read("*all")
            file:close()
       
            local lua_code = loadstring("return "..text)
            if lua_code then
                loaded_tbl = lua_code()
           
                if type(loaded_tbl) == "table" then
                    for key, value in pairs(loaded_tbl) do
                        tbl[key] = value
                    end
                    return true
                else
                    return false
                end
            else
                return false
            end
        else
            return false
        end
    end

    function self.save(filename, tbl)
        self.mkpath(filename)
   
        local file = io.open(filename, "w+")
        if file then
            file:write(inspect(tbl))
            file:close()
            return true
        else
            return false
        end
    end

    return self
end


----
----
----



inspect = require "inspect"
lfs = require "lfs"
luacfg = Luacfg()


cfg = {
    text = "",
}


luacfg.load(ПУть, cfg)

cfg.text =  imbuffer.v -- текст из имгуя, ну типо, надеюсь ты знаешь о чем я

luacfg.save(ПУть, cfg)
 

Вложения

  • inspect.lua
    9.5 KB · Просмотры: 11
  • lfs.dll
    124 KB · Просмотры: 6
Последнее редактирование:
  • Ха-ха
Реакции: Tema05