При разработке программного обеспечения иногда бывает необходимо работать с INI-файлами, размер которых больше положенных 64 килобайт. Использование TIniFile хоть и является допустимым, однако, при сохранении большого количества данных (числа строк), производительность этого решения оставляет желать лучшего.
Для обхода этого неудобства я использовал класс TMemIniFile. Он не имеет ограничения в 64 килобайта. Работа с ним точно такая же, как и у класса TIniFile. Однако, работает он намного быстрее. Суть в том, что операции с данными происходят в буфере памяти. Единственное отличие в работе TMemIniFile от TIniFile - при сохранении надо вызывать метод UpdateFile.
uses IniFiles;
...
var
  ini: TMemIniFile;
begin
  ini:=TMemIniFile.Create(ChangeFileExt( Application.Exename,'.ini'));
  try
    ini.WriteString('ini_section','parameter1','value');
    ini.WriteInteger('ini_section','parameter2', 100);
  finally
    ini.UpdateFile;
    ini.Free;
  end;
end;
То есть необходимым оказалось всего несколько изменений кода - поменять класс и добавить строку при сохранении ini.UpdateFile.
 
 
 Сообщения
Сообщения
 
