Доклад: Реестр: записьчтение
WriteDate(const Name: String; Value: TDateTime);
WriteDateTime(const Name: String; Value: TDateTime);
WriteExpandString(const Name, Value: String);
WriteFloat(const Name: String; Value: Double);
WriteInteger(const Name: String; Value: Integer);
WriteString(const Name, Value: String);
WriteTime(const Name: String; Value: TDateTime);
Думаю понятно из названия для сохранения какого типа данных служит каждый из вышеперечисленных методов. Ну а в общем первый параметр - название ключа, а второй собственно данные. Для записи в ключ по умолчанию просто оставьте первый параметр пустым, например: WriteInteger('',56);
9) Метод CloseKey используется для закрытия ключа, открытого функцией OpenKey (см. п.4).
10) Выгружаем переменную reg из памяти.
Всё теперь при закрытии приложения оно будет сохранять данные о размере и положении формы в реестре. Можете проверить: запустите программу, а затем выйдите из неё и посмотрите в реестре (с помощью программы regedit) раздел HKEY_CURRENT_USER\Software\reg_test там и будут наши данные.
Теперь нам надо считывать данные из реестра и соответственно изменять размеры и положение формы. Напишем обработчик события на создание формы:
procedure TForm1.FormCreate(Sender: TObject);
var
reg:TRegistry;
begin
reg:=TRegistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;
reg.OpenKey('software\reg_test',true);
form1.Top:=reg.ReadInteger('top');
form1.Left:=reg.ReadInteger('left');
form1.Width:=reg.ReadInteger('width');
form1.Height:=reg.ReadInteger('height');
reg.CloseKey;
reg.Free;
end;
Не изученный метод здесь только ReadInteger. Ну как вы наверное догадались, этот метод служит для считывания значения ключа из реестра. Кроме ReadInteger существуют ещё следующие методы:
ReadBinaryData(const Name: String; var Buffer; BufSize: Integer): Integer;
ReadBool(const Name: String): Boolean;