TRegistry (Delphi)
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
- 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 )