Вообще, ini-файлы – очень удобная вещь. В ini-файл можно записать практически всё, хотя создан он в основном для хранения настроек программы.
Структура ini-файла очень проста: весь файл поделён на секции. В секциях содержатся ключи и эти ключи хранят значения. Вот пример открытого в блокноте ini-файла:
В этом ини-файле, как мы видим, 2 секции: Form properties и Application properties. В каждой из этих секций есть ключи, содержащие числа, строковые выражения, дату. Запись в файл осуществляется путём указания секции ини-файла, названия ключа и указания самого значения. Ниже я опишу способы использования ини-файла на Borland Delphi.
Для работы с ини-файлами в Delphi существует модуль IniFiles. В нём описан нужный нам класс TIniFile.
1. Включите Delphi и создайте новый проект.
2. Допишите в Uses новый модуль IniFiles.
3. Создайте глобальную переменную класса TIniFile.
4. При создании формы надо инициализировать переменную IniFile:
Инициализация проходит с участием дополнительного параметра типа string. Это имя файла. Если имя введено не полностью, а, например, так: 'MyIni.ini', то файл создастся при записи в папке Windows. Я же рекомендую создавать файл в папке с программой (её можно узнать так: ExtractFilePath(Application.ExeName)).
5. Как осуществить запись в файл? Для записи в ини-файл есть несколько процедур у класса TIniFile - смотря что надо записать.
Процедура записи строки:
Процедура записи цифры:
Процедура записи булевого выражения:
Запись даты:
Запись время:
Запись даты и время вместе:
Запись не целого численного значения:
Запись потока:
Во всех этих функциях обязательно указывать секцию (Section), имя ключа (Name) и записываемое значение.
Для наглядности вы можете поместить на форму кнопку и по её нажатию можете прописать следующее:
По выполнению этого кода программа создаст (если ещё не создан) файл в указанном при процедуре Create месте и запишет в него примерно следующее:
6. Процедура чтения из ини-файла осуществляется похожим способом. Для чтения существуют функции:
Каждая функция возвращает прочтённое из файла значение. Если по каким-либо причинам прочтение не удалось, то функция возвращает значение, указанное в параметре самой функции как Default.
Например, для прочтения из нашего ини-файла значения Form caption надо написать следующее:
В этом примере тексту помещённого на форму Edit-а присваивается прочтённое из файла значение. В нашем случае тексту Edit-а будет присвоено значение «Form1». Если чтение не удастся, то тексту Edit-а будет присвоено значение «Ошибка при чтении».
Другие процедуры и функции для работы с ини-файлами:
Проверка, существует ли секция:
Прочтение всей секции:
Прочтение всего файла (все секции записываются в Strings):
Прочтение всех значений в заданной секции:
Удалить заданную секцию со всеми её значениями:
Удаление определённого ключа (и его значения) в секции:
Проверка, существует ли заданный ключ в указанной секции: