VB 读和写配置文件

一个配置文件  config.ini

[FZ34566峰值参数]
判断系数=.1
过滤点数=2
[GB3567峰值参数]
判断系数=.1
过滤点数=8

 

读 

Public Function GetIniStr(ByVal AppName As String, ByVal InKey As String, ByVal FileName As String) As String
On Error GoTo GetIniStrErr

If Len(Trim(InKey)) = 0 Then
GoTo GetIniStrErr
End If

Dim GetStr As String

GetStr = String(256, 0)
GetPrivateProfileString AppName, InKey, "", GetStr, 256, FileName
GetStr = Replace(GetStr, Chr(0), "")

If Len(GetStr) = 0 Then
GoTo GetIniStrErr
Else
GetIniStr = GetStr
GetStr = ""
End If

Exit Function
GetIniStrErr:
' Err.Clear
GetIniStr = ""
GetStr = ""
End Function

 

 

 

Public Function WriteInifile(ByVal Section As String, ByVal InKey As String, _
ByVal InData As String, ByVal FileName As String) As Boolean
On Error GoTo WriteInifileErr
WriteInifile = True
WritePrivateProfileString Section, InKey, InData, FileName
Exit Function
WriteInifileErr:
Err.Clear
WriteInifile = False
End Function

 

 

例如:

写数据:

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

Private Sub mnuGLD3917_Click()

Dim s As String
s = InputBox("请输入GB/T 3567峰值过滤点数", "调整峰值过滤点数", Format(GB3917Interval, "##0"))
If Len(s) <> 0 Or Val(s) <> 0 Then
GB3567Interval = Val(s)
WriteInifile "GB3567峰值参数", "过滤点数", GB3567Interval, App.Path & Config.ini
End If

End Sub

 

posted @ 2012-11-08 11:33  笑笑小白  阅读(3917)  评论(0编辑  收藏  举报