扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
程序界面:
源程序:
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
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者