APIを使用したINIファイルの読み書き例です。
#uselib "kernel32.dll"
#cfunc WritePrivateProfileString "WritePrivateProfileStringA" sptr, sptr, sptr, sptr
#cfunc GetPrivateProfileInt "GetPrivateProfileIntA" sptr, sptr, int, sptr
#cfunc GetPrivateProfileString "GetPrivateProfileStringA" sptr, sptr, sptr, var, int, sptr
; 数値の書き込み
nFileName = dirinfo(1) + "/test.ini" ; INI ファイルのパス & ファイル名
MainName = "section" ; セクション名
SubName = "inikey" ; キー名
WriteName = str(0) ; 値
Ret = WritePrivateProfileString(MainName, SubName, WriteName, nFileName)
memset nFileName, 0, strlen(nFileName)
memset MainName, 0, strlen(MainName)
memset WriteName, 0, strlen(WriteName)
Ret = 0
; 文字列の書き込み
nFileName = dirinfo(1) + "/test.ini" ; INI ファイルのパス & ファイル名
MainName = "section" ; セクション名
SubName = "strkey" ; キー名
WriteName = "value" ; 値
Ret = WritePrivateProfileString(MainName, SubName, WriteName, nFileName)
memset nFileName, 0, strlen(nFileName)
memset MainName, 0, strlen(MainName)
memset WriteName, 0, strlen(WriteName)
Ret = 0
; 数値の読み込み
nFileName = dirinfo(1) + "/test.ini" ; INI ファイルのパス & ファイル名
MainName = "section" ; セクション名
SubName = "inikey" ; キー名
Ret = GetPrivateProfileInt(MainName, SubName, 0xffffffff, nFileName)
dialog strf("%x", Ret), , "inikey キーの内容"
memset nFileName, 0, strlen(nFileName)
memset MainName, 0, strlen(MainName)
memset WriteName, 0, strlen(WriteName)
Ret = 0
; 文字列の読み込み
sdim nName, 256
nFileName = dirinfo(1) + "/test.ini" ; INI ファイルのパス & ファイル名
MainName = "section" ; セクション名
SubName = "strkey" ; キー名
nDefault = "存在しません"
Ret = GetPrivateProfileString(MainName, SubName, nDefault, nName, 256, nFileName)
dialog nName, , "strkey キーの内容"
stop