Use registry instead of *.ini file

Posted in Registry

Ini files are necessary for a storage of an information and parameters of the programs. It is possible to do it with use a registry. This example create HKEY_LOCAL_MACHINE\Greatis Software\Example key with "First page" parameter, which stores a path to rtf file. This file will be loading from this parameter after Button2 click event. You can store boolean, time and others types of variables in registry also.

uses Registry;
...
procedure TForm1.Button1Click(Sender: TObject);
begin
  with TRegistry.Create do
  begin
   LazyWrite:=False;
   RootKey:=HKEY_LOCAL_MACHINE;
   if OpenKey('Greatis Software\Example', True) then
     WriteString('First page', 'c:\overview.rtf')
   else
     MessageDlg('Registry reading error', mtError, [mbOk], 0);
   CloseKey;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  with TRegistry.Create do
  begin
    RootKey:=HKEY_LOCAL_MACHINE;
    if OpenKey('Greatis Software\Example', False) then
    try
      RichEdit1.Lines.LoadFromFile(ReadString('First page'));
    except
      MessageDlg('Can not go to handle', mtError, [mbOk], 0);
    end
    else
      MessageDlg('Registry reading error', mtError, [mbOk], 0);
    CloseKey;
  end;
end;