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