读写INI文件的四个函数

    技术2022-05-11  113

    '文件名SourceDB.ini文件Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As LongPrivate Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long

    '以下两个函数,读/写ini文件,固定节点setting,in_key为写入/读取的主键'仅仅针对是非值'Y:yes,N:no,E:errorPublic Function GetIniTF(ByVal In_Key As String) As BooleanOn Error GoTo GetIniTFErrGetIniTF = TrueDim GetStr As StringGetStr = VBA.String(128, 0)GetPrivateProfileString "Setting", In_Key, "", GetStr, 256, App.Path & "/SourceDB.ini"GetStr = VBA.Replace(GetStr, VBA.Chr(0), "")If GetStr = "1" Then   GetIniTF = True   GetStr = ""Else   GoTo GetIniTFErrEnd IfExit FunctionGetIniTFErr:   Err.Clear   GetIniTF = False   GetStr = ""End Function

    Public Function WriteIniTF(ByVal In_Key As String, ByVal In_Data As Boolean) As BooleanOn Error GoTo WriteIniTFErrWriteIniTF = TrueIf In_Data = True Then WritePrivateProfileString "Setting", In_Key, "1", App.Path & "/SourceDB.ini"Else WritePrivateProfileString "Setting", In_Key, "0", App.Path & "/SourceDB.ini"End IfExit FunctionWriteIniTFErr:   Err.Clear   WriteIniTF = FalseEnd Function

    '以下两个函数,读/写ini文件,不固定节点,in_key为写入/读取的主键'针对字符串值'空值表示出错Public Function GetIniStr(ByVal AppName As String, ByVal In_Key As String) As StringOn Error GoTo GetIniStrErrIf VBA.Trim(In_Key) = "" Then   GoTo GetIniStrErrEnd IfDim GetStr As StringGetStr = VBA.String(128, 0) GetPrivateProfileString AppName, In_Key, "", GetStr, 256, App.Path & "/SourceDB.ini"  GetStr = VBA.Replace(GetStr, VBA.Chr(0), "")If GetStr = "" Then   GoTo GetIniStrErrElse   GetIniStr = GetStr   GetStr = ""End IfExit FunctionGetIniStrErr:   Err.Clear   GetIniStr = ""   GetStr = ""End Function

    Public Function WriteIniStr(ByVal AppName As String, ByVal In_Key As String, ByVal In_Data As String) As BooleanOn Error GoTo WriteIniStrErrWriteIniStr = TrueIf VBA.Trim(In_Data) = "" Or VBA.Trim(In_Key) = "" Or VBA.Trim(AppName) = "" Then   GoTo WriteIniStrErrElse WritePrivateProfileString AppName, In_Key, In_Data, App.Path & "/SourceDB.ini"End IfExit FunctionWriteIniStrErr:   Err.Clear   WriteIniStr = FalseEnd Function


    最新回复(0)