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.