一個配置文件 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