VB讀寫ini檔案 (轉)

worldblog發表於2007-12-07
VB讀寫ini檔案 (轉)[@more@] 

自從登錄檔誕生以來ini正在逐漸失去其市場佔有率,然而基於ini檔案的獨立性,致使其還沒有到達退出歷史舞臺的地步,很多應用的初始化和一些介面引數的設定仍然很願意從ini檔案中讀取,為了保證操作需用引數對ini檔案的讀取的通明性,建議使用一個模組來完成此工作。注:所有操作標準的Win 來完成。:namespace prefix = o ns = "urn:schemas--com::office" />

Dim Ret As Long

Dim Start As Long

Public FileName As String

Const BufSize = 10240

Dim buf As String * BufSize

Private Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As Long

 

Private Declare Function GetPrivateProfileSection Lib "kernel32" Alias "GetPrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long

 

Private 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

 

Private Declare Function WritePrivateProfileSection Lib "kernel32" Alias "WritePrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpString As String, ByVal lpFileName As String) As Long

 

Private 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

 

Public Sub SetValue(ByVal clsName As String, ByVal key As String, ByVal V As String)

  Ret = WritePrivateProfileString(clsName, key, V, FileName)

End Sub

 

Public Function GetValue(ByVal clsName As String, ByVal key As String) As String

  Ret = GetPrivateProfileString(clsName, key, "", buf, BufSize, FileName)

  Start = 1

  GetValue = RetStr()

End Function

 

Private Function RetStr() As String

  Dim i As Long

   i = InStr(Start, buf, Chr(0))

  If i > Start Then

   RetStr = Mid(buf, Start, i - Start)

  End If

  Start = i + 1

End Function

 

至此已經完成了對一個完整的獨立模組的封裝,接下來就來看看怎麼引用(其實看完上面程式就明瞭了),


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-989645/,如需轉載,請註明出處,否則將追究法律責任。

相關文章