урок №14

Загрузка настроек программы из файла. Delphi

Delphi программирование, создание программ.

Многих интересует вопрос как сделать так что бы программа, написанная на Delphi при закрытии сохраняла свои настройки в файл, а при последующем открытии загружала их от туда. На самом деле делается это очень просто, приведу пример, в котором программа при выходе сохраняет свои размеры и положение окна на экране в файл и при последующем запуске восстанавливает состояние, которое было при выходе. Запускаем Delphi, создаем новый проект, работать будем с формой и нам понадобиться два события это OnShow и OnClose создаем их. Первое событие будет выглядеть следующим образом:

procedure TForm1.FormShow(Sender: TObject);
Var f:file of Integer; // файловая переменная, тип integer
i:Integer; // целочистенная переменная
begin
AssignFile(f,’pos.ini’);
{$I-} // Отключаем контроль ошибок
Reset(f);
{$I+} // Включаем контроль ошибок
if IOResult<>0 then Exit;
Read(f,i); //считать из файла значение
Form1.Top:=i; // верхнее положение окна
Read(f,i);
Form1.Left:=i; // левое положение окна
Read(f,i);
Form1.Width:=i; // ширина окна
Read(f,i);
Form1.Height:=i; // высота окна
CloseFile(f);
end;

Здесь при запуске программа загружает нужные настройки из файла pos.ini находящимся в той же папке что и сама программа.

Ну и наконец второе событие оно будет вызываться при закрытии программы и сохранять нужные настройки в файл.

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
Var f:file of Integer; // файловая переменная, тип integer
begin
AssignFile(f,’pos.ini’); // Привязываем строку пути файла к файловой переменной
{$I-} // Отключаем контроль ошибок
Rewrite(f);
{$I+} // Включаем контроль ошибок
if IOResult<>0 then Exit; // Если ошибка то выходим
Write(f,Form1.Top); // Записываем в файл положение окна по верикали
Write(f,Form1.Left); // Записываем в файл положение окна по горизонтали
Write(f,Form1.Width); // Записываем в файл ширину формы
Write(f,Form1.Height); // Записываем в файл высоту формы
CloseFile(f); // Завершаем работу с файлом
end;

Данный пример подойдет не только для сохранения размера окна программы, но и для сохранения других настроек.