深圳升蓝软件
数据库开发 .Net技术  |  ASP技术 PHP技术 JSP技术 应用技术类   
Hiblue Software

操作INI文件的COM


March 25,2004
这个是VB的代码,自己新建一个ActiveX DLL,然后改变工程名称和类名称,然后在类中输入如下内容即可。

'//////////////////////////////
'中文名称:INI文件操作类
'英文名称:Blood_INI Class
'作者:Blood
'制作时间:2002.2.8
'版本:1.0
'版权所有 Blood 2002-2003
'//////////////////////////////

'申明变量
Private strAppName As String              'INI小节名称
Private strKeyName As String              'INI项目名
Private strValueStr As String             'INI的项目值
Private strFileName As String             'INI文件名

'申明操作INI文件的API
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 WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As String, ByVal lpFileName As String) As Long

'////////////////////
'开始定义函数
'////////////////////

'定义写INI文件的函数
Public Function WriteINI() As Long
    '通过API将值写入INI文件
    WriteINI = WritePrivateProfileString(strAppName, strKeyName, strValueStr, strFileName)
End Function

'定义读INI文件的函数
Public Function GetINI() As String
Const STRING_SIZE = 255                       '指定字符串长度
Dim lngLength As Long                         '定义API函数返回的长度
Dim strDefault As String * STRING_SIZE        '定义在没有找到指定的项目时返回的默认值
Dim strReturn As String * STRING_SIZE         '定义一个字符串缓冲区

'通过API函数取得INI文件的内容
lngLength = GetPrivateProfileString(strAppName, strKeyName, strDefault, strReturn, STRING_SIZE, strFileName)

'通过判断API函数返回的长度来确定返回的值
If (lngLength = 0) Then
    GetINI = strValueStr
Else
    GetINI = Mid(strReturn, 1, lngLength)
End If

End Function

'////////////////////
'定义函数结束
'////////////////////

'////////////////////
'开始定义属性
'////////////////////

'取得INI文件的名称
Public Property Let FileName(ByVal strFile As String)
    strFileName = strFile
End Property

'取得项目值
Public Property Let ValueStr(ByVal strValue As String)
    strValueStr = strValue
End Property

'取得项目名称
Public Property Let KeyName(ByVal strKey As String)
    strKeyName = strKey
End Property

'取得小节名称
Public Property Let AppName(ByVal strApp As String)
    strAppName = strApp
End Property

'////////////////////
'结束定义属性
'////////////////////
Copyright © 2001-2008 Shenzhen Hiblue Software Team All rights reserved