Option Explicit On
Module INI
'INICont.bas Ver 1.0+a INI '====================================================================
'GetIntFromINI( sectionName , keyName , defaultValue, iniPath )
'
' sectionName:节点名
' keyName :配置项名
' defaultValue:默认值
' iniPath :INI配置文件的路径
'
'====================================================================
//声明从INI配置文件中获取类型为Int的配置项的值的系统函数
Private Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal nDefault As Integer, ByVal lpFileName As String) As Integer
//声明从INI配置文件中获取类型为string的配置项的值的系统函数
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Integer, ByVal lpFileName As String) As Integer
//声明向INI配置文件中写入类型为string的配置项的值的系统函数
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Integer
//从INI配置文件中获取类型为Int的配置项的值
Public Function GetIntFromINI(ByVal sectionName As String, ByVal keyName As String, ByVal defaultValue As Integer, ByVal iniPath As String) As Integer
GetIntFromINI = GetPrivateProfileInt(sectionName, keyName, defaultValue, iniPath)
End Function
//从INI配置文件中获取类型为string的配置项的值
Public Function GetStrFromINI(ByVal sectionName As String, ByVal keyName As String, ByVal defaultValue As String, ByVal iniPath As String) As String
Dim buffer As String
Dim rc As Integer
buffer = Space(256)
rc = GetPrivateProfileString(sectionName, keyName, defaultValue, buffer, buffer.Length, iniPath)
GetStrFromINI = Left(buffer, InStr(buffer, vbNullChar) - 1)
End Function
//向INI配置文件中写入类型为string的配置项的值
Public Function WriteStrINI(ByVal sectionName As String, ByVal keyName As String, ByVal setValue As String, ByVal iniPath As String) As Integer
Dim rc As Integer
rc = WritePrivateProfileString(sectionName, keyName, setValue, iniPath)
If rc Then
rc = 1
End If
WriteStrINI = rc
End Function
End Module