TRegIniFileの使い方
TRegIniFileを使うとレジストリをINIファイルを扱うのと同じ感覚で処理することができます。TRegIniFileはTRegistryから派生しているのでTRegistryのメソッドやプロパティも使用できます。
(注意)TRegIniFileの使い方は、Delphi3.1に追加された「テクニカルハンドブック」にも掲載されているので、参照されることをお勧めします。
TRegIniFileオブジェクトを作成するには
コンストラクタCreateを呼び出すと、TRegIniFileのインスタンスが作られ、このとき指定したキーが存在すれば、そのキーが開かれ、存在しなければ作成されます。TRegIniFileでは主キーは必ずHKEY_CURRENT_USERになります。また、uses節にRegistryを宣言しておく必要があります。
例
regini := TRegIniFile.Create(txtKey.Text);
例えばHKEY_CURRENT_USER\Software\Testを指定するときは'Software\Test'とします。
キーを作成(開く)するには
レジストリをアクセスするためにはINIファイルを開く(または作成する)代わりにキーを開かなければ(または作成)なりません。キーを新たに作成するにはCreateKeyメソッドを使います。すでにキーが存在するときには、OpenKeyを使います。キーが存在するかどうかわからないときは、CreateKeyを使うとキーが存在するときは、そのキーを開きます。
キーの名前はFileNameプロパティに保持されます。
キーを閉じるのはCloseKeyを使います。TRegIniFileのインスタンスをFreeによって破棄すれば、キーは自動的に閉じられます。
例
if regini.CreateKey(txtKey.Text) = False then MessageDlg('キーを作成できない。', mtError, [mbOK], 0);
キーの先頭に\を付ければHKEY_CURRENT_USERに対する絶対位置、付けなければ現在のキーに対する相対位置にキーが作成されます。例えば、\NewKeyとすればHKEY_CURRENT_USER\NewKeyが作成されます。
値を書いたり読んだりするには
値を読むときはReadxxx、値を書くときはWritexxxメソッドを使います。
例
4: // 整数を書く begin regini.WriteInteger('Software\MyApp', 'IntValue', StrToInt(txtValue.Text)); end; 5: // 整数を読む begin iValue := regini.ReadInteger('Software\MyApp', 'IntValue', 0); txtValue.Text := IntToStr(iValue); end;TRegistryIniFileについて
Delphi4でTRegistryIniFileが追加されました。機能、使い方はTRegIniFileとほとんど同じですが、メソッドがいくつか追加されているようです。
例
procedure TForm1.Button1Click(Sender: TObject);
var
ini: TRegistryIniFile;
begin
try
ini := TRegistryIniFile.Create('Software\JreWiz')
except
MessageDlg('TRegistryIniFileのインスタンス化に失敗した。', mtError,
[mbOK], 0);
Exit
end;
Edit3.Text := ini.ReadString('', 'JglPkg', '?');
ini.Free;
end;