赛车

VB经典-操作.ini文件的通用类源代码_a

2020-01-16 15:07:29来源:励志吧0次阅读

一个绝对经典的在VB中操作.ini文件的通用类源代码 程序界面:

源程序:

classIniFile.cls的内容:

Option Explicit

''--------classIniFile.cls 代码----------------

''这里定义了一个classIniFile类

''一个绝对经典的在VB中操作.ini文件的通用类源代码

''程序编写:中国青岛·许家国

'' 2002.6.16

''E-Mail: goj2000@163.com

''HomePage: http://www.gojclub.com

''

''Private member that holds a reference to

''the path of our ini file

Private strINI As String

''Windows 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

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

'' Make a new ini file

strINI = MakePath(strDrv, strDir)

End Sub

Public Sub WriteIniKey(strSection As String, strKey As String, strValue As String)

'' Write to strINI

WritePrivateProfileString strSection, strKey, strValue, strINI

End Sub

Public Function GetIniKey(strSection As String, strKey As String) As String

Dim strTmp As String

Dim lngRet As String

Dim I As Integer

Dim strTmp2 As String

strTmp = String$(1024, Chr(32))

lngRet = GetPrivateProfileString(strSection, strKey, "", strTmp, Len(strTmp), strINI)

strTmp = Trim(strTmp)

[下一页]

strTmp2 = ""

For I = 1 To Len(strTmp)

If Asc(Mid(strTmp, I, 1)) <> 0 Then

strTmp2 = strTmp2 + Mid(strTmp, I, 1)

End If

Next I

strTmp = strTmp2

GetIniKey = strTmp

End Function

Public Property Let INIFileName(ByVal New_IniPath As String)

'' Sets the new ini path

strINI = New_IniPath

End Property

Public Property Get INIFileName() As String

'' Returns the current ini path

INIFileName = strINI

End Property

''***************************************清除KeyWord"键"(Sub)********

Public Function DelIniKey(ByVal SectionName As String, ByVal KeyWord As String)

Dim RetVal As Integer

RetVal = WritePrivateProfileString(SectionName, KeyWord, 0&, strINI)

End Function

''如果是清除section就少写一个Key多一个""。

''**************************************清除 Section"段"(Sub)********

Public Function DelIniSec(ByVal SectionName As String) ''清除section

Dim RetVal As Integer

RetVal = WritePrivateProfileString(SectionName, 0&, "", strINI)

End Function

Form1中的内容:

Option Explicit

''一个绝对经典的在VB中操作.ini文件的通用类源代码示例程序

''程序编写:中国青岛·许家国

'' 2002.6.16

''E-Mail: goj2000@163.com

''HomePage: http://www.gojclub.com

''定义一个.ini类型的变量

Dim DemoIni As New classIniFile

Private Sub Form_Load()

''对控件进行初始化

Text1.Text = "测试一下"

List1.Clear

''定义.ini文件名,并写入一些初始数据

DemoIni.INIFileName = App.Path & "\demoini.ini"

DemoIni.WriteIniKey "系统", "启动路径", App.Path

DemoIni.WriteIniKey "系统", "可执行程序文件名", App.EXEName

''显示保存到.ini文件中的数据

Call CmdRead_Click

End Sub

''退出程序

Private Sub CmdExit_Click()

Unload Me

End Sub

''读取.ini文件中已经存在的数据并显示出来

Private Sub CmdRead_Click()

Dim TestStr As String

List1.Clear

TestStr = DemoIni.GetIniKey("系统", "启动路径")

List1.AddItem "系统 - 启动路径: " & TestStr

TestStr = DemoIni.GetIniKey("系统", "可执行程序文件名")

List1.AddItem "系统 - 可执行程序文件名: " & TestStr

TestStr = DemoIni.GetIniKey("用户自定义", "用户数据")

List1.AddItem "用户自定义 - 用户数据: " & TestStr

End Sub

''保存用户自定义数据到.ini文件中

Private Sub CmdSave_Click()

DemoIni.WriteIniKey "用户自定义", "用户数据", Text1.Text

''显示保存到.ini文件中的数据

Call CmdRead_Click

End Sub

''清除用户自定义段和段中数据

Private Sub CmdDelete_Click()

DemoIni.DelIniKey "用户自定义", "用户数据"

DemoIni.DelIniSec "用户自定义"

''显示保存到.ini文件中的数据

Call CmdRead_Click

End Sub

严重骨质疏松能治好吗
36小时长效治ED
金振口服液好喝么
跌打损伤怎么热敷
分享到: