Delphiでiniファイルを扱う

iniファイルの書き方

まず、iniファイルは下のように記述する

[<セクション名>]
<キー名>=<値>
<キー名>=<値>
[<セクション名>]
<キー名>=<値>
;<コメント>
  • セクション名は行頭から記述し、[と、]で囲む。
  • キー名と値は=(イコール)でつなぐ
  • セクション名とキー名は大文字、小文字を区別せず、スペースを含めない。
  • セクション名、キー名で同じものが複数あった場合、最後のみが有効となる。
  • 行頭に;(セミコロン)を置くと、その行はコメントとして扱われる

DelphiではTIniFileを使う

IniFilesをuses宣言しておく必要がある。

var
    Ini: TIniFile;
    hoge: String; 
begin
    Ini := TIniFile.Create('hoge,ini');  //インスタンス作成時にファイルを指定
読み取り

Read****メソッドで値を読み取る。
例としてReadStringメソッドでは、

    hoge := Ini.ReadString('SECTION', 'key', 'default');

のように第1引数にセクション名、第2引数にキー名、第3引数に値が見つからなかった時のデフォルト値を指定して使う。

書き込み

Read****メソッドに対応するWrite****メソッドがある。
例としてWriteStringメソッドでは、

    Ini.WriteString('SECTION', 'key', 'val');

のように第1引数にセクション名、第2引数にキー名、第3引数に値を指定して使う。

その他

EraseSectionでセクションごと削除することができる
ReadSectionで一つのセクションのキー名を全て取得することができる

注意

TIniFileはWindows APIの制限で64KBまでのiniファイルしか扱えない
より大きいファイルを扱う場合は、TMemIniFileを使う