很多时候我们编一个程序不一定要用到注册表来保存设置(如果说一个程序没有设置就不算好程序了)。INI是一个很好的选择。有人说,Savesetting是一个不错的选择,但是我了解到,不能永久的保存(起码在系统重装的时候会丢失)。于是Ini作为一个Windows配置文件,可以放在本地路径,优势就呈现出来。下面讨论一下这个问题。

在网上看过例子,但是对中文支持不好。。。。(这个是自己写的,实现了对中文的支持)

以下两种方法,喜欢用哪个就用哪个
以下放在模块中
程序代码:  

'***********************************************************
'**模 块 名         ModIniFile
'**作    用         INI文件操作(包括,读、写、删除),很方便,对中文支持很好。
'**作    者         石陆
'**制作日期         2007年12月8日9:57:31
'**修    改
'**修改日期
'**石陆软件屋       http://baidu.bzzo.net
'***********************************************************

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'完成 d:\123.ini 内容如下-------写INI
'
'[main]
'Caption = 石陆软件屋
'例句  SaveINI "main", "Caption", "石陆软件屋", "D:\123.ini"
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'd:\123.ini 内容如下-------读取INI
'
'[main]
'Caption = 石陆软件屋
'例句  GetINI("main", "Caption", "'http://baidu.bzzo.net", "D:\123.ini")
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Option Explicit

Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As Any, ByVal lpFileName As String) As Long

'Const pa As String = "C:\Users\BAIDU-ZCY\Desktop\ccc.ini"
Public Function WriteINI(ByVal Genus As String, ByVal Item As String, ByVal Value As String, ByVal InIname As String) As Long
    WriteINI = WritePrivateProfileString(Genus, Item, Value, InIname)
End Function

Public Function ReadINI(ByVal Genus As String, ByVal Item As String, ByVal Default As String, ByVal InIname As String) As String
    ReadINI = String$(255, 0)
    GetPrivateProfileString Genus, Item, Default, ReadINI, 256, InIname
    ReadINI = Replace(ReadINI, Chr(0), "")
End Function

Sub DelItem(ByVal Genus As String, ByVal Item As String, ByVal InIname As String)
    WritePrivateProfileString Genus, Item, 0&, InIname
End Sub

Sub DelItemAll(ByVal Genus As String, ByVal InIname As String)
    WritePrivateProfileSection Genus, "", InIname
End Sub

Sub DelSec(ByVal Genus As String, ByVal InIname As String)
    WritePrivateProfileSection Genus, 0&, InIname
End Sub


以上是模块的写法,可以 写、读、删

下面是类模块 名字为 classIniFile.cls
程序代码:  

'***********************************************************
'**类模块名         classIniFile
'**作    用         INI文件操作(包括,读、写、删除),很方便,对中文支持很好。
'**作    者         石陆
'**制作日期         2007年12月8日9:47:44
'**修    改
'**修改日期
'**石陆软件屋       http://baidu.bzzo.net
'***********************************************************
Option Explicit

Private strINI As String

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 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

Public Sub WriteIniKey(strSection As String, strKey As String, strValue As String)
    WritePrivateProfileString strSection, strKey, strValue, strINI
End Sub

Public Function GetIniKey(strSection As String, strKey As String, ByVal Default As String) As String
    GetIniKey = String$(255, 0)
    GetPrivateProfileString strSection, strKey, Default, GetIniKey, 256, strINI
    GetIniKey = Replace(GetIniKey, Chr(0), "")
End Function

'***********************************************************
'**属性过程         INIFileName
'**作    用         设置INI文件名字
'**作    者         石陆
'**制作日期         2007年12月8日9:51:59
'**修    改
'**修改日期
'**石陆软件屋       http://baidu.bzzo.net
'***********************************************************
Public Property Let INIFileName(ByVal New_IniPath As String)
    strINI = New_IniPath
End Property

'***********************************************************
'**属性过程         INIFileName
'**作    用         返回INI文件名字
'**作    者         石陆
'**制作日期         2007年12月8日9:53:06
'**修    改
'**修改日期
'**石陆软件屋       http://baidu.bzzo.net
'***********************************************************
Public Property Get INIFileName() As String
    INIFileName = strINI
End Property

Public Function DelIniKey(ByVal SectionName As String, ByVal KeyWord As String)
     WritePrivateProfileString SectionName, KeyWord, 0&, strINI
End Function

Public Function DelIniSec(ByVal SectionName As String)      '清除section
    WritePrivateProfileString SectionName, 0&, "", strINI
End Function



VB部分相关文章推荐

※VB快速读取 TextBox 第 N 行的资料

※VB禁止使用 Alt-Tab 或 Ctrl-Alt-Del

※生成迷宫的程序

※另一方法转换大小写

※VB控件注册 - 利用资源文件将dll、ocx打包进exe文件

※VB利用资源文件进行工作

※[转]vb高效编程(优化)

※VB阳历转阴历

※纯VB代码取得硬盘的物理序列号

※VB获得磁盘的文件系统

※做VB的,经常注册和反注册OCX控件和DLL链

※VB从程序中生成Exe文件

※VB6监视/操作剪贴板示例(VB6.0代码)

※VB6里自动提交/自动填表的一种相对通用的方案

※VB移动没有标题的窗体

※VB随机字母的函数

※VB删除带子文件夹和文件的文件夹

※VB怎样屏蔽 Alt+F4键

※VB 隐藏进程

※vb屏蔽文本框点右键时的弹出菜单

※VB手控Combobox的打开或收起

※在VB中INI文件的读写、删除(对中文支持很好)

※vb全局热键的写法(占很少的资源)

※vb取消文本框的粘贴功能

※VB常用文件操作类

※VB获取特殊文件夹

※VB获取windows各常用目录的函数(模块)

※VB生成太极图

※VB:常用内部函数大全,你会了几个呢?

※vb中SendMessage函数

※精简VB程序的代码

※VB:将数字转换为大写中文

※VB:设定 MsgBox 在若干时间之后若无回应则自动关闭

※VB:读取及设定NumLock/CapsLock/ScrollLock的值

※VB:您知道 Mid$ 函量可以放在 '=' 的左方吗

※VB后台获得按键,并执行自己的函数(非钩子及热键)

※VB:将短文件名格式转成长文件名

※在vb中使用Iphlpapi.dll获取网络信息(上)

※在vb中使用Iphlpapi.dll获取网络信息(下)

更多精彩>>>

在VB中INI文件的读写、删除(对中文支持很好)相关推荐

  1. vs.net 打开.xaml文件编辑界面_怎么保护可移动磁盘中的文件防止被删除

    怎么保护可移动磁盘中的文件防止被删除呢?如何针对U盘文件进行保护呢?怎么实现U盘读写权限控制呢?接下来就与大家分享一下有关U盘文件保护防止被删除的具体方法,希望能帮助大家. 方法/步骤 1 针对可移动 ...

  2. vb在服务器上新建文件夹,vb.net-如果不存在,如何在VB中创建文件夹?

    vb.net-如果不存在,如何在VB中创建文件夹? 我为自己编写了一个小小的下载应用程序,以便我可以轻松地从服务器上获取一组文件,然后将它们全部放入带有全新安装的Windows的新PC上,而无需实际运 ...

  3. java 二进制 文件比较_Java中对文件的读写操作之比较

    Java 中对文件的读写操作之比较 作者:Jeru Liu 日期:November 29,2000 版本:1.0 纪念在chinaasp积分过一百呕心原创一篇(Java 中对文件的读写操作之比较)拿分 ...

  4. C# ini文件的读写

    ini文件的读写 using System; using System.IO; using System.Runtime.InteropServices; using System.Text;name ...

  5. Windows系统中哪些文件夹可以删除

    Windows系统中哪些文件夹可以删除 windows文件夹中的哪些文件可以删除 经过以下的设置后,你的系统会更加清爽.简洁.高效! 1.打开"我的电脑"-"工具&quo ...

  6. 在计算机窗口中什么中的文件不能被删除,在Windows操作系统中,“回收站”可以恢复(1)上使用键删除的文件或文件夹。在“我的电脑”窗口中,...

    55题库为您解答: 正确答案:B 解析:本题考查Windows操作系统应用的基本知识.在Windows操作系统中,"回收站"可以恢复硬盘上使用Del>键删除的文件或文件夹.& ...

  7. python文件读写_python文件操作-读写删除复制总结

    1. read三种不同的方式 f = open('hello.txt') #'hello.txt'指的是文件的名称 while True: text = f.readline() #读取文件指针指向的 ...

  8. python读文件操作-python文件操作-读写删除复制总结

    1. read三种不同的方式 f = open('hello.txt') #'hello.txt'指的是文件的名称 while True: text = f.readline() #读取文件指针指向的 ...

  9. vb 解析ini文件_PHP文件及运行(适合PHP初学者)

    PHP文件及运行(适合PHP初学者) PHP文件可包含HTML.JavaScript代码和 PHP代码,换句话说PHP 代码可以嵌入HTML文档.PHP文件名以php为后缀. PHP代码以" ...

最新文章

  1. R语言使用plot函数和lines函数可视化线图(line plot)时、图之间的主要区别是由选项type产生的、type参数常用参数说明、不同type生成的可视化图像对比
  2. SAP MM 经过审批之后的PR单据被MRP RUN 之后Overwrite问题之对策
  3. c#中位运算符的运用
  4. 计算机专业毕业求职,计算机专业毕业生求职简历
  5. Swing的设计是MVC的典范
  6. 世纪大争论:Linux还是GNU/Linux?
  7. 【Mac】mac 安装 prometheus 报错 prometheus: prometheus: cannot execute binary file
  8. mexopenCV的配置学习过程
  9. Android中 requestCode与resultCode的区别与用法
  10. %99的C语言初学者都会犯的错误——奇妙的数组(玄学)
  11. 操作系统——Windows 控制台命令
  12. Autojs4脚本大合集(薅羊毛专业版的脚本)
  13. java 调用 axis2_java调用WebService服务 axis2实现方式
  14. 恒凯USB数据采集卡在国产麒麟操作系统下的应用(二)Python环境设置及数据采集实验
  15. 渣渣渣变渣渣系列(8)
  16. Expat XML parser
  17. JAVA——取输入范围在1-999内数字最大值,可自动排除无关项
  18. [Unity]滑动条与图片填充与滑动条填充(滑动条和Image的关联)
  19. animation unity 速度_animator下怎么控制指定动画的播放速度
  20. 计算机组装win7实训报告,计算机基础1实验报告win7基本操作.docx

热门文章

  1. 华为三星折叠手机可看不可摸;小米架构再调整;杨幂 AI 换脸视频制作者回应 | 极客头条...
  2. 京东扩招 1.5 万员工;程维卸任快的打车法人;库克纪念乔布斯 64 岁诞辰 | 极客头条...
  3. 两岁的微信小程序,创造超 5000 亿的价值
  4. 最近谷歌苹果亚马逊扎堆收购的公司,会不会下一个就是你?
  5. PHP 7.3 比 PHP 7.0 快 22%,即将进入特性冻结阶段
  6. Android 危险!
  7. 特朗普前竞选经理犯罪证据曝光,竟是因不会 PDF 转换!
  8. python编程输入,Python编程:输入变量返回nam
  9. 输入矩阵java_java如何输入一个自定义矩阵
  10. mysql 关键字搜索 排名_mysql 的 查找 与 排序