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

一个绝对经典的在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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值