一个操作Ini文件的类

' 【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 API 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 )
Loop

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 root 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文件的数据 
     '     注意,如果是字符串,则去掉末尾一个字符 
     '                               [email protected]
    strUser  =   Trim (myIniFile.GetFile( " setting " " username " ))
    strUser 
=   Left (strUser,  Len (strUser)  -   1 )
 

你可能感兴趣的:(一个操作Ini文件的类)