TRegistry (Object Pascal)

From Appmethod Code Examples
Jump to: navigation, search

Description

This example shows how to use the TRegistry class in order to find, insert, and delete Keys and Items into the Windows Registry. This example uses two buttons-- InsertToRegBtn and DeleteFromRegBtn on a form, for inserting and deleting the values.

Code

procedure TForm3.InsertToRegBtnClick(Sender: TObject);
var
  reg        : TRegistry;
  openResult : Boolean;
  today      : TDateTime;
begin
  reg := TRegistry.Create(KEY_READ);
  reg.RootKey := HKEY_LOCAL_MACHINE;

  if (not reg.KeyExists('Software\MyCompanyName\MyApplication\')) then
    begin
      MessageDlg('Key not found! Created now.',
					        mtInformation, mbOKCancel, 0);
    end;
  reg.Access := KEY_WRITE;
  openResult := reg.OpenKey('Software\MyCompanyName\MyApplication\',True);

  if not openResult = True then
    begin
      MessageDlg('Unable to create key! Exiting.',
                  mtError, mbOKCancel, 0);
      Exit();
    end;

  { Checking if the values exist and inserting when neccesary }

  if not reg.KeyExists('Creation\ Date') then
    begin
      today := Now;
  		reg.WriteDateTime('Creation\ Date', today);
    end;

  if not reg.KeyExists('Licenced\ To') then
    begin
  		reg.WriteString('Licenced\ To', 'MySurname\ MyFirstName');
    end;

  if not reg.KeyExists('App\ Location') then
    begin
  		reg.WriteExpandString('App\ Location',
                            '%PROGRAMFILES%\MyCompanyName\MyApplication\');
    end;

  if not reg.KeyExists('Projects\ Location') then
    begin
  		reg.WriteExpandString('Projects\ Location',
                            '%USERPROFILE%\MyApplication\Projects\');
    end;

  reg.CloseKey();
  reg.Free;

end;

procedure TForm3.DeleteFromRegBtnClick(Sender: TObject);
var
  reg : TRegistry;
begin
  reg := TRegistry.Create(KEY_WRITE);
  reg.RootKey := HKEY_LOCAL_MACHINE;

  reg.DeleteKey('Software\MyCompanyName\MyApplication');
  reg.DeleteKey('Software\MyCompanyName');

  reg.CloseKey();
  reg.Free;

end;

Uses