VB原始碼推薦:一個操作Ini檔案的類 (轉)

worldblog發表於2007-12-02
VB原始碼推薦:一個操作Ini檔案的類 (轉)[@more@]

【VB原始碼推薦:一個操作Ini的類】

'--------cIniFile.cls 程式碼----------------
'這裡定義了一個cIniFile類
Option Explicit

'// Private member that holds a reference to
'// the path of our ini file
Private strInI As String

'// Win Declares
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

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 Function MakePath(ByVal strDrv As String, _
 ByVal strDir As String) As String

'// Makes an INI file: Guarantees a sub dir
Do While Right$(strDrv, 1) = ""
 strDrv = Left$(strDrv, Len(strDrv) - 1)
L

Do While Left$(strDir, 1) = ""
 strDir = Mid$(strDir, 2)
Loop

'// Return the path
MakePath = strDrv & "" & strDir
End Function

Public Sub CreateIni(strDrv As String, strDir As String)


'// Make a new ini file
strInI = MakePath(strDrv, strDir)
End Sub

Public Sub WriteFile(strSection As String, _
strKey As String, _
strValue As String)

'// Write to strINI
WritePrivateProfileString strSection, _
 strKey, strValue, strInI
End Sub

Public Function GetFile(strSection As String, _
 strKey As String) As String

 Dim strTmp As String
 Dim lngRet As String

 strTmp = String$(100, Chr(32))
 lngRet = GetPrivateProfileString(strSection, _
 strKey, "", strTmp, _
 Len(strTmp), strInI)
 
 GetFile = strTmp

End Function

Public Property Let INIFile(ByVal New_IniPath As String)

'// Sets the new ini path
strInI = New_IniPath

End Property

Public Property Get INIFile() As String

'// Returns the current ini path
INIFile = strInI

End Property

'--------cIniFile.cls 使用舉例----------------

 Dim myIniFile As New cIniFile
 
 '---指定訪問的ini檔案
 If Len(App.Path) > 3 Then
 'under disk dir , eg: "C:"
 myIniFile.INIFile = App.Path & "setting.ini"
 Else
 myIniFile.INIFile = App.Path & "setting.ini"
 End If
 
 '---寫入ini檔案
 myIniFile.WriteFile "setting", "username", strUser
 
 '---讀出ini檔案的資料
 ' 注意,如果是字串,則去掉末尾一個字元
 ' ----flybird@china.com
 strUser = Trim(myIniFile.GetFile("setting", "username"))
 strUser = Left(strUser, Len(strUser) - 1)


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

相關文章