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

Опубиковано: 05.06.2008 г., автор: , просмотров: 53127

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;

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



Похожие материалы

Последние из рубрики

Дима 03 Jan 2009 в 00:00 #
Да, с помощью tini намного проще
Виталий 01 Jan 2009 в 00:00 #
Легче сохранять в фаил спомощью структуры.
Дима 10 Oct 2008 в 00:00 #
Dmitriy_ZDO, а как в TIniFile сохранять чекбоксы? положеие оф или он?
Kik 10 Oct 2008 в 00:00 #
>>Дима сохранять мона так true=1 false=0 и так же вытаскивать из ini где 1 там true где 0 там false
Dmitriy_ZDO 11 Sep 2008 в 00:00 #
Интересный вариант. Но может быть проще воспользоваться TIniFile?

ОтменитьДобавить комментарий