Чтение и запись файла

W1ll04eison

Участник
Автор темы
328
19
Версия MoonLoader
.026-beta
Подскажите, как сделать так что-бы написанный текст в одном окне имгуи в InputTextMultiline, выводился в другом окне имгуи в imgui.text().

Т.е как сохранять записанный текст из Inputtextmultiline в ini я знаю, но сохранение там идёт массивом так как мне надо что бы текст который будет выводится в imgui.text() был строчный:
По типу:
Привет(идёт перенос на следующую строку)
Меня зовут... (идёт перенос на следующую строку)
Text(идёт перенос на следующую строку)
И т.д
т.е сохранять пока что на данный момент я знаю / умею только так)))(т.е при нажатии на кнопку "добавить подпункт(как пример) создаётся новая секция i(1, 2, 3, 4 и т.д)как пример:
[1]
Text=12
[2]
Text=36
И т.д

А мне же надо что-бы если файла, к примеру text.ini нету в папки moonloader, то он создавался и там запись шла только для одной секции или же вовсе без неё, и после открытия второго окна imgui считывался этот текст как он написан в InputTextMultiline
Пример, если в InputTextMultiline текст написан вот такой:
Привет
Я такой-то такой-то
И т.д
То и в imgui.text() выводилось бы также

За помощь буду благодарен, если не сложно то пример бы увидеть как это реализовать
 

RedHolms

Известный
Проверенный
619
366
Не слишком понял, что тебе нужно.
Тебе нужно сохранять текст из InputTextMultiline в ини файл, сохраняя переносы, и потом загружать его?

Если да, то можешь просто заменять переносы строк на другие символы и сохранять например:
Lua:
-- text - переменная текста

-- Перед сохранением в ini-файл
text = text:gsub('\n', '\\n')

-- После загрузки из ini-файла
text = text:gsub('\\n', '\n')
 
  • Нравится
Реакции: W1ll04eison

W1ll04eison

Участник
Автор темы
328
19
Не слишком понял, что тебе нужно.
Тебе нужно сохранять текст из InputTextMultiline в ини файл, сохраняя переносы, и потом загружать его?

Если да, то можешь просто заменять переносы строк на другие символы и сохранять например:
Lua:
-- text - переменная текста

-- Перед сохранением в ini-файл
text = text:gsub('\n', '\\n')

-- После загрузки из ini-файла
text = text:gsub('\\n', '\n')
Да, ты понял правильно, только ещё вопрос, а как сохранять сам текст из Inputtextmultiline в ini.
Типо если это делать как у меня сейчас то он сохраняет как массив, и приписывает секцию.
Т.е
local mainIni = inicfg.load({} , directIni)

То что ты скинул выше это я так понял он делает перенос, но, как делать сохранение и само чтение, если не сложно объясни
 

RedHolms

Известный
Проверенный
619
366
Да, ты понял правильно, только ещё вопрос, а как сохранять сам текст из Inputtextmultiline в ini.
Типо если это делать как у меня сейчас то он сохраняет как массив, и приписывает секцию.
Т.е
local mainIni = inicfg.load({} , directIni)
Я показал выше, просто разделение строки заменяешь на другой символ, тем самым весь текст будет в одной строке, потом просто возвращаем все разделения строк
 
  • Нравится
Реакции: W1ll04eison