IniWriteSection
写配置文件(*.ini)的字段数据.
IniWriteSection ( "filename", "section", "data" [, index = 1] )
参数
filename
|
目标 .ini 文件名.
|
section
|
.ini 文件中的字段名.
|
data
|
要写入的数据. 这些数据可以是字符串或数组.
如果数据是字符串, 则每对 关键字=值 必须由 @LF 分隔.
如果数据是数组, 则必须为二维数组,且第二维必须含有两个元素.
|
index
|
[可选] 如果数据是数组, 此参数指定开始写入的数组索引.
默认为 1, 以便 IniReadSection() 的返回值可以立即使用.
对于手动创建的数组, 参数值可能需要依赖数组是如何建立的而有所不同.
如果数据是字串, 则忽略这个参数.
|
返回值
成功:
|
返回 1.
|
失败:
|
返回 0. 如果数据格式无效, 则 @error 设置为 1.
|
备注
标准 INI 文件结构如下:
[字段名]
关键字=值
如果文件不存在, 则创建. 任何目录不存在, 将不会被创建.
关键字和(或)字段将被添加到最后, 并且不按任何规则排序.
如果字段已存在, 数据将覆盖.
如果你想使用 unicode 编码的 ini 文件, 首先创建一个 .ini 文件, 使用 FileOpen() 函数与模式参数设置为 "Unicode UTF16 小编码".
函数示例
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>
Example()
Func Example()
; Create a constant variable in Local scope of the filepath that will be read/written to.
Local Const $sFilePath = _WinAPI_GetTempFileName(@TempDir)
; Create an INI section structure as an array. The zeroth element is how many items are in the array, in this case 3.
Local $aSection[4][2] = [[3, ""], ["Title", "AutoIt"], ["Version", @AutoItVersion], ["OS", @OSVersion]]
; Write the array to the section labelled 'General'.
IniWriteSection($sFilePath, "General", $aSection)
; Read the INI section labelled 'General'. This will return a 2 dimensional array.
Local $aArray = IniReadSection($sFilePath, "General")
; Check if an error occurred.
If Not @error Then
; Enumerate through the array displaying the keys and their respective values.
For $i = 1 To $aArray[0][0]
MsgBox($MB_SYSTEMMODAL, "", "Key: " & $aArray[$i][0] & @CRLF & "Value: " & $aArray[$i][1])
Next
EndIf
; Delete the INI file.
FileDelete($sFilePath)
EndFunc ;==>Example
----------------------------------------
该函数可以通过命令 exect 调用
参见:
IniDelete, IniRead, IniReadSection, IniReadSectionNames, IniWrite, IniRenameSection
exect=IniWriteSection(EnvGet('COMMANDER_INI'),'WWW','k1=Hello'&@LF&'k2=пока') ;; 将Wincmd.ini写入指定键和值的[WWW]部分
© Аверин Андрей для Total Commander Image Averin-And@yandex.ru
|