Function Reference

IniWriteSection

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

IniWriteSection ( "filename", "section", "data" [, index ] )

 

パラメータ

filename .iniファイルのファイル名
section .iniファイル内のセクション名
data 書き込むデータ。dataには文字列、配列の両方が使用できます。dataに文字列を使用する場合、それぞれのkey=valueペアは@LFで区切られてなければなりません。dataに配列を使用する場合、配列は2次元配列でなければならず、2次元目は2要素でなければなりません。
index [オプション]dataに配列を使用する場合、この値で書き込み開始インデックスを指定します。デフォルトではIniReadSection()の返し値がそのまま使用できるように1になっています。手動で配列を作成する場合、この値はその作成方法に応じて異なってきます。dataに文字列を使用する場合、このパラメータは無視されます。

 

返し値

成功 1を返します。
失敗 0を返します。データフォーマットが不正な場合、@errorを1に設定します。

 

注意

標準的なINIファイルは次のようになっています。
[Section名]
Key=Value

ファイルが存在しない場合、作成されます。存在しないディレクトリが作成されることはありません。キー、セクションは末尾に追加されどのようなソートもされません。

セクションがすでに存在する場合、その内容が上書きされます。

 

関連

IniDelete, IniRead, IniReadSection, IniReadSectionNames, IniWrite, IniRenameSection

 


; これから書くINIファイル。デスクトップ上に作成される。
$sIni = @DesktopDir & "\AutoIt-Test.ini"

; 文字列を入力に使用して新しいセクションを作成するデモ
$sData = "Key1=Value1" & @LF & "Key2=Value2" & @LF & "Key3=Value3"
IniWriteSection($sIni, "Section1", $sData)

; 配列を入力に使用して新しいセクションを作成するデモ
$aData1 = IniReadSection($sIni, "Section1") ; 上で書き込んだ内容を読み取る
For $i = 1 To UBound($aData1) - 1
    $aData1[$i][1] &= "-" & $i  ; データを一部変更
Next

IniWriteSection($sIni, "Section2", $aData1) ; 新しいセクションを書き込み

; 手動で配列を作成し入力に使用するデモ
Dim $aData2[3][2] = [ [ "FirstKey", "FirstValue" ], [ "SecondKey", "SecondValue" ], [ "ThirdKey", "ThirdValue" ] ]
; 要素0から作成したため、IniWriteSection()が要素0から使用するよう設定する。
IniWriteSection($sIni, "Section3", $aData2, 0)