INI файлы

  ini-файлы — это обычные текстовые файлы, которые можно редактировать и просматривать при помощи любого текстового редактора. Возможно, вы их уже видели в папках с программами, играми и другими приложениями.
В этой статье я расскажу, как научить программу считывать настройки из этого файла.

ini-файлы имеют следующий формат:

[Section1]
var1 = значение_1
var2 = значение_2
 
[Section2]
var1 = значение_1
var2 = значение_2
  Предположим, что пользователь запустил и переместил программу в правый нижний угол экрана (для экономии места), поработал с ней и закрыл. Прошло некоторое количество времени, и пользователь опять запустил программу, но она появилась в центре экрана (как указал ей разработчик). Что остается делать пользователю? Он опять перемещает ее в угол и так повторяется при каждом запуске программы. А теперь представьте, что в программе таких не сохраняющихся настроек более 100! Ужас!
Для того чтобы оградить пользователя от страшных мук, научим программу запоминать место появления на экране.

Создаем новый проект, добавим inifiles в секцию Uses и в процедуре FormCreate запишем код:
procedure TForm1.FormCreate(Sender: TObject);
var Vars: Tinifile; //Переменная для работы с ini-файлами
begin
//Создаем переменную с адресом до ini-файла
Vars := TiniFile.Create(extractfilepath(paramstr(0))+'settings.ini');
//Считывание ('секция', 'значение переменной', 'значение, если файл или переменная не найдены')
Form1.Left := Vars.ReadInteger('Form','Left',255); //Считываем значение
Form1.Top := Vars.ReadInteger('Form','Top',209); //Считываем значение
Vars.Free; //Разрушаем переменную
end;
  Вот сейчас программа будет считывать настройки из файла settings.ini, но считывать пока нечего. Научим программу сохранять настройки. Чтобы не перегружать программу и не сохранять настройки каждую секунду, лучше сохранять при закрытии программы.
Код в FormClose:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var Vars: Tinifile; //Переменная для работы с ini-файлами
begin
//Создаем переменную с адресом до ini-файла
Vars := TiniFile.Create(extractfilepath(paramstr(0))+'settings.ini');
//Запись ('секция', 'переменная', 'значение')
Vars.WriteInteger('Form','Left',Form1.Left); //Записываем отступ слева
Vars.WriteInteger('Form','Top',Form1.Top); //Записываем отступ сверху
Vars.Free; //Разрушаем переменную
end;
В итоге, файл settings.ini должен иметь содержание похожее на это:
[Form]
Left=10
Top=10
Вот и всё, Удачи!


    No results found.
Отменить.