レジストリの使い方
レジストリを使うと、アプリケーションが終了した状態を保存したり、デフォルトの値を設定したりが簡単にできます。レジストリはWindowsが管理するデータベースでAPIも用意されていますが、DelphiではTRegistryコンポーネント(非ビジュアル)によって簡単にアクセスできます。
(注意)レジストリの操作はTRegIniFileでも行うことができます。
TRegistryを初期化するには
TRegistryは非ビジュアルコンポーネントなのでコンストラクタを呼び出す必要があります。
例
var
m_reg: TRegsitry;
....
m_reg := TRegistry.Create;
レジストリの内容を読むには
レジストリはキー(ファイルシステムのフォルダに相当)と名前によって識別します。まず、キーを開いてから名前を指定してその内容を読み取ります。キーはRootKeyとサブKeyに分かれていますが、RootKeyはふつうデフォルトのままで使用します。キーは\Software\MyKeyなどと指定します。
例
{ 指定されたキーの指定名の内容(文字列とする)を読む } procedure TForm1.cmdReadClick(Sender: TObject); begin if m_reg.OpenKey(txtSubkey.Text, False) = False then begin MessageDlg('指定したキーが開けません。', mtError, [mbOK], 0); Exit; end; txtValue.Text := m_reg.ReadString(txtName.Text); m_reg.CloseKey; end;
レジストリに内容を書き込むには
読むときと同じにキーを開いてから、名前を指定してデータを書き込みます。その名前がレジストリに登録されていないときは作成されますが、キーがないときはCreateKeyメソッドで作成する必要があります。
例
procedure TForm1.cmdWriteClick(Sender: TObject); begin if m_reg.OpenKey(txtSubkey.Text, False) = False then begin MessageDlg('指定したキーが開けません。', mtError, [mbOK], 0); Exit; end; m_reg.WriteString(txtName.Text, txtValue.Text); m_reg.CloseKey; end;