热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

对Ini文件进行操作的类

ModuleIniWorkModuleIniWorkFriendClassclsIniFileClassclsIniFile
Module IniWork Module IniWork

    
Friend Class clsIniFileClass clsIniFile
        
'模块名称 clsIniFile
        '功能描述 提供对Ini文件的一些操作
        '创建日期 20031026
        '开发机构 石家庄天海科技有限公司

        
'声明API函数
        Private Declare Function WritePrivateProfileSection()Function WritePrivateProfileSection Lib "kernel32" Alias "WritePrivateProfileSectionA" (ByVal lpAppName As StringByVal lpString As StringByVal lpFileName As StringAs Integer
        
Private Declare Function GetPrivateProfileString()Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As StringByVal lpKeyName As StringByVal lpDefault As StringByVal lpReturnedString As StringByVal nSize As IntegerByVal lpFileName As StringAs Integer
        
Private Declare Function WritePrivateProfileString()Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As StringByVal lpKeyName As StringByVal lpString As StringByVal lpFileName As StringAs Integer
        
Private objFilesys As Scripting.FileSystemObject  '文件系统对象
        Private fFileName As String '保存Ini文件名


        
'过程名称:fGetIniString
        '功能描述:从ini文件中得到指定Section中的指定Key的值
        '接收参数:SectionName指定Section的名字,指定Key的名字
        '返回参数:返回读出的值
        '创建人员及日期:zzz@20031104
        Public Function fGetIniString()Function fGetIniString(ByVal sSectionName As String, _
                                      
ByVal sKeyName As String, _
                                      
ByVal IniFilePathName As String, _
                                      
Optional ByVal sDefaultValue As String = ""As String

            
Try
                
If Not objFilesys.FileExists(IniFilePathName) Then '如果文件不存在则退出
                    fGetIniString = sDefaultValue
                    
Exit Function
                
End If

                
Dim sValue As String
                sValue 
= Space(255)
                
Dim i, iResult, iPos As Short

                iResult 
= GetPrivateProfileString(sSectionName, sKeyName, sDefaultValue, sValue, Len(sValue), IniFilePathName)
                iPos 
= InStr(1, sValue, Chr(0))
                
If iPos > 0 Then '去掉未尾的chr(0)字符
                    fGetIniString = Mid(sValue, 1, iPos - 1)
                
Else
                    fGetIniString 
= sValue
                
End If
            
Catch ex As Exception
                
Throw New Exception("Error In fGetIniString!!!" & vbCrLf & _
                                    
"Source:" & ex.Source.ToString() & "Message:" & ex.Message)
            
End Try
        
End Function



        
'过程名称:sInitializeIniFile
        '功能描述:初始化ini文件对象,保存文件名字
        '接收参数:FullIniName要处理的ini文件名字(全路途文件名),bNoExistCreate如果文件不存是否创建
        '返回参数:
        '创建人员及日期:zzz@20031104
        Public Sub sInitializeIniFile()Sub sInitializeIniFile(ByVal FullIniName As StringOptional ByVal bNoExistCreate As Boolean = True)
            
Try
                
If Not objFilesys.FileExists(FullIniName) And bNoExistCreate Then '如果文件不存在并且需要创建则创建
                    WritePrivateProfileSection("Created Date""Created=" & Today & " " & TimeOfDay & Chr(0& Chr(0), FullIniName)
                
End If
                fFileName 
= FullIniName
            
Catch ex As Exception
                
Throw New Exception("Error In sInitializeIniFile!!!" & vbCrLf & _
                                        
"Source:" & ex.Source.ToString() & "Message:" & ex.Message)
            
End Try
        
End Sub



        
'过程名称:fWriteIniSection
        '功能描述:将包含多个key及key值的数组写入ini文件中的指定Section
        '接收参数:SectionName指定要写入的Section,FieldArr表示key及key值的字符串如
        '          FieldArr(0) = "a=0"    FieldArr(0) = "b=1",如果Section不存在则创建
        '返回参数:成功返回True,否则返回False
        '创建人员及日期:zzz@20031104
        Public Function fWriteIniSection()Function fWriteIniSection(ByVal SectionName As StringOptional ByRef FieldArr As Object = NothingAs Boolean
            
Try
                
Dim iResult As Short
                
If Not objFilesys.FileExists(fFileName) Then
                    fWriteIniSection 
= False
                    
Exit Function
                
End If
                
'
                Dim sTemp As String
                sTemp 
= ""

                
Dim i As Short
                
If Not IsNothing(FieldArr) Then
                    
For i = LBound(FieldArr) To UBound(FieldArr)
                        sTemp 
= sTemp + FieldArr(i) & Chr(0)
                    
Next
                
End If

                sTemp 
= sTemp & Chr(0)
                iResult 
= WritePrivateProfileSection(SectionName, sTemp, fFileName)
                fWriteIniSection 
= iResult <> 0
            
Catch ex As Exception
                
Throw New Exception("Error In fWriteIniSection!!!" & vbCrLf & _
                                        
"Source:" & ex.Source.ToString() & "Message:" & ex.Message)
            
End Try
        
End Function



        
'过程名称:fWriteIniString
        '功能描述:将单个key及key值写入ini文件中的指定Section
        '接收参数:SectionName指定要写入的Section,KeyName表示key的名字,KeyValue表示key的值
        '返回参数:成功返回True,否则返回False
        '创建人员及日期:zzz@20031104
        Public Function fWriteIniString()Function fWriteIniString(ByVal SectionName As String, _
                                        
ByVal KeyName As String, _
                                        
ByVal KeyValue As String, _
                                        
ByVal IniFilePathName As StringAs Boolean
            
Try
                
Dim iResult As Short
                
If Not objFilesys.FileExists(IniFilePathName) Then '文件不存在则退出
                    fWriteIniString = False
                    
Exit Function
                
End If

                iResult 
= WritePrivateProfileString(SectionName, KeyName, KeyValue, IniFilePathName)
                fWriteIniString 
= iResult <> 0
            
Catch ex As Exception
                
Throw New Exception("Error In fWriteIniString!!!" & vbCrLf & _
                                        
"Source:" & ex.Source.ToString() & "Message:" & ex.Message)
            
End Try
        
End Function


        
Private Sub Class_Initialize_Renamed()Sub Class_Initialize_Renamed()
            
Try
                objFilesys 
= New Scripting.FileSystemObject
            
Catch ex As Exception
                
Throw New Exception("Error In Class_Initialize_Renamed!!!" & vbCrLf & _
                                        
"Source:" & ex.Source.ToString() & "Message:" & ex.Message)
            
End Try
        
End Sub

        
Public Sub New()Sub New()
            
MyBase.New()
            Class_Initialize_Renamed()
        
End Sub


        
Private Sub Class_Terminate_Renamed()Sub Class_Terminate_Renamed()
            
Try
                objFilesys 
= Nothing
            
Catch ex As Exception
                
Throw New Exception("Error In Class_Terminate_Renamed!!!" & vbCrLf & _
                                           
"Source:" & ex.Source.ToString() & "Message:" & ex.Message)
            
End Try
        
End Sub

        
Protected Overrides Sub Finalize()Sub Finalize()
            Class_Terminate_Renamed()
            
MyBase.Finalize()
        
End Sub

    
End Class

End Module

 

推荐阅读
  • 我在尝试将组合框转换为具有自动完成功能时遇到了一个问题,即页面上的列表框也被转换成了自动完成下拉框,而不是保持原有的多选列表框形式。 ... [详细]
  • 本文详细介绍了在PHP中如何获取和处理HTTP头部信息,包括通过cURL获取请求头信息、使用header函数发送响应头以及获取客户端HTTP头部的方法。同时,还探讨了PHP中$_SERVER变量的使用,以获取客户端和服务器的相关信息。 ... [详细]
  • 本文详细介绍了如何在PHP中使用Memcached进行数据缓存,包括服务器连接、数据操作、高级功能等。 ... [详细]
  • 本文介绍了如何通过安装和配置php_uploadprogress扩展来实现文件上传时的进度条显示功能。通过一个简单的示例,详细解释了从安装扩展到编写具体代码的全过程。 ... [详细]
  • Kubernetes Services详解
    本文深入探讨了Kubernetes中的服务(Services)概念,解释了如何通过Services实现Pods之间的稳定通信,以及如何管理没有选择器的服务。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • Unity技巧:实现背景音乐的开关功能
    本文详细介绍了如何在Unity中通过脚本控制背景音乐的开启与关闭,适合初学者参考。 ... [详细]
  • java datarow_DataSet  DataTable DataRow 深入浅出
    本篇文章适合有一定的基础的人去查看,最好学习过一定net编程基础在来查看此文章。1.概念DataSet是ADO.NET的中心概念。可以把DataSet当成内存中的数据 ... [详细]
  • 本文介绍如何通过Java代码调用阿里云短信服务API来实现短信验证码的发送功能,包括必要的依赖添加和关键代码示例。 ... [详细]
  • HDU 2537 键盘输入处理
    题目描述了一个名叫Pirates的男孩想要开发一款键盘输入软件,遇到了大小写字母判断的问题。本文提供了该问题的解决方案及实现方法。 ... [详细]
  • 本文详细探讨了 Android Service 组件中 onStartCommand 方法的四种不同返回值及其应用场景。Service 可以在后台执行长时间的操作,无需提供用户界面,支持通过启动和绑定两种方式创建。 ... [详细]
  • 本文探讨了在 PHP 的 Zend 框架下,使用 PHPUnit 进行单元测试时遇到的 Zend_Controller_Response_Exception 错误,并提供了解决方案。 ... [详细]
  • 本文将详细介绍如何配置并整合MVP架构、Retrofit网络请求库、Dagger2依赖注入框架以及RxAndroid响应式编程库,构建高效、模块化的Android应用。 ... [详细]
  • 本文档旨在提供C语言的基础知识概述,涵盖常量、变量、数据类型、控制结构及函数定义等内容。特别强调了常量的不同类型及其在程序中的应用,以及如何正确声明和使用函数。 ... [详细]
  • Hadoop集群搭建:实现SSH无密码登录
    本文介绍了如何在CentOS 7 64位操作系统环境下配置Hadoop集群中的SSH无密码登录,包括环境准备、用户创建、密钥生成及配置等步骤。 ... [详细]
author-avatar
劳资就是若听_979
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有