VB学习——ini文件读写
bas 模块中:
' ini读写
Public 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 Long
Public 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'从IniFile中读数据
Function ReadIniFile(FileName As String, AppName As String, KeyName As String) As StringOn Error GoTo Err_ReadIniFileDim temp As String * 1024, n As Integer, I As Integern = GetPrivateProfileString(AppName, KeyName, "", temp, 1024, FileName)ReadIniFile = Mid(temp, 1, n)n = InStr(ReadIniFile, Chr(0))If n > 1 Then ReadIniFile = Left(ReadIniFile, n - 1)Exit Function
Err_ReadIniFile:If MsgBox("错误:" & Err.Description & vbCrLf & "是否继续?", vbYesNo + vbQuestion + vbDefaultButton1, "错误处理") = vbYes Then Resume Next
End Function'写数据到ini中
Function WriteIniFile(FileName As String, AppName As String, KeyName As String, NewKeyName As String)On Error Resume NextDim n As Longn = WritePrivateProfileString(AppName, KeyName, NewKeyName, FileName)
End Function'获取ini文件
Function GetIniFile(Optional FileName As String, Optional FilePath As String)Dim IniFileName As String, mm As Integer
1 On Error GoTo Err_GetIniFile'-------------------------------------
2 If FilePath = "" Then
3 IniFileName = App.Path
4 mm = InStrRev(IniFileName, "\")
5 If mm > 1 Then
6 IniFileName = Left(IniFileName, mm)
7 Else
8 IniFileName = IniFileName & "\"
9 End If
10
11 Else
12 IniFileName = FilePath13 End If
14 IniFileName = IIf(FileName = "", IniFileName & "HTWYIniData.ini", IniFileName & FileName)15 GetIniFile = IniFileName'-------------------------------------
16 On Error GoTo 0
17 Exit Function
Err_GetIniFile:
18 If MsgBox("【错误代码】:" & Err.Number & vbCrLf & "【错误描述】:" & Err.Description & vbCrLf & "【出错位置】: [LocalConfig]→ [GetIniFile]的 " & Erl & "行" & vbCrLf & "是否继续?", vbYesNo + vbQuestion + vbDefaultButton1 + vbMsgBoxSetForeground, "错误处理") = vbYes Then Resume Next
End Function
调用:
IniFileName = GetIniFile("\iniData.ini", App.Path)
'读ini
iniTmp = ReadIniFile(IniFileName, "配置规则", "规则")
If iniTmp <> "" ThenText_Menu.Text = Replace(iniTmp, "※※", "※" & vbCrLf & "※")
End If
'写ini
Call WriteIniFile(IniFileName, "配置规则", "规则", Replace(strTmp, vbCrLf, ""))
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
