Запись значений в массив из imgui.InputText()

A S K I T

Активный
Автор темы
201
69
Версия MoonLoader
.026-beta
Приветикс.
Как записать в таблицу, значения введённые через запятую в imgui.InputText().
Пример: 23, 54, 67, 234, 67
Таблица: tabl = { '23', '54', '67', '234', '67' }
 
Решение
-- [ Variables ]
Lua:
local var = imgui.ImBuffer('', 1000) -- переменная для ввода текста
local array = {} -- массив с будущими значениями

-- [ Imgui ]
imgui.InputText('##var',var) -- в onDrawFrame - ввод текста
if imgui.Button('Load in Massiv') then  -- в onDrawFrame - сохранение результата в массив
    local larray = split(var.v,',') -- разделяем введённый текст по запятой
    for Key, Value in pairs(larray) do -- из массива выше
        table.insert(array, Value) -- вносим значение в массив
    end
end

-- [ Function ]
function split(str, delim, plain) -- функция для разделения
    local tokens, pos, plain = {}, 1, not (plain == false) --[[ delimiter is plain text by default ]]
    repeat
        local npos, epos = string.find(str...

Manuel Leon

Известный
266
166
-- [ Variables ]
Lua:
local var = imgui.ImBuffer('', 1000) -- переменная для ввода текста
local array = {} -- массив с будущими значениями

-- [ Imgui ]
imgui.InputText('##var',var) -- в onDrawFrame - ввод текста
if imgui.Button('Load in Massiv') then  -- в onDrawFrame - сохранение результата в массив
    local larray = split(var.v,',') -- разделяем введённый текст по запятой
    for Key, Value in pairs(larray) do -- из массива выше
        table.insert(array, Value) -- вносим значение в массив
    end
end

-- [ Function ]
function split(str, delim, plain) -- функция для разделения
    local tokens, pos, plain = {}, 1, not (plain == false) --[[ delimiter is plain text by default ]]
    repeat
        local npos, epos = string.find(str, delim, pos, plain)
        table.insert(tokens, string.sub(str, pos, npos and npos - 1))
        pos = epos and epos + 1
    until not pos
    return tokens
end
 
  • Нравится
Реакции: Zoom.DC