Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

pierrot_98

[델파이] 레지스트리 등록 본문

IT/Delphi

[델파이] 레지스트리 등록

pierrot_98 2020. 1. 15. 20:14
uses
  ..., Registry; //Registry 추가
 
type
  TForm1 = class(TForm)
    ...
    ...
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    function SaveToReg(root: HKEY; path, name, value: string): Boolean;
    function ReadToReg(root: HKEY; path, name: String; var value: string): Boolean; 
  public 
  end;
  
...
...

procedure TForm1.Button1Click(Sender: TObject);
begin
  //
  if SaveToReg(HKEY_LOCAL_MACHINE,'SOFTWARE\WOW6432Node\ORACLE\HOME0', 'NLS_LANG', 'AMERICAN_AMERICA.US7ASCII' ) then
  begin
    //Success
    memo1.Text := 'Success';
  end else
  begin
    //Error
  end;
end;


procedure TForm1.Button2Click(Sender: TObject);
var
  value: String;
begin
  if ReadToReg(HKEY_LOCAL_MACHINE,'SOFTWARE\WOW6432Node\ORACLE\HOME0', 'NLS_LANG', value ) then
  begin
    //Success
    memo1.Text := value;
  end else
  begin
    //Error
  end;
end;

function TForm1.ReadToReg(root: HKEY; path, name: String; var value: string): Boolean;
var
  MyRegisty: TRegIniFile;
begin
  Result := True;
  try
    try
      MyRegisty := TRegIniFile.Create(''); //
      MyRegisty.RootKey := root;
      MyRegisty.OpenKey(path, True);
      value := MyRegisty.ReadString('', name, '');
    except
      Result := False;
    end;
  finally
    MyRegisty.Free;
  end;
end;

function TForm1.SaveToReg(root: HKEY; path, name, value: string): Boolean;
var
  MyRegisty: TRegIniFile;
begin
  Result := True;
  try
    try
      MyRegisty := TRegIniFile.Create(''); //
      MyRegisty.RootKey := root;
      MyRegisty.OpenKey(path, True);
      MyRegisty.WriteString('', name, value + #0);
    except
      Result := False;
    end;
  finally
    MyRegisty.Free;
  end;
end;

 

XE2 작성)

 

TRegIniFile 클래스를 사용하여 레지스트리 오라클 캐릭터셋 NLS_LANG 값 쓰기 및 읽기 예제.

 

TRegIniFile을 Ceate할 때 인자를 넣어주고

밑에 RootKey와 OpenKey를 빼주면

해당 Create(path)경로로 세팅 된다. Defalut root key는 HKEY_CURRENT_USER.

 

procedure TForm1.Button1Click(Sender: TObject);
var
  MyRegisty: TRegIniFile;
begin
  try
    MyRegisty := TRegIniFile.Create('Software'); //
    MyRegisty.WriteString('', 'Hello', 'Hello Reg' + #0);
  finally
    MyRegisty.Free;
  end; 
end;

 

Comments