Загрузка настроек программы из файла. 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;

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



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

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

LikeNice 15 Jul 2010 в 00:00 #
А как сделать чтобы файл pos.ini был не бинарного вида ? а то ручками файл pos.ini не подредактируеш
LikeNice 08 Jul 2010 в 00:00 #
LeonSoft,поддерживаю!
Артём 29 Jun 2010 в 00:00 #
Всем привет, есть вопрос: Есть форма на ней TabbedNotebook1 и на нёмже накиданы 4 RadioButton и 2 Edit при каждом открытии программы мне приходится ставить галочку и заполнять поле, как можно сделать так чтобы при повторном открытии программы все те настройки сохранились?
problem 13 Jun 2010 в 00:00 #
Так с чем лучше в итоге работать? с Ini ? или HTML?
LeonSoft 28 May 2010 в 00:00 #
А можно и так все равно все способы по случаю:

TFiles:record;{Новая база}
Left,Top:integer[10];{Полож.}
Version:string[10];{Версия}
end;

var
MainForm:TMainForm;
f: file of TFiles;{Файл базы}
.....
.....
.....

Объяснил бы подробно но места тут мало а так все просто

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