Расширение ini как создать. Открытие INI файлов. Для чего нужен файловый формат.INI

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

Для чего нужен файловый формат.INI?

Как сокращение от "Initialization" (инициализация) расширение .ini служит для обозначения инициализационных/конфигурационных файлов (INI) в среде Microsoft (MS) Windows и других ОС. Исторически INI-файлы десятилетиями использовались в MS-DOS и MS Windows для хранения конфигурационных настроек системы и приложений.

INI-файл представляет собой небольшой текстовый файл (ASCII или Unicode), содержащий разделенные на секции конфигурационные настройки. Благодаря простому структурированному формату, INI-файлы легко читаются как человеком, так и машиной.



В MS Windows файлы INI выполняют несколько важных задач конфигурации системы. К примеру, файл "boot.ini " в корневом каталоге системного диска управляет процессом начальной загрузки, в то время как файлы "win.ini " and "system.ini " используются для совместимости со старыми приложениями. Эти три файла можно редактировать в любом текстовом редакторе или при помощи средства "Настройка системы" (msconfig.exe).

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

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

Несмотря на то, что большинство приложений теперь хранит свои конфигурационные данные как в системном реестре, так и в виде XML-файлов, INI-файлы с их легковесным синтаксисом вполне могут справляться с несложными задачами конфигурации.

Программы для открытия или конвертации INI файлов

Вы можете открыть файлы INI с помощью следующих программ: 

You"re here because you have a file that has a file extension ending in .ini. Files with the file extension .ini can only be launched by certain applications. It"s possible that .ini files are data files rather than documents or media, which means they"re not meant to be viewed at all.

what is a .ini file?

Files in the INI format are generated by the Windows OS to serve as settings files that contain configurations of the Windows-based computer. Also called Windows initialization files, these INI files are appended with the .ini extension and are updated whenever the user or the system makes certain changes to the original or default configurations of the Windows OS. These INI files are used by the system to incorporate into the Windows-based computer the settings and configurations found in these .ini files. An INI file can be opened using a text editor, but this is not recommended to be performed by users without the necessary technical knowledge and experience for changing or editing the configurations and settings that are stored in these Windows initialization files. As of this writing, more recent versions of the Windows OS are implemented with the function of deploying XML files to replace some of the functionalities of these .ini files as default settings files that are used to embed global-wide and user-specific configurations across the Windows OS.

how to open a .ini file?

Launch a .ini file, or any other file on your PC, by double-clicking it. If your file associations are set up correctly, the application that"s meant to open your .ini file will open it. It"s possible you may need to download or purchase the correct application. It"s also possible that you have the correct application on your PC, but .ini files aren"t yet associated with it. In this case, when you try to open a .ini file, you can tell Windows which application is the correct one for that file. From then on, opening a .ini file will open the correct application.

applications that open a .ini file

Microsoft Notepad

Microsoft Notepad

Notepad is a basic text editor used to create plain documents. It is commonly used to view or edit text (.txt) files, and a simple tool for creating Web pages, and supports only the basic formatting in HTML documents. It also has a simple built-in logging function. Each time a file that initializes with .log is opened, the program inserts a text timestamp on the last line of the file. It accepts text from the Windows clipboard. This is helpful in stripping embedded font type and style codes from formatted text, such as when copying text from a Web page and pasting into an email message or other “What You See Is What You Get” text editor. The formatted text is temporarily pasted into Notepad, and then immediately copied again in stripped format to be pasted into the other program. Simple text editors like Notepad may be utilized to change text with markup, such as HTML. Early versions of Notepad offered only the most basic functions, such as finding text. Newer versions of Windows include an updated version of Notepad with a search and replace function (Ctrl + H), as well as Ctrl + F for search and similar keyboard shortcuts. It makes use of a built-in window class named edit. In older versions such as Windows 95, Windows 98, Windows Me and Windows 3.1, there is a 64k limit on the size of the file being edited, an operating system limit of the EDIT class.

Microsoft WordPad

Apple TextEdit

Apple TextEdit is a text editor program and an open-source word processor too, which is first used in NeXTSTEP and OPENSTEP, but now integrated in most recent versions of Mac OS X. It is also considered a GNUstep application for other operating systems that are Unix based, like Linux computers. This program is operated by Advanced Typography by Apple so expect several advanced typography related features. The main function of this software is to read and write documents in plain text, HTML formats, Rich Text Format, and Rich Text Format Directory. It can also open Simple Text files but does not have the capability to save documents of that format. Mac OS X version 10.3 supports Microsoft Word documents, while Mac OS X version 10.4 can open and save Word documents in XML file. Mac OS X version 10.5 is able to read and write Office Open XML as well as OpenDocument Text. Features included on TextEdit are formatted text support, addition of graphics, animations and other multi-media contents, automatic adjustment of letter spacing, as well as reading and writing support of character encodings.

a word of warning

Be careful not to rename the extension on .ini files, or any other files. This will not change the file type. Only special conversion software can change a file from one file type to another.

what is a file extension?

A file extension is the set of three or four characters at the end of a filename; in this case, .ini. File extensions tell you what type of file it is, and tell Windows what programs can open it. Windows often associates a default program to each file extension, so that when you double-click the file, the program launches automatically. When that program is no longer on your PC, you can sometimes get an error when you try to open the associated file.

Очень часто, особенно в крупных проектах, бывает необходимо сохранить некоторые настройки программы, чтобы потом их применить при повторной загрузке. Представьте себе такую ситуацию – вы написали программу для клиента. Он ее запустил, и она появилась в центре окна, как вы и планировали. Однако ему показалось это неудобным, и он сдвинул ее в сторону и уменьшил размеры окна, чтобы параллельно работать еще с каким то приложением. Все прекрасно, программа делает свое дело и пользователь доволен. Однако, когда на следующий день он снова загрузит эту программу, она опять окажется по центру экрана, и будет иметь первоначальные размеры. Пользователю снова придется сдвигать ее в сторону и уменьшать размеры формы. Пустячок? Однако из таких вот пустячков и складывается мнение о программисте, и если мнение это будет плохим, заказчиков у вас не будет! Программист должен предусмотреть в своей программе все требования и желания пользователя, даже такие, о которых он и сам еще не догадывается. Ну скажите, как пользователь, заказавший вам программу может знать, что форма при программировании может занимать разное положение – по центру экрана или рабочего стола, или положение при разработке? Пока он не столкнется с вашей программой на практике, ему и в голову не придет указать вам, что программа должна запоминать свои настройки!

В самом простейшем случае требуется сохранить только 5 параметров – состояние окна (свернутое, развернутое), его положение от левой и верхней границы рабочего стола, его ширину и высоту. А если вы будете создавать более сложную программу, с панелью настроек, где есть куча чекбоксов и радиокнопок? Там пользователь может изменить ваши настройки "по умолчанию", и поставить собственные. Представьте, если пользователь потратил полчаса на то, чтобы настроить вашу программу "под себя", а при повторном запуске обнаружил, что все его настройки не сохранились!

Для сохранения пользовательских настроек существует два способа – ini-файлы и системный реестр Windows. Каждый из этих способов имеет свои плюсы и минусы.

Если вы сохраняете настройки в реестр Windows, то они скрыты от пользователя, следовательно, он ничего не сможет в них испортить. С другой стороны, если на компьютере зарегистрированы несколько пользователей, то каждый сможет изменить настройки программы "под себя". Минус в том, что если Windows будет переустановлена, придется переустанавливать и программу, так как она будет отсутствовать в реестре.

Если же вы сохраняете настройки в ini-файл, программа сохранит настройки и при переустановке операционной системы. Кроме того, сохранение настроек в ini-файл реализовать проще. В этой лекции мы научимся работать только с ini-файлами.

У INI – файлов есть много преимуществ. С ними работать просто и удобно, они поддерживают три типа данных – String, Integer и Boolean. Кроме того, если бы мы сохраняли настройки в простой текстовый файл, то при изменении одной из настроек требовалось бы перезаписывать весь файл, а ini-файл позволяет перезаписать только этот параметр.

Конечно, есть и некоторые правила использования такого рода файлов.

Первым делом, если вы собираетесь работать с ini-файлами, в секцию uses, сразу под словом interface, требуется добавить модуль inifiles, в нем описаны все данные для работы с ini-файлами. Добавить модуль просто – после последнего указанного в списке модуля стоит точка с запятой. Замените ее на запятую, добавьте слово inifiles, а затем поставьте точку с запятой.

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

ExtractFilePath(Application.ExeName)

Изучим создание ini-файла на практике. Создайте новое приложение. В секцию uses добавьте модуль inifiles.

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

Обратите внимание, что мы создаем файл в той же директории, откуда запущена программа. Если бы мы указали просто

ini:= TInifile.Create("my.ini");

то файл был бы создан в директории Windows! Далее сохраним позицию окна, то есть свойства Left и Top формы:

//сохраняем позицию окна:

ini.WriteInteger("Position", "L", Form1.Left);

ini.WriteInteger("Position", "T", Form1.Top);

У ini-файла есть три процедуры для записи данных различных типов. WriteInteger, WriteString и WriteBool. Соответственно, эти функции записывают целое число, строку и логический тип. У этих функций есть по 3 параметра. Первый – это раздел ini – файла. В самом файле он выходит в квадратных скобках. Раздел вы можете назвать как угодно, не обязательно Position. Вторым параметром является название сохраняемого параметра, в примере этот параметр мы указали в виде букв "L" и "T", хотя можно было бы написать и "Left", "Top" или как-то иначе.

Третьим параметром функции является его значение. Поскольку свойства Left и Top формы имеют значения в виде целого числа, мы используем функцию для записи целых чисел WriteInteger. В результате приведенного примера в ini – файле появится надпись, подобная этой:

//сохраняем размеры окна:

ini.WriteInteger("Size", "W", Form1.Width);

ini.WriteInteger("Size", "H", Form1.Height);

После того, как мы сохранили параметры в ini- файл, его необходимо закрыть:

//закрываем файл:

ini.Free;

Все, файл закрыт и настройки сохранены. Сохраните проект, откомпилируйте его и посмотрите, как он работает. Откройте созданный ini – файл, это простой текстовый файл, который вы сможете прочитать, и даже отредактировать.

Однако мы сделали только половину дела. Настройки то мы сохранили, а как их прочитать? Делается все это точно также, только наоборот. Вместо свойства разрушения формы используем свойство ее создания (onCreate), вместо записи используем чтение, и вместо того, чтобы значения свойств формы записывать в файл, мы будем читать их из файла и присваивать эти значения свойствам форм. Соответственно, мы имеем три процедуры считывания параметров из ini-файла: ReadInteger, ReadString и ReadBool.

Итак, делаем обработчик событий для формы onCreate:

{при создании формы}

procedure TForm1.FormCreate(Sender: TObject);

ini: TIniFile; //объявляем переменную типа inifile

//теперь создаем ее:

ini:= TInifile.Create(ExtractFilePath(Application.ExeName)+"my.ini");

//применяем позицию окна:

Form1.Left:= ini.ReadInteger("Position", "L", 329);

Form1.Top:= ini.ReadInteger("Position", "T", 261);

//читаем размеры окна:

Form1.Width:= ini.ReadInteger("Size", "W", 384);

Form1.Height:= ini.ReadInteger("Size", "H", 312);

//закрываем файл:

ini.Free;

Здесь интересен третий параметр в функциях записи. Казалось бы, значения нам не нужны, мы берем их из указанных разделов. Но третий параметр обязателен, в нем указывается значение "по умолчанию".

При создании формы придайте ей подходящий размер и положение и посмотрите значения свойств Left, Top, Width и Height. Эти значения вы и запишете в качестве принятых по умолчанию. Если файла еще не было или произошла какая-то ошибка при чтении данного параметра, например, не найдена нужная строка, будет применяться значение по умолчанию. Если же нужная строка прочитана, то будет применяться то значение, которое указано в ней.

Сохраните проект, откомпилируйте его и посмотрите, как работает программа. Полученный ini-файл будет содержать такой текст:

Попробуйте перед запуском программы изменить какой-нибудь параметр, например, укажите

Затем запустите программу, и посмотрите, как изменится положение окна! Кстати, это хороший способ прятать программу. Если вы для свойства Left укажите большее число, чем имеет свойство Width (ширина окна), и при этом сделаете число отрицательным, окно программы как бы сдвинется влево за пределы экрана. Программа запущена, ее видно в системной строке, а окна то и нет!

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

Давайте продолжим программу и создадим строковый параметр. Установите на форму компонент Label, в свойстве Caption которого напишите: "Введите новый заголовок окна". Ниже установите компонент Edit, в него пользователь будет вводить текст. Еще ниже – кнопку с надписью "Применить".

Удалите текст из компонента Edit, в обработчике кнопки напишите следующее:

Form1.Caption:= Edit1.Text;

Предполагается, что вы не меняли названий формы или Edit. Если же вы сменили имя формы, к примеру, на fMain, то напишите

//сохраняем заголовок формы:

ini.WriteString("Param", "C", Form1.Caption);

А в процедуре onCreate, опять же, перед закрытием ini-файла, добавьте:

//читаем заголовок формы:

Form1.Caption:= ini.ReadString("Param", "C", "Программа");

Как видите, работа со строками мало отличается от работы с числами! Сохраните проект, скомпилируйте и посмотрите, как он работает. Введите новое название окна, нажмите кнопку "Применить", выйдите из программы и снова откройте ее. Текст в системной строке программы должен сохраниться.

Теперь поработаем с логическим параметром. Установите на форму один CheckBox. В его свойстве Caption напишите "Параметр". Нам, собственно, не важно, какой именно параметр можно сохранить, например, разрешать ли нажатие на кнопку, разрешать ли показ формы "О программе", видимый или невидимый будет какой-то компонент… Параметров, которые вы, возможно, захотите сохранить, может быть очень много. Сейчас нам важно одно: свойство Checked компонента CheckBox может быть либо True (параметр включен), либо False (параметр выключен). Вот это нам и нужно сохранить в ini-файл, а затем считать это из него.

Перед закрытием ini-файла в процедуре события onDestroy запомним состояние флажка:

//запоминаем флажок:

ini.WriteBool("Param", "CB1", CheckBox1.Checked);

Если флажок выключен, то вместо False в параметр ini-файла запишется 0. Если включен – запишется 1.

Теперь перед закрытием ini-файла в процедуре события onCreate добавим строки для считывания данных из ini-файла:

//читаем состояние флажка:

CheckBox1.Checked:= ini.ReadBool("Param", "CB1", True);

По умолчанию, флажок у нас будет включен. Комментарии, думаю, излишни. Старайтесь включать сохранение параметров в каждую вашу программу.

Не существует подробной официальной спецификации формата. Начиная с Windows 95 , INI файлы считаются устаревшими и в качестве замены им Microsoft предлагает использовать системный реестр (). Тем не менее INI файлы продолжают использоваться как приложениями других производителей, так и компонентами ОС от Microsoft. Например, файл boot.ini используется в Windows NT4/2000/XP при загрузке для выбора из нескольких ОС .

Хотя INI файлы и приобрели популярность в Windows , они могут использоваться в любой ОС. Несложная структура этого формата позволяет легко обрабатывать их программно и имеет достаточно понятный вид для чтения и изменения человеком. Существуют текстовые редакторы (например, SciTE или Notepad++), которые используют подсветку синтаксиса и фолдинг для этого формата, что облегчает редактирование INI файлов вручную.

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

Формат файла

ini-файлы - это обычные текстовые файлы , которые можно редактировать и просматривать при помощи любого текстового редактора . ini-файлы имеют следующий формат:

; некоторый комментарий # комментарий в стиле Unix ; комментарий о разделе var1=значение_1 ; иногда допускается комментарий к отдельному параметру var2=значение_2 var1=значение_1 var2=значение_2 ; иногда позволяется перечислять несколько значений через запятую var1=значение_1_1, значение_1_2, значение_1_3 var2=значение_2 ; в Zend Framework массив задаётся следующим способом var1=значение_1_1 var1=значение_1_2 var1=значение_1_3 var2=значение_2 ; Иногда значения отсутствуют Mode= Vid= FolderType=Generic

INI файл может содержать:

  • пустые строки ;
  • комментарии - от символа «; » (точка с запятой) до конца строки;
  • заголовки разделов - строки, состоящие из названия раздела, заключённого в квадратные скобки « »;
  • значения параметров - строки вида «ключ=значение ».

Соглашения

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

  • Комментарии . Некоторые приложения (например, Samba) считают символом начала комментария как «;», так и «#».
  • Обратный слэш . Иногда допускается использование обратного слэша «\» для объявления следующей строки продолжением этой. В таком случае они будут обработаны как одна целая строка. Иногда возможно также применять «\» для ввода спецсимволов, например, "\n" для обозначения переноса строки.
  • Одинаковые параметры . В большинстве случаев наличие двух одинаковых ключей в одной секции запрещено (при этом обрабатывается только последний ключ).
  • Одинаковые имена секций . Обычно при наличии нескольких секций с одинаковыми именами в файле обрабатывается лишь последняя из них. Некоторые приложения объединяют содержимое всех таких секций в одну.

Пример реализации

Рассмотрим код, который обрабатывает заданный корректный ini-файл и выводит его в специальном виде:

int main() { freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); int n; cin >> n; cin.get(); map > mp; string from = ""; for (int i = 0; i < n; i++) { string s; getline(cin, s); for (size_t j = 0; j < s.size();) { if (s[j] == " ") s.erase(j, 1); else j++; } if (s.size() == 0 || s == ";") { continue; } if (s == "[") { s.erase(0, 1); s.erase(s.size() - 1, 1); from = s; mp; } else { mp = s.substr(s.find("=") + 1, s.size() - s.find("=")); } } for (map < string, map > :: iterator it = mp.begin(); it != mp.end(); it++) { if (it -> first != "") { cout << "[" << it -> first <<"]" << endl; } for (map < string, string >::iterator itt = mp.begin(); itt != mp.end(); itt++) { cout << itt -> first << "=" << itt -> second << endl; } } return 0; }

См. также

Напишите отзыв о статье ".ini"

Ссылки

Отрывок, характеризующий.ini

– Сожалею, мадонна. Он лишь сказал, что вы сильно ошибались, и что любовь никому ещё не приносила добра. Если это о чём-то вам говорит, Изидора.
Я лишь кивнула, стараясь собрать свои разлетающиеся в панике мысли. И пытаясь не показать Мороне, насколько потрясла меня сказанная им новость, как можно спокойнее произнесла:
– Разрешите ли подлечить вас, монсеньёр? Мне кажется, вам опять не помешает моя «ведьмина» помощь. И благодарю вас за весть... Даже за плохую. Всегда ведь лучше заранее знать планы врага, даже самые худшие, не так ли?..
Мороне внимательно всматривался мне в глаза, мучительно стараясь найти в них ответ на какой-то важный для него вопрос. Но моя душа закрылась от мира, чтобы не заболеть... чтобы выстоять предстоящее испытание... И кардинала встречал теперь лишь заученный «светский» взгляд, не позволявший проникнуть в мою застывшую в ужасе душу...
– Неужели вы боитесь, мадонна? – тихо спросил Мороне. – Вы ведь тысячу раз сильнее его! Почему вы его боитесь?!..
– Он имеет что-то, с чем я пока не в силах бороться... И пока не в силах его убить. О, поверьте мне, ваше преосвященство, если б я только нашла ключ к этой ядовитой гадюке!.. – и, опомнившись, тут же опять предложила: – Позвольте мне всё же заняться вами? Я облегчу вашу боль.
Но кардинал, с улыбкой, отказался.
– Завтра я уже буду в другом, более спокойном месте. И надеюсь, Караффа обо мне на время забудет. Ну, а как же вы, мадонна? Что же станет с вами? Я не могу помочь вам из заключения, но мои друзья достаточно влиятельны. Могу ли я быть полезным вам?
– Благодарю вас, монсеньёр, за вашу заботу. Но я не питаю напрасных надежд, надеясь отсюда выйти... Он никогда не отпустит меня... Ни мою бедную дочь. Я живу, чтобы его уничтожить. Ему не должно быть места среди людей.
– Жаль, что я не узнал вас раньше, Изидора. Возможно, мы бы стали добрыми друзьями. А теперь прощайте. Вам нельзя здесь оставаться. Папа обязательно явится пожелать мне «удачи». Вам ни к чему с ним здесь встречаться. Сберегите вашу дочь, мадонна... И не сдавайтесь Караффе. Бог да пребудет с вами!
– О каком Боге вы говорите, монсеньёр? – грустно спросила я.
– Наверняка, уж не о том, которому молится Караффа!.. – улыбнулся на прощание Мороне.
Я ещё мгновение постояла, стараясь запомнить в своей душе образ этого чудесного человека, и махнув на прощание рукой, вышла в коридор.
Небо развёрзлось шквалом тревоги, паники и страха!.. Где находилась сейчас моя храбрая, одинокая девочка?! Что побудило её покинуть Мэтэору?.. На мои настойчивые призывы Анна почему-то не отвечала, хотя я знала, что она меня слышит. Это вселяло ещё большую тревогу, и я лишь из последних сил держалась, чтобы не поддаваться сжигавшей душу панике, так как знала – Караффа непременно воспользуется любой моей слабостью. И тогда мне придётся проиграть, ещё даже не начав сопротивляться...
Уединившись в «своих» покоях, я «зализывала» старые раны, даже не надеясь, что они когда-либо заживут, а просто стараясь быть как можно сильней и спокойнее на случай любой возможности начать войну с Караффой... На чудо надеяться смысла не было, так как я прекрасно знала – в нашем случае чудес не предвиделось... Всё, что произойдёт, я должна буду сделать только сама.
Бездействие убивало, заставляя чувствовать себя всеми забытой, беспомощной и ненужной... И хотя я прекрасно знала, что не права, червь «чёрного сомнения» удачно грыз воспалённый мозг, оставляя там яркий след неуверенности и сожалений...
Я не жалела, что нахожусь у Караффы сама... Но панически боялась за Анну. А также, всё ещё не могла простить себе гибель отца и Джироламо, моих любимых и самых лучших для меня на свете людей... Смогу ли я отомстить за них когда-либо?.. Не правы ли все, говоря, что Караффу не победить? Что я не уничтожу его, а всего лишь глупо погибну сама?.. Неужели прав был Север, приглашая уйти в Мэтэору? И неужели надежда уничтожить Папу всё это время жила только во мне одной?!..
И ещё... Я чувствовала, что очень устала... Нечеловечески, страшно устала... Иногда даже казалось – а не лучше ли было и правда уйти в Мэтэору?.. Ведь кто-то же туда уходил?.. И почему-то их не тревожило, что вокруг умирали люди. Для них было важно УЗНАТЬ, получить сокровенное ЗНАНИЕ, так как они считали себя исключительно одарёнными... Но, с другой стороны, если они по-настоящему были такими уж «исключительными», то как же в таком случае они забыли самую простую, но по-моему очень важную нашу заповедь – не уходи на покой, пока в твоей помощи нуждаются остальные... Как же они могли так просто закрыться, даже не оглядевшись вокруг, не попытавшись помочь другим?.. Как успокоили свои души?..

Просмотров