科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件VB经典:操作.ini文件的通用类源代码

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

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

作者:goj2000 来源:soft6 2008年5月15日

关键字: 源代码 操作 VB vb.net Windows

  • 评论
  • 分享微博
  • 分享邮件
一个绝对经典的在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

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章