Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#2

AW: TRegistry Unterschied zwischen Delphi 7 und 2009

  Alt 6. Mai 2015, 07:44
Ist das, was in der Online-Hilfe steht, nicht hilfreich?
Delphi-Quellcode:
constructor Create; overload;
constructor Create(AAccess: LongWord); overload;
Mit Create wird ein TRegistry-Objekt instantiiert. Dabei erhält die Eigenschaft RootKey den Wert HKEY_CURRENT_USER und die Eigenschaft LazyWrite den Wert true. Wenn der Parameter AAccess übergeben wird, wird dessen Wert für die Initialisierung der Eigenschaft Access verwendet. Ansonsten wird Access mit KEY_ALL_ACCESS initialsiert.
Delphi-Quellcode:
{
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.
}

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();

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();
end;
  Mit Zitat antworten Zitat