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

    技术2022-05-11  140

    一个绝对经典的在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  DeclaresPrivate 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 & "/" & strDirEnd 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, strINIEnd 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 = strTmpEnd Function

    Public Property Let INIFileName(ByVal New_IniPath As String)    '  Sets  the  new  ini  path    strINI = New_IniPathEnd Property

    Public Property Get INIFileName() As String    '  Returns  the  current  ini  path    INIFileName = strINIEnd 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_ClickEnd Sub

    '退出程序Private Sub CmdExit_Click()    Unload MeEnd 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 "用户自定义 - 用户数据: " & TestStrEnd Sub

    '保存用户自定义数据到.ini文件中Private Sub CmdSave_Click()    DemoIni.WriteIniKey "用户自定义", "用户数据", Text1.Text        '显示保存到.ini文件中的数据    Call CmdRead_ClickEnd Sub

    '清除用户自定义段和段中数据Private Sub CmdDelete_Click()    DemoIni.DelIniKey "用户自定义", "用户数据"    DemoIni.DelIniSec "用户自定义"        '显示保存到.ini文件中的数据    Call CmdRead_ClickEnd Sub

     

     


    最新回复(0)