阅读:1576回复:4
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, _ |
|
|
1楼#
发布于:2005-08-12 23:36
谢谢!
|
|
2楼#
发布于:2004-12-23 19:31
'程序编写:中国青岛·许家国
' 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 |
|
|
3楼#
发布于:2004-12-23 19:31
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文件的通用类源代码示例程序 |
|
|
4楼#
发布于:2004-12-23 19:31
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) |
|
|