Объект INIFILES — работа с INI файлами
Объект INIFILES — работа с INI файлами
Объект INIFILES - работа с INI файлами Почему иногда лучше использовать ini-файлы, а не реестр? 1. ini-файлы можно просмотреть и отредактировать в обычном блокноте. 2. Если ini-файл хранить в папке с программой, то при переносе папки на другой компьютер настройки сохраняются. (Я еще не написал ни одной программы, которая бы не поместилась на одну дискету :) 3. Новичку в реестре можно запросто запутаться или (боже упаси), чего-нибудь не то изменить. Поэтому для хранения параметров настройки программы удобно использовать стандартные ini файлы windows. Работа с ini файлами ведется при помощи объекта tinifiles модуля inifiles. Краткое описание методов объекта tinifiles дано ниже. constructor create('d:test.ini'); Создать экземпляр объекта и связать его с файлом. Если такого файла нет, то он создается, но только тогда, когда произведете в него запись информации. writebool(const section, ident: string; value: boolean); Присвоить элементу с именем ident раздела section значение типа boolean writeinteger(const section, ident: string; value: longint); Присвоить элементу с именем ident раздела section значение типа longint writestring(const section, ident, value: string); Присвоить элементу с именем ident раздела section значение типа string readsection (const section: string; strings: tstrings); Прочитать имена всех корректно описанных переменных раздела section (некорректно описанные опускаются) readsectionvalues(const section: string; strings: tstrings); Прочитать имена и значения всех корректно описанных переменных раздела section. Формат : имя_переменной = значение erasesection(const section: string); Удалить раздел section со всем содержимым readbool(const section, ident: string; default: boolean): boolean; Прочитать значение переменной типа boolean раздела section с именем ident, и если его нет, то вместо него подставить значение default. readinteger(const section, ident: string; default: longint): longint; Прочитать значение переменной типа longint раздела section с именем ident, и если его нет, то вместо него подставить значение default. readstring(const section, ident, default: string): string; Прочитать значение переменной типа string раздела section с именем ident, и если его нет, то вместо него подставить значение default. free; Закрыть и освободить ресурс. Необходимо вызвать при завершении работы с ini файлом property values[const name: string]: string; Доступ к существующему параметру по имени name Пример : procedure tform1.formclose(sender: tobject); var inifile:tinifile; begin inifile := tinifile.create('d:test.ini'); { Создали экземпляр объекта } inifile.writebool('options', 'sound', true); { Секция options: sound:=true } inifile.writeinteger('options', 'level', 3); { Секция options: level:=3 } inifile.writestring('options' , 'secret password', pass); { Секция options: в secret password записать значение переменной pass } inifile.readsection('options ', memo1.lines); { Читаем имена переменных} inifile.readsectionvalues('options ', memo2.lines); { Читаем имена и значения } inifile.free; { Закрыли файл, уничтожили объект и освободили память } end; Источник: http://www.delphi-faq.fatal.ru/