Русские документы
Ежедневные компьютерные новости RSS rusdoc.ru  Найти :
http://www.rusdoc.ru. Версия для печати.

Управление реестром в delphi

Раздел: Programming / Delphi @ 04.11.2007 | Ключевые слова: работа с реестром Delphi

Автор: Simply-Art
Источник: pblog.ru

Реестр очень нужная вещь! Им должен уметь пользоваться каждый. Сегодня я покажу маленький пример как сохранить некоторые параметры Вашей программы.
Первое что надо сделать это добавить в uses модуль Registry
Затем написать две процедуры:


type
TForm1 = class(TForm)
procedure SaveProgParam;
procedure LoadProgParam;

procedure TForm1.SaveProgParam;
var
FIniFile: TRegIniFile;
Begin
// по умолчанию всё делается в HKEY_CURRENT_USER
FIniFile := TRegIniFile.Create(’Software’);
FIniFile.OpenKey(’Папка_вашей_программы’,true);
if Form1.WindowState=wsNormal then
begin
FIniFile.WriteInteger(’Option’, ‘Width’, Width);
// Write… - означает запись, …Integer – означает тип записываемой переменной
// Первый параметр ‘Option’ – это подраздел: ‘Папка_вашей_программы\Option\’
// Второй параметр ‘Width’ – название ключа (файла в реестре)
// Третий – это переменная которую мы записываем
FIniFile.WriteInteger(’Option’, ‘Heigth’, Height);
FIniFile.WriteInteger(’Option’, ‘Left’, Left);
FIniFile.WriteInteger(’Option’, ‘Top’, Top);
end;
FIniFile.WriteInteger(’Option’, ‘WinState’, Integer(WindowState));
FIniFile.Free; //освобождаем переменную
end;

Здесь мы записали положение окна и развёрнуто ли оно. Далее мы пишем процедуру загрузки этих параметров:

procedure TForm1.LoadProgParam;
var
FIniFile: TRegIniFile;
Begin
// по умолчанию всё делается в HKEY_CURRENT_USER
FIniFile := TRegIniFile.Create(’Software’);
FIniFile.OpenKey(’Папка_вашей_программы’,true);
Width:=FIniFile.ReadInteger(’Option’, ‘Width’, 600);
// Read… - означает чтение, …Integer – означает тип считываемой переменной
// Первый параметр ‘Option’ – это подраздел: ‘Папка_вашей_программы\Option\’
// Второй параметр ‘Width’ – название ключа (файла в реестре)
// Третий параметр 600 – это значение по умолчанию, если ключ с названием ‘Width’ не будет найден
Height:=FIniFile.ReadInteger(’Option’, ‘Heigth’, 300);
Left:=FIniFile.ReadInteger(’Option’, ‘Left’, 10);
Top:=FIniFile.ReadInteger(’Option’, ‘Top’, 10);
WindowState:=TWindowState(FIniFile.ReadInteger(’Option’, ‘WinState’, 0));
FIniFile.Free; //освобождаем переменную
end;

И теперь внедряем эти процедуры в программу:

procedure TForm1.FormCreate(Sender: TObject);
begin
LoadProgParam;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SaveProgParam;
end;



Вернуться в раздел: Programming / Delphi
© Copyright 1998-2012 Александр Томов. All rights reserved.