Как создать ини файл

Как создать ини файл

Сегодня я дам краткие инструкции по созданию/изменению файлов любого формата.
Дело в том, что не все знают, как изменить расширение файла, например, того же .txt без всяких сторонних программ, просто методом переименовывания формата.

Всё дело в том, что хитрый Windows скрывает расширения известных (например exe, jpeg, txt ) типов файлов, чтобы Вы не могли их некоим образом случайно изменить.

Простая и быстрая настройка

Чтобы отключить сие, я бы сказал, издевательство надо открыть мой компьютер и нажать " Сервис -> Свойства папки -> Вид " и снять там галочку с " Скрывать расширения для зарегистрированных типов файлов " . После сего можно пройти в любую известную Вам директорию и увидеть, что теперь все названия файлов отображаются с их расширением. После этого нехитрого действия мы имеем возможность создавать файлы любого формата. Делается это очень просто:

  1. Открываем мой компьютер;
  2. Жмем правой кнопкой мыши на пустом месте: " Создать -> Текстовый документ ";
  3. Переименовываем Текстовый документ.txt в, скажем, Текстовый документ .ini
  4. Радуемся, что сумели создать новый файлик;
  5. Запоминаем урок и при необходимости применяем.

Сразу хочу предупредить, что переименовав bmp в jpg вы конечно меняете формат, но свойства рисунка не изменяться. Проще говоря — это не метод полного конвертирования, а всего лишь изменение формата. Зато запрятать какую-нибудь текстовую информацию от кого-нибудь получится легко. Берем и переименовываем дневник.txt в дневник.exe .

скидки от 50% Хотите знать и уметь больше?

Обучим, расскажем, покажем, трудоустроим!
Станьте опытным пользователем, администратором серверов и сетей, веб-дизайнером или кем-то из смежной сферы!

Послесловие

Вот такие дела. Где это может пригодится? Ну кому где.

А вообще, Вы увидите некоторые примеры того, где это нужно уже скоро, а именно в некоторых моих следующих статьях.

Прямо заинтриговал вконце 🙂 интриган. Я уметь это делать я еще в школе научилась, сама, кстати, нашла, когда "изучала" свой первый компутер 🙂 (похвасталась)

И вот еще! Виста в этом плане не такая "хитрущая" и дает переделывать расширения! Фишка в том, что в ХР надо еще глядеть при переименовывании файла на то, чтобы расширение не стереть (если функция отображения расширения включена в настройках), а Виста не дает сделать такой досадной ошибки (изменить расширение при переименовывании файла, если его менять не надо). Ой. аж сама запуталась! Одним словом — в Висте удобнее — вот что я хотела донести бредом из слов выше 😉

> Сразу хочу предупредить, что переименовав bmp в jpg вы конечно меняете формат, но свойства рисунка не изменяться. Проще говоря — это не метод полного конвертирования, а всего лишь изменение формата. Зато запрятать какую-нибудь текстовую информацию от кого-нибудь получится легко. Берем и переименовываем дневник.txt в дневник.exe.

Ты немного напутал в терминологии. ФОРМАТ означает правило, по которому байтовое представлени файла преобразуется в то, что нам нужно. Например, файл превращается в картинку на экране. BMP и JPG — это форматы кодирования картинок.

А вот хваостик в имени файла ".jpg" и ".bmp" — это РАСШИРЕНИЕ имени файла. Оно нужно только для удобства (грубо говоря, смотрим на имя файла и уже знаем, что это за файл: картинка, видео, текст и т.п.). Второе назначение расширения — это чтобы по дабл-клику на файле система знала, чем его открыть. Т.е. в системе прописано, что если у файла расширение ".jpg" или ".bmp", то его нужно открыть просмотрщиком картинок, если ".avi" — то проигрывателем видео и т.п. При этом большинство нормальных программ НЕ СМОТРЯТ на расширение файла. Т.е. можно переобозвать ".jpg" в ".exe", а потом мышкой перетянуть файл в просмотрщик картинок и он нормально тобразится.

Т.е. расширение файла — это грубо говоря надпись на бочке. А формат файла — это содержимое бочки. Т.е. на бочке можно написать "спирт", но при этом там будет молоко. Т.е. для грузчика дяди Васи это несоответсвие окажется фатальным, т.к. он на основании надписи отправит бочку на спиртзавод, но для спиртзавода это фтальным не окажется, т.к. по содержимому там поймут, что это не спирт (при этом надпись на бочке они читать не будут). В то же время эксперт дядя Сергей может заглянуть вовнутрь бочки (проигнорировав надпись), понять, что там молоко и отправить его на молокозавод

Читайте также:  Php не выводит русский текст

Привет. Эта статья о том, как сделать сохранение для игр на Clickteam Fusion 2.5.

Для сохранения нужно использовать отдельный файл в формате .ini и расширение — объект INI он работает во всех экспортах. Метод описанный в этой статье позволит сохранять игры для всех платформ.

Для приложений Windows вам нужно будет хранить отдельный файл .ini и ссылаться на него в приложении напрямую. При чем приложение само может создавать этот файл, и вам не придется распространять вашу игру под Windows вместе с ini-файлом.

Во всех других платформах: Flash, IOS, Android, XNA и HTML5 ini-файл встраивается в само приложение, и для экспортеров создать сохранение еще проще даже, чем для Windows. Но давайте пойдем по порядку, что бы полностью разобраться с этим вопросом.

Для начала сделаем простую сохранялку для Windows и вручную создадим файл .ini.

Сохранение делается в 3 шага:

  • Создать файл .ini
  • Подключить файл .ini
  • Использовать файл .ini

Создание файла .ini

Создать файл ini очень просто.

  • Откройте блокнот
  • Выберете Файл -> Сохранить как
  • Назовите файл английскими буквами и в конце поставьте .ini

Подключение файла ini

Для начала нужно поместить в кадр объект INI .

Теперь в коде привязываем этот файл. В событии Start of frame, создаете действие для Ini -> Set current file и в кавычках прописываем полный путь к файлу, например если ваш файл храниться в корне диска ‘C’, то вы должны написать «C:save.ini».

Итак, файл подключили теперь давайте сохранять игру.

Как сохранять игру в файл ini

У вас есть 3 варианта того, что вы можете сохранять:

  • Числовые значения
  • Строковые переменные
  • Позиции объектов

Сохранение числовых переменных

В качестве примера можно использовать счетчик . По событию клавиши ‘Пробел’ счетчик будет увеличиваться на 1.

Теперь сделаем сохранение счетчика. В событии клавиши ‘S'(типа сохранить) создаем действие — сохранить значение: Ini -> Set Value

И в калькуляторе устанавливаем значение счетчика: Counter -> Current Value

Далее создаем событие клавиши ‘Z'(типа загрузка) и в нем будем загружать значение счетчика. Теперь это будет уже действием счетчика, а не INI. Выбираете Counter -> Set counter и в калькуляторе выбираете Ini -> Get value.

То есть, вы выгружаете сохраненное значение из файла .ini в соответствующий параметр — это может быть значение счетчика, переменная объекта или значение какого-то свойства типа скорости и т.п., да что угодно. Главное понять принцип.

Теперь запустите игру; понажимайте пробел, что бы накрутить счетчик; потом нажмите ‘S’ что бы сохранить; далее снова пробел несколько раз и нажмите ‘Z’. Теперь мы загружаем в счетчик сохраненное значение.

НО, мы сохранили всего лишь одно значение и навряд ли в вашей игре только один параметр, который надо сохранять. Что бы сохранять много всяких значений существует item. То есть, каждому параметру вы даете отдельное имя и сохраняете нужные вам значения под своим именем.

В событии клавиши ‘S’ вы уже ставите Ini -> Set value (item) и в первом калькуляторе вводите имя, а во втором калькуляторе значение. Я назову его number.

Затем в событии загрузки (клавиша Z) устанавливаем счетчик в значение Ini -> Get value (item), там нужно будет вписать item.

Таких значений с именами можно создать сколько угодно и сохранить все, что нужно.

Есть еще один метод Set value (group — item) — сохранять переменные в группе. Этот метод нужен если вы собираетесь сохранять одни и те же переменные в разных вариантах, например, что бы создать несколько слотов памяти. Либо вы можете использовать группы, что бы логически разделить данные, которые хотите записывать, например одна группа содержит количество разных патронов для одного оружия, и другая для другого оружия.

Соответственно выбираете Set value (group — item) в событии нажатия ‘S’. И вводите имя группы в первом калькуляторе, имя переменной во втором и само значение в третьем. Я назвал свою группу переменных «gruppa».

В событии нажатия ‘Z’ устанавливаете счетчик в INI -> Get value (group — item), ну, и аналогично.

Что бы несколько переменных входили в одну группу пишите для них одинаковое имя группы.

Группа может содержать сколько угодно переменных и вы можете создавать сколько угодно групп.

Сохранение строковых значений

Думаю, что нет смысла подробно описывать сохранение строк. Действия Set string; Set string (item) и Set string (group — item) в точности повторяют логику с числовыми значениями с той лишь разницей, что сохраняется текст.

Читайте также:  Как вставлять хештеги вконтакте

Сохранение позиций объектов

Тут всё ещё проще. Когда вам нужно сохранить положение объекта, в нужном событии установите действие INI -> Save position of object и выберите нужный объект.

А когда нужно загрузить, создайте INI -> Load position of object в нужном событии и выберите объект.

Если вы хотите сохранить позиции нескольких объектов, то лучше всего дать им общую группу (возможно, вы сделаете отдельную группу специально для сохранения), а затем указать эту группу в действиях Save position of object и Load position of object.

Вот и всё, как вы могли убедиться, объект INI имеет достаточно функций, что бы сделать полное сохранение игры и сохранить все, что нужно.

Записи в файле ini

Откройте файл save.ini после сохранения. Вы увидите строки типа этих:

[]
pos.Ball 1=408,309
=Hello .
pos.Ball 2=426,279
pos.Ball 3=496,379
pos.Ball 4=463,340
pos.Ball 5=405,388
pos.Ball 6=446,310
[gruppa]
number1=2
number2=1

Несложно понять, какие параметры здесь отражены. И исходя из этого вы можете менять значения прямо в файле, а потом загружать их в своей игре в нужный момент.

Итак, мы разобрали процесс сохранения, теперь давайте научим Windows-приложение самостоятельно создавать для себя ini-файл.

Создание файла ini через приложение Windows

Что бы файл ini создавался сам, в свойствах объекта INI укажите имя файла. И все.

Вы можете создать файл:

  • В системной папке Windows на системном диске
    Для этого просто укажите имя файла без пути, например, save.ini. При этом должна быть НЕ выбрана галочка Create INI file in Application Data folder. Это не будет работать под Windows Vista и Seven, если UAC включен. Вы должны выключить его для совместимости с приложением. Что бы узнать больше перейдите в описание объекта INI.
  • В той же папке где находится само приложение
    Для этого так же нужно указать имя без пути, но отметить галочку Create INI file in Application Data folder. Это будет работать на любом компьютере, даже на Windows Vista / Seven.
  • Там где вы укажите
    Если хотите создавать файл в определенном месте, укажите полный путь к файлу, например C:save.ini. Если при этом выбрана опция Create INI file in Application Data folder, то она будет просто игнорироваться.

Выберете способ, который вам подходит и ваше приложения .exe само будет создавать себе ini-файл. Все просто!

Теперь давайте разберем как сделать сохранение для других платформ: Android, HTML5, iOS, Flash, XNA.

Сохранение игры в Android, HTML5, iOS, XNA и Flash

В экспортах для смартфонов и браузеров вы не можете использовать сторонний файл, поэтому здесь ini ‘зашивается’ в само приложение. Для этого нажмите эту кнопку на панели управления и перейдите на вкладку Binary Data -> нажмите Add и выберите заранее созданный файл ini.

И впишите тот же путь в коде в действии INI -> Set current file

И всё! Теперь просто экспортируйте конечный файл приложения и проверяйте как работает ваше сохранение.

Это действительно так просто. Этот метод будет работать для всех экспортеров.

Не забывайте, что, пока вы не создадите окончательное приложение, оно всегда будет ссылаться на локальные файлы. Только после того как вы экспортируете финальный проект, Fusion собирает все эти файлы в одном приложении.

Я надеюсь, вам понравилась эта статья и эта информация была полезной для вас.

Создание магазина для шутера

Объект INI

Помогите мне с ини.

Почему-то у меня выходит ошибка.

Как сделать сохранение сразу нескольких сцен на андроиде

Сделайте глобальными переменами значения, которые нужно сохранить

Помогите пожалуйста! Я хочу сделать сохранение позиции объекта противника. У него движение Прыгающий мяч. Я пробовал сделать но у меня при загрузке все враги появляются в одном месте. Что делать?

Вам нужно сохранять позиции экземпляров объекта индивидуально, для этого используйте цикл loop по объекту

Не сохраняет ( Не успел закончить работу, надо сохранить а потом снова открыть и работать дальше. Но в сохранённом файле заново открывается стартовая страница. Что делать?

Загружать Ini при старте (в событии Start of Frame)

А как сделать сохранение фрейма?

Либо я криворукий, либо у меня это не пашет. Свяжитесь со мной и помогите:bendermonster(Skype)

Читайте также:  Htc не включается wifi

Напишите мне в ВК, я помогу

Кинь ссылку на твой вк мне тож помощь над

Спасибо большое)!

Добавить комментарий Отменить ответ

Как убрать задний фон у…

Создание магазина для шутера

Создание игры Пинг-Понг

Flappy Bird на Fusion 2.5…

Совсем другой Chocobreak tutorial. Создание…

Превращение active в backdrop на примере машины…

Переменные. Для чего нужны Alterable…

Змейка io. Создание базового движения…

Пример генератора мира в 2D…

Создание игры «Змейка». Часть вторая.

Формы и столкновения в физике

Важной частью физического движка являются столкновения. Когда два объекта сталкиваются друг…

Appodeal — Реклама за вознаграждение в играх

Appodeal — это потрясающая система для создания…

AdMob — баннерная реклама в играх для Android

AdMob v2 — позволяет добавлять рекламу в ваши…

ini файлы

Файлы с расширением ini широко распространены не только в мире Windows, но и в других системах (к примеру, php.ini). Формат ini-файла очень прост: файл разделён на секции, в каждой секции может находится произвольное число записей вида «параметр=значение». Имена параметров в разных секциях могут совпадать.
[секция_1]
параметр1=значение1
параметр2=значение2

[секция_2]
параметр1=значение1
параметр2=значение2

Каждый параметр может быть адресован через имя секции и имя параметра: что-нибудь вроде ‘секция_1’.’параметр2′ .

В ini-файлах предусмотрены комментарии — строки начинающиеся с ";".

Строим грамматику

Давайте попробуем описать этот формат виде контекстно свободной грамматики в расширенной нотации Бэкуса-Наура (надеюсь, что будет понятно даже тем, кто не знаком с ней).

Опишем что из себя представляет ini файл. Для этого опишем все конструкции от самых сложных (собственно сам ini-файл) к самым простым (что такое идентификатор). Каждой такой конструкции сопоставляется специальное обозначение (нетерминал), которое определяется через другие нетерминалы и обычные символы (терминалы), которые я буду
задавать в кавычках.

  • Данные ini-файла (inidata) содержат несколько секций (фигурные скобки означают повторение любое количество раз).
    inidata =
    .

  • Секция состоит из названия секции, заключённого в квадратные скобки, за которым со следующей строки идет несколько записей (параметров).
    section = "[", ident, "]", "
    ", .

  • Запись состоит из имени параметра, знака "=", значения параметра и заканчивается концом строки.
    entry = ident, "=", value, "
    " .

  • Определим что такое идентификатор: всё что состоит из букв, цифр или знаков "_. ()<>-#@&*|" (в действительности могут встречаться и другие символы).
    ident = » | «-» | «#» | «@» | «&» |»*» | «|»> .

    Это определение не совсем верно, т.к. идентификатор должен состоять хотя бы из одного символа. Переделаем так:
    ident = identChar, .
    identChar = letter | digit | "_" | "." | "," | ":" | "(" | ")" | "<" | ">" | "-" | "#" | "@" | "&" |"*" | "|" .

  • Теперь определим что является значением: всё кроме конца строки (для краткости пришлось расширить нотацию обозначение not)
    value = .

Осталось учесть, что некоторые парсеры/люди любят ставить дополнительные пробелы и пустые строки.
Для этого нам потребуется ввести ещё два нетерминала: пробельные символы используемые в строке и просто пробельные символы.
stringSpaces = <" " | " ">.
spaces = <" " | " " | "
" | "
">.

Пробелы могут быть почти где угодно. Поэтому немножко подкорректируем грамматику:
inidata = spaces,

.
section = "[", ident, "]", stringSpaces, "
", .
entry = ident, stringSpaces, "=", stringSpaces, value, "
", spaces .
ident = identChar, .
identChar = letter | digit | "_" | "." | "," | ":" | "(" | ")" | "<" | ">" | "-" | "#" | "@" | "&" |"*" | "|" .
value = .
stringSpaces = <" " | " ">.
spaces = <" " | " " | "
" | "
">.

Вот в общем-то и всё, что касается грамматики =).

Кто-то, наверное, заметил, что я ничего не сказал про комментарии. Я не забыл — просто их проще «ручками» вырезать =) (в качестве упражнения можете подправить грамматику так, чтобы она комментарии учитывала).

Важно: я немного схитрил и построил грамматику так, чтобы в ней не было левой рекурсии. Обе рассматриваемые мною библиотеки строят рекурсивный нисходящий парсер, который уязвим к левой рекурсии. Перед тем, как использовать эти библиотеки в реальных проектах, убедитесь, что вы понимаете что это такое и как с этим бороться =).

Теперь вы можете сравнить использование этой грамматики для построения парсера на C++ и на Haskell.

PS. Спасибо maxshopen за идею поместить эту статью в блог «Разработка».

Ссылка на основную публикацию
Как сделать цвет в автокаде
У многих возникает вопрос, «Как в Автокаде сделать белый фон?». На самом деле все очень просто. При начальных настройках пространство...
Как сделать нумерацию страницы в ворде
Microsoft Word — одна из самых часто используемых программ для работы с текстовыми документами. Когда текст слишком большой, для комфортной...
Как сделать обратную матрицу в excel
Приложение Excel выполняет целый ряд вычислений, связанных с матричными данными. Программа обрабатывает их, как диапазон ячеек, применяя к ним формулы...
Как сделать цитату в html
Цитата — дословная выдержка (отрывок) из какого-либо текста с указанием авторства или источника. Цитаты обычно используются на сайтах, где периодически...
Adblock detector