自從注冊表誕生以來 ini 文件正在逐漸失去其市場占有率,然而基于 ini 文件的獨立性,致使其還沒有到達退出歷史舞臺的地步,很多應用程序的初始化和一些" name="description" />

VB讀寫ini文件

發表于:2007-05-25來源:作者:點擊數: 標簽:INI讀寫宋體文件
MI LY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">自從注冊表誕生以來 ini 文件正在逐漸失去其市場占有率,然而基于 ini 文件的獨立性,致使其還沒有到達退出歷史舞臺的地步,很多應用程序的初始化和一些
 

MILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">自從注冊表誕生以來ini文件正在逐漸失去其市場占有率,然而基于ini文件的獨立性,致使其還沒有到達退出歷史舞臺的地步,很多應用程序的初始化和一些界面參數的設置仍然很愿意從ini文件中讀取,為了保證操作需用參數對ini文件的讀取的通明性,建議使用一個模塊來完成此工作。注:所有操作調用標準的Win API函數來完成。

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

 

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

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97