IniWrite

標準形式の .ini ファイルに値またはセクションを書き込みます。

IniWrite Value, Filename, Section, Key
IniWrite Pairs, Filename, Section

パラメータ

型:文字列

Keyの等号(=)の右側に書き込まれる文字列または数値です。

文章が長い場合は、続きの部分によっていくつかの短い行に分割することで、読みやすさや保守性を向上させることができるかもしれません。

Pairs

型:文字列

.iniファイルに書き込むセクションの完全な内容([SectionName]ヘッダを除く)です。キーは省略する必要があります。ペアは空白行を含んではならない。セクションが既に存在する場合は、最後のkey=valueペアまでが上書きされます。ペアには、等号(=)を含まない行を含めることができますが、この場合、結果に矛盾が生じることがあります。コメントはファイルに書き込むことができますが、IniReadで読み返す際には取り除かれます。

Filename

型:文字列

.iniファイルの名前。絶対パスが指定されていない場合は、A_WorkingDirにあると仮定されます。

Section

型:文字列

.iniファイル内のセクション名で、角括弧内に表示される見出し語です(このパラメータに括弧は含めないでください)。

Key

型:文字列

.iniファイル内のキー名です。

エラー処理

失敗したときはOSErrorをスローします。

例外の発生有無にかかわらず、A_LastErrorにはオペレーティングシステムのGetLastError()関数の結果が設定されます。

備考

65,535文字より長い値は、ファイルに書き込むことができますが、通常IniReadや他のアプリケーションで正しく読み取ることができないため、一貫性のない結果をもたらす可能性があります。

標準的なiniファイルは次のようなものです:

[SectionName]
Key=Value

新しいファイルは、ユニコード文字の全範囲を使用できるように、UTF-16のバイト順マークで作成されます。もしこれが望ましくない場合は、IniWriteを呼び出す前にファイルが存在することを確認してください。事例:

; ANSIエンコーディングでファイルを作成します。
FileAppend "", "NonUnicode.ini", "CP0"

; バイトオーダーマークのない UTF-16 ファイルを作成します。
FileAppend "[SectionName]`n", "Unicode.ini", "UTF-16-RAW"

ユニコード:IniReadとIniWriteは、値の読み書きに外部関数GetPrivateProfileStringと WritePrivateProfileStringに依存しています。これらの関数は、UTF-16ファイルでのみUnicodeをサポートし、それ以外のファイルではシステムのデフォルトのANSIコードページを使用するものとします。

IniDelete, IniRead, RegWrite

標準フォーマットの.iniファイルのsection2にあるキーに値を書き込みます。

IniWrite "this is a new value", "C:\Temp\myfile.ini", "section2", "key"