Progger_coder 8 Опубликовано: 9 апреля, 2022 (изменено) Я скорее всего чисто для себя, и тренировки, пытаюсь сделать что-то типа MineOs. Так вот, возможно я сильно тупой, и ошибка очень проста. Но: У меня есть установщик, в нём я указываю логин и пароль. Потом как видно, Пытаюсь записать их в переменные.. И затем происходит перезагрузка, с измененным boot.lua. Который одкрывает мой "ОС". Собственно там должен отобразится логин, и нужно ввести правельный пароль. Только пароль не распознается. И вместо логина "Label" Естетственно загрузить данные я пытаю так: Наверное это должно быть возможно, тк существует MineOs. Может как-нибудь делать запись этих данных в файл? (Измененно, нашёл команды) file = io.open file:write("") file:read() Попробую с ними (Извените за возможные ошибки, и наверое, тупой вопрос ) Изменено 9 апреля, 2022 пользователем Progger_coder Возможное решение Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ECS 1 903 Опубликовано: 9 апреля, 2022 Проблема в том, что ты записываешь данные о логине/пароле в оперативную память, которая по аналогии с реальной жизнью энергозависима - т.е. при выключении/перезагрузке компьютера она очищается. Ну и да, ты прав, логичным решением проблемы будет использовать ПЗУ вместо ОЗУ А вариантов хранения данных довольно много. Например, вот самый простой, когда логин хранится в отдельном файле а-ля login.txt local io = require("io") -- Запись local login = "MyNickName" local file = io.open("/login.txt", "w") file:write(login) file:close() -- Чтение local file = io.open("/login.txt", "r") local login = file:read("*a") file:close() Или вот более комплексный, позволяющий сохранять конфиги твоих разработок в виде сериализованных (сконвертированных в строку) луа-таблиц (массивов), а затем читать их из файла. В майноське, как и в 99% софта, реализован плюс-минус он: local io = require("io") local serialization = require("serialization") -- Запись local config = { login = "MyNickName", lastAuthorization = "09.04.2022 15:00:00", interfaceColor = 0xFF0000 } local file = io.open("/config.txt", "w") file:write(serialization.serialize(config)) file:close() -- Чтение local file = io.open("/login.txt", "r") local config = serialization.deserialize(file:read("*a")) file:close() Ну и полноценные СУБД со сложностью "за гранью богоподобия". Чисто для ознакомления, это не для нас, смертных: 2 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Progger_coder Автор вопроса 8 Опубликовано: 9 апреля, 2022 (изменено) @ECS Спасибо большое! Я буду использовать второй метод, раз уж Цитата В майноське, как и в 99% софта, реализован плюс-минус он И он какой-то более адекватный, или как) Скорее всего, более понятный, и наглядный. Ps. У меня сработало только с local config = serialization.unserialize(file:read("*a")) А не local config = serialization.deserialize(file:read("*a")) Но это мелочи . Ещё раз спасибо! Изменено 9 апреля, 2022 пользователем Progger_coder 1 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Я скорее всего чисто для себя, и тренировки, пытаюсь сделать что-то типа MineOs.
Так вот, возможно я сильно тупой, и ошибка очень проста. Но:
У меня есть установщик, в нём я указываю логин и пароль.
Потом как видно,
Пытаюсь записать их в переменные..
И затем происходит перезагрузка, с измененным boot.lua. Который одкрывает мой "ОС".
Собственно там должен отобразится логин, и нужно ввести правельный пароль. Только пароль не распознается.
И вместо логина "Label" Естетственно загрузить данные я пытаю так:
Наверное это должно быть возможно, тк существует MineOs.
Может как-нибудь делать запись этих данных в файл? (Измененно, нашёл команды)
Попробую с ними
(Извените за возможные ошибки, и наверое, тупой вопрос )
Изменено пользователем Progger_coderВозможное решение
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах