Реестр очень нужная вещь! Им должен уметь пользоваться каждый. Сегодня я
покажу маленький пример как сохранить некоторые параметры Вашей программы.
Первое что надо сделать это добавить в 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;