Работа с *.INI — файлами

Использование *.INI — файлов очень удобно и экономично. В данных файлах вы можете хранить настройки вашей программы (именно для этого они и существуют). Тем самым вы не будете захламлять системный реестр. Использовать *.INI — файлы можно и в других случаях, т.к. синтаксис очень прост и удобен в использовании.

Использование *.INI в Delphi

Для работы с *.INI — файлами в Delphi вам необходимо подключить модуль IniFiles, и создать объект TIniFile, затем с ним работать. После завершения работы объект необходимо удалить методом Free.

Основные методы:

Create — создает экземпляр объекта TIniFile в качестве параметра указывается путь и имя файла (если путь не указан, то файл создается в стандартной директории Windows (можно использовать GetDir для создания файла в папке с программой))

  • Free — удаляет объект TIniFile
  • FileName — возвращает имя файла, с которым связан объект TIniFile
  • DeleteKey — удаляет ключ в разделе
  • EraseSection — удаляет раздел
  • ReadInteger — считывает из файла целочисленные данные
  • ReadString — считывает из файла строковые данные
  • ReadBool — считывает из файла логические (true, false) данные
  • WriteBool — записывает в файл логические данные
  • WriteString — записывает в файл строковые данные
  • WriteInteger — записывает в файл целочисленные данные
  • ReadSection — извлекает имена идентификаторов в указанном разделе INI — файла
  • ReadSections — извлекает все имена разделов
  • ReadSectionValues — извлекает из заданного раздела все ключи
  • ReadBinaryStream — считывает поток из файла
  • WriteBinaryStream — записывает поток в файл

Для более детального изучения можно обратиться к исходному коду модуля IniFile (однако приведенных выше методов вполне хватает для работы).

Вот несколько дополнительных функций, которые помогут вам в решении некоторых проблем связанных с использованием INI — файлов:

WriteProfileString и WritePrivateProfileString — сбрасывают изменения в INI — файле на диск, что позволяет немедленно записать все изменения в вашем файле настроек. Функции находятся в модуле Windows.pas (импортированы из kernel32.dll).

А вот еще небольшая вещь: сообщение WM_WININICHANGE позволяет отслеживать изменения происходящие в файле Win.ini.

Иерархия объектов

Возможно вам потребуется обрабатывать исключительные ситуации, возникающие при работе с INI — файлами. В этом вам поможет класс EIniFileException (Exception).

Также в модуле IniFiles описаны два дополнительных класса (в помощь TMemIniFile — файлы в памяти (увеличивается быстродействие, но при неправильной работе можно вызвать сбой)) — это TStringHash и THashedStringList.

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