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 String
    On Error GoTo Err_ReadIniFile
    Dim temp As String * 1024, n As Integer, I As Integer
    n = 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 Next
    Dim n As Long
    n = 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 = FilePath

13  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 <> "" Then
   Text_Menu.Text = Replace(iniTmp, "※※", "※" & vbCrLf & "※")
End If 
'写ini
Call WriteIniFile(IniFileName, "配置规则", "规则", Replace(strTmp, vbCrLf, ""))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值