Сейчас, а именно в этой статье, я хотел бы поговорить об ini-файлах, так как в следующей статье хотел бы рассказать как можно сохранить TStringGrid именно в ini-файл. И дальше я буду рассказывать как создавать тесты с помощью ini-файлах, так что нам эта информация понадобится в дальнейшем. Вообще ini-файлы предназначены для сохранения настроек программы, также некоторые любят хранить настройки в реестре (об этом мы тоже поговорим, работать почти одинаково, что и с ini-файлами), но зачем лишним захламлять реестр, так что в этом случае используются ini-файлы (для настроек). Ini-файл (а точнее файл настроек) должен быть (состоит) из следующих разделов
- Название раздела
- Список значений раздела
Название раздела заключается в квадратные скобки — [название раздела]. Разделов может быть сколь угодно, это специально предназначено для удобного использования и разделения настроек. Список значений определяется с помощью названия переменных ini-файла. Например
- название переменной=значение
Давайте посмотрим полную структуру ini-файла, на примере настроек нашей программы (какой-нибудь)
[Main]
Languae=Rus
Ini-файл у нас создан, давайте теперь подключать его в наш проект, для начала надо в Uses подключить модуль IniFiles. Далее Мы объявим переменную типа TIniFile, а затем создадим ее. На событие формы OnCreate обычно создается ini-файла, например так
var
Ini:TIniFile;
begin
Ini:=TIniFile.Create(ExtractFilePatch(ParamStr(0))+'test.ini');
end;
ini-файл у нас создан теперь мы можем считывать с него значения и записывать туда, в определенные переменные самого ini-файла (например в переменную Languae, которая описана выше в нашем файле).
Для записи используются следующая функция
- WriteString(‘название раздела’,’название переменной’,’значение’);
Например
- Ini.WriteString(‘Main’,’Languae’,’En’);
Как видите мы указываем наши параметры ini-файла. Записывать можно и целочисленное значение, только вместо WriteString - WriteInteger. А вообще из раскрывающего списка можно увидеть типы записи в файл.
Для чтения настроек используется функция
- ReadString(‘название раздела’,’название переменной’,»);
Например
- Ini.ReadString(‘Main’,’Languae’,»);
Как видите все тоже самое, только последний параметр остался — пустые кавычки, это означает, что мы считывает строковое значение, если считать как целочисленное значение, то необходимо будет указать в последнем параметре 0 (нуль) и при этом считать с помощью функции ReadInteger.