RAD Studio VCL Reference
|
Stores a string containing unexpanded references to environment variables in a specifically named data value associated with the current key.
procedure WriteExpandString(const Name: string; const Value: string);
__fastcall WriteExpandString(const AnsiString Name, const AnsiString Value);
Call WriteExpandString to store a string that contains unexpanded references to environment variables such as "%PATH%". The string is stored in a data value associated with the current key.
Name is a string containing the name of the data value in which to store data. If Name already exists, its current value is overwritten by WriteExpandString. If Name does not exist, it is created.
Value is a string value to store in the registry.
If WriteExpandString fails, an exception is raised.
C++ Examples:
/* 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, for inserting and deleting the values. */ void __fastcall TForm2::InsertToRegBtnClick(TObject *Sender) { TRegistry* reg = new TRegistry(KEY_READ); reg->RootKey = HKEY_LOCAL_MACHINE; if(!reg->KeyExists("Software\\MyCompanyName\\MyApplication\\")) { MessageDlg("Key not found! Created now.", mtInformation, TMsgDlgButtons() << mbOK, 0); } reg->Access = KEY_WRITE; bool openResult = reg->OpenKey("Software\\MyCompanyName\\MyApplication\\", true); if(!openResult) { MessageDlg("Unable to create key! Exiting.", mtError, TMsgDlgButtons() << mbOK, 0); return; } //checking if the values exist and inserting when neccesary if(!reg->KeyExists("Creation\ Date")) { TDateTime today = TDateTime::CurrentDateTime(); reg->WriteDateTime("Creation\ Date", today); } if(!reg->KeyExists("Licenced\ To")) { reg->WriteString("Licenced\ To", "MySurname\ MyFirstName"); } if(!reg->KeyExists("App\ Location")) { reg->WriteExpandString("App\ Location", "%PROGRAMFILES%\\MyCompanyName\\MyApplication\\"); } if(!reg->KeyExists("Projects\ Location")) { reg->WriteExpandString("Projects\ Location", "%USERPROFILE%\\MyApplication\\Projects\\"); } reg->CloseKey(); } //--------------------------------------------------------------------------- void __fastcall TForm2::DelFromRegBtnClick(TObject *Sender) { //deleting the example registry entries TRegistry* reg = new TRegistry(KEY_WRITE); reg->RootKey = HKEY_LOCAL_MACHINE; reg->DeleteKey("Software\\MyCompanyName\\MyApplication"); reg->DeleteKey("Software\\MyCompanyName"); reg->CloseKey(); } //---------------------------------------------------------------------------
Delphi Examples:
{ 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;
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|