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_CURRENT_USER;
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 necessary }
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_CURRENT_USER;
reg.DeleteKey('Software\MyCompanyName\MyApplication');
reg.DeleteKey('Software\MyCompanyName');
reg.CloseKey();
reg.Free;
end;
Uses
- System.Win.Registry.TRegistry ( fr | de | ja )
- System.Win.Registry.TRegistry.Create ( fr | de | ja )
- System.Win.Registry.TRegistry.KeyExists ( fr | de | ja )
- System.Win.Registry.TRegistry.OpenKey ( fr | de | ja )
- System.Win.Registry.TRegistry.WriteDateTime ( fr | de | ja )
- System.Win.Registry.TRegistry.WriteString ( fr | de | ja )
- System.Win.Registry.TRegistry.WriteExpandString ( fr | de | ja )
- System.Win.Registry.TRegistry.CloseKey ( fr | de | ja )
- System.Win.Registry.TRegistry.DeleteKey ( fr | de | ja )
- System.Win.Registry.TRegistry.RootKey ( fr | de | ja )
- System.Win.Registry.TRegistry.Access ( fr | de | ja )