Суббота, 19.09.2020, 13:05 | Приветствую Вас Гость
Сохранение данных
 
Многие из вас наверняка уже начали создавать свои собственные игры и программы. Но хороший софт должен уметь сохранять сеанс, для этого мы сегодня и рассмотрим пример сохранения данных в файл, причём ЛЮБОГО формата.
 
Записывать для примера мы будем в файлик формата .txt, но вам это делать совершенно не обязательно, вы там хоть .mp3 ставьте) только потом этот файлик проигрывателем не пытайтесь открыть :D
 
Есть 2 способа записи и считывания данных с файла, первый более универсальный и практичный, второй же - оригинальный
 
Запись данных в файл(1 способ):
 
h=1--объявляю переменную h и присваиваю её значение равное 1.
file=io.open("save.txt","w")--открываем файл с пометкой 'w', что означает, что мы намереваемся в него что-то записывать
file:write(" h="..h)--записываем в файлик переменную h, при этом в самом файлике всё это будет выглядеть так ( h=1)
file:close()--заканчиваем работу с открытым на запись файлом
 
.. - это такой синтаксис языка LUA, который позволяет объединять слова в одно предложение, которое мы и будем сохранять.
 
Этот способ универсален тем, что в файл таким макаром можно записывать множество различных данных
 
h=1--объявляю переменную h и присваиваю её значение равное 1.
m=2--объявляю переменную m и присваиваю её значение равное 2.
n=3--объявляю переменную n и присваиваю её значение равное 3.
file:write(" h="..h.." m="..m.." n="..n)--в файлике будет это выглядеть так ( h=1 m=2 n=3)
 
Считывание:
 
dofile("save.txt")--просто и лаконично
 
Запись данных в файл(2 способ):
 
h=1--объявляю переменную h и присваиваю её значение равное 1.
file=io.open("save.txt","w")--открываем файл с пометкой 'w', что означает, что мы намереваемся в него что-то записывать
file:write(h)--записываем в файлик переменную h, при этом в самом файлике всё это будет выглядеть так (1)
file:close()--заканчиваем работу с открытым на запись файлом
 
Считывание:
 
file=io.open("save.txt","r")--открываем файл с пометкой 'r', что означает, что мы намереваемся из него что-то считать
h=tonumber(file:read())--считываем из файлика переменную h, при этом использовав стандартную функцию tonumber(), которая преобразовала текст из файлика в числовую переменную
file:close()--заканчиваем работу с открытым на запись файлом
 
Этот способ универсальностью не отличается
Навигация
Форма входа

Календарь
«  Сентябрь 2020  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
282930