Function Getini() As String
Dim PassWord As String
PassWord = Space(20)
rstr = GetPrivateProfileString("", "database", "", PassWord, 20, "conn.ini")
Getini = Left(PassWord, rstr)
End Function
Function setProfile(strFileName As String, strSection As String, strName As String, strSave As String) As Boolean
'这个函数是用来对INI文件进行写操作的
'函数说明:
'strFileName 是所要存储的文件名
'strSection 是这个文件中的一个节点名
'strName 是所要查找的字段名
'strSave 是所要替换字段值
Dim strTemp As String
Dim strfileback As String
Dim strreturn As String
strfileback = App.Path & "\xj.tmp" '临时文件是用来存放中转信息的
Open strFileName For Input As #1
Open strfileback For Output As #2
Do While Not EOF(1)
Line Input #1, strTemp
strreturn = strTemp
Print #2, strreturn
If InStr(1, Trim(strTemp), "[") <> 0 Then
If InStr(1, Trim(strTemp), Trim(strSection)) <> 0 Then
Do While Not EOF(1)
Line Input #1, strTemp
If InStr(1, Trim(strTemp), Trim(strName)) <> 0 Then Exit Do '找到所要修改的字段值
strreturn = strTemp
Print #2, strreturn '拷贝不需要的字段值
Loop
strreturn = strName & "=" & strSave '修改
Print #2, strreturn
End If
End If
Loop
Close #1
Close #2
Open strfileback For Input As #1
Open strFileName For Output As #2
Do While Not EOF(1) And EOF(2)
Line Input #1, strreturn
Print #2, strreturn
Loop
Close #1
Close #2
End Function
Function GetProfile(strFileName As String, strSection As String, strName As String) As String
'这个函数是用来对INI文件进行读操作的
'函数说明:
'strFileName 是所要读取的文件名
'strSection 是这个文件中的一个节点名
'strName 是所要查找的字段名
'返回值:
strSectionTemp = ""
strNameTemp = ""
strreturn = ""
On Error GoTo ErrSrchSection
Open strFileName For Input As #1
' 下面这段程序是用来查找节点的
Do While Not EOF(1)
strCharA = Input(1, #1)
If strCharA = "[" Then
Do While Not EOF(1)
strCharB = Input(1, #1)
If strCharB = "]" Then Exit Do
strSectionTemp = strSectionTemp & strCharB
Loop
End If
If strSectionTemp = strSection Then
strCharA = Input(2, #1)
Exit Do
Else
strSectionTemp = ""
End If
Loop
On Error GoTo ErrReadFile
aa:
'下面这段程序是用来查找所要查找的字段的
strNameTemp = ""
Do While Not EOF(1)
strCharA = Input(1, #1)
If strCharA <> "=" Then
strNameTemp = strNameTemp & strCharA '得到名称
Else
Exit Do
End If
Loop
If strNameTemp = strName Then
Line Input #1, strreturn '如果找到与它匹配的字段名,就返回得到的值
Else
Line Input #1, strreturn '如果未找到与它匹配的字段名,就继续找
GoTo aa
End If
Close #1
GetProfile = strreturn
Exit Function
ErrReadFile:
Dim inrRet As Integer
intret = MsgBox("在文件中没有找到所要查找的字段", vbAbortRetryIgnore, "错误信息")
Select Case intret
Case vbAbort
GetProfile = ""
Close #1
Exit Function
Case vbRetry
Resume
Case vbIgnore
Resume Next
End Select
ErrSrchSection:
MsgBox "节点未找到", vbOKOnly
GetProfile = ""
Close #1
End Function