前言:在使用VB编写上位机程序时,想要实现一个功能——每次修改Text文本框中的值后,使得关闭程序后该数值能够保存,在下次打开时可以直接使用。本文介绍了INI文件对该功能的支持。


1.INI文件

  .ini文件是Initializaton File的缩写,即初始化文件,是windows系统配置文件采用的存储格式。

1.1 ini文件格式

  INI文件由段、键、值组成。


  •   用[ ]包括段名,如:[section]
  • 键值对
      一个键对应一个值的索引对,用=连接,如:keyname = value
  • 注释
      注释使用;表示,在该符号后直至该行结束的位置,都为注释

1.2 ini文件实例

  下面是一个ini文件的例子:

工程部]
经理=张三
技术员=李四
工人=王五
[市场部]
经理=刘备
售后前台=关羽
业务员=张飞

2.VB操作

2.1 API声明调用

  VB操作ini文件需要通过windows的API来操作。Windows提供了两个API函数对ini文件进行读写操作。
  要调用这两个API,需要先将这两个函数声明加到程序开头(所有函数过程之前)

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 String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long

  这两个API返回值都是Long类型,非零表示成功,零表示失败,并设置 GetLastError 。

2.2 写ini文件——WritePrivateProfileString

  关于对ini文件的读写操作,提供的API中有很多参数,对于工程应用来说,逐个解释即繁琐又无必要,下面直接以实例展示出来,再标注下需要注意的地方。

Dim writeOK As Long'参数一: Section Name (段的名称)。'参数二: 节下面的键名称。'参数三: 键值的内容。'参数四: ini配置文件的路径名称。
writeOK = WritePrivateProfileString("工程部", "经理", "张三", ".\set1.ini")

注:

  • 参数类型:除了段的名称和ini文件名称外,键值对的参数类型不固定,可为任意类型。但在文本形式存储格式中,建议统一存储成字符串格式。
  • 文件:在写文件名时候,建议用相对路径代替绝对路径,即使用".\",便于程序移植。使用上述API写ini文件时,该目录下不存在该文件,则会创建新文件写入。

2.3 读ini文件——GetPrivateProfileString

Dim readOK As Long
Dim stttr As String'参数一: Section Name (段的名称)。'参数二: 节下面的键名称。'参数三: 找不到键值时候填充的默认值。'参数四: 接收键值的字符串数组。'参数五: 从键值中获取几个字符。'参数六: ini配置文件的路径名称。
stttr = String(260, 0)  '字符数组
readOK = GetPrivateProfileString("工程部", "经理", "默认值", stttr, 22, ".\set1.ini")

注:

  • 字符数组:参数四必须为字符数组,便于操作可将其设为定长字符数组。
  • 字符数:参数五是从键值中截取的字符数,英文占1个字符,中文占2个字符,每个字符串结束后还有一个’\0‘,都需要计算进去。

Windows10下VB6.0开发——ini文件存储参数信息相关推荐

  1. Windows10下VB6.0开发——写入数据到文件操作

    前言:我们在编程中会经常需要将采集到的数据或者设置的参数保存到文件,在此进行VB的文件操作记录. VB保存参数到文件   VB中保存数据到文件的一种操作如下: Dim nHandle As Integ ...

  2. Windows10下VB6.0开发——常见控件使用整理

    前言:以下整理了一些常见控件的使用,关于串口通信的控件的使用,在之前文章介绍过. 1. 单选按钮 -- OptionButton   有很多场景中会需要用到单选按钮,使用单选按钮的基本原则是:在同一个 ...

  3. Windows10下VB6.0开发——常用数值处理函数工具

    前言:下面记录整理了VB中经常使用用于数据转换的工具函数. 数值处理 1. 取不大于n的最大整数--Int a = Int(-5.6) '=-6 a = Int(4.88) '=4 2. 四舍五入取整 ...

  4. Windows10下VB6.0开发——常用的字符串处理函数工具

    前言:下面记录整理了VB中经常使用用于字符串转换的工具函数. 字符串处理 1. 获取字符串长度--Len   Len函数中的一个参数是目标字符串,返回目标字符串的长度,例如num = Len(&quo ...

  5. Windows10下VB6.0开发——利用PictureBox控件实现数据点实时绘图

    前言:VB中可以利用PictureBox控件实现数据点实时绘图功能. 1. 控件PictureBox   下面是PictureBox的图标:   将该控件拖到目标位置后调整它的形状大小,修改它的背景色 ...

  6. Win10下VB6.0开发之串口通信基础(二)代码功能篇

    MSComm控件串口通信开发 1. MSComm控件的处理流程   MSComm在适当时候引发控件的处理流程主要分为两步: 1)通过事件驱动处理连接端口通信   在收发一个字符或者生一个事件时,不管是 ...

  7. Win10下VB6.0开发之错误--无法打开对象窗口和代码窗口

    错误:Win10下使用VB6.0打开一个.vbp文件时,打不开对象窗口和代码窗口 解决办法:找了很久之后才发现,笔者所用笔记本外接了扩展显示屏,在断开外接显示屏连接后,打开VB,再重新外接显示屏即可. ...

  8. Win10下VB6.0开发之串口通信基础(一)控件属性篇

    前言:VB串口通信的方法一般有两种:一是通过Windows的通信API进行通信:另一种是通过VB的标准控件MSComm来实现.这篇文章要讲的是上位机如何通过VB的串口控件MSComm和下位机进行串口通 ...

  9. Windows下VB6.0开发——关于String类型数据的思考

    前言:之前做工程时候出现了打不开VB工程或者EXE文件打开就闪退的现象,最后一步步调试发现是程序出错.出错的地方竟然是一个小小的String类型数据处理引起的,记录下来. 1. 字符数组和字符串 1. ...

最新文章

  1. C语言中降序qsort通用写法
  2. 使用structure101分析软件包的依赖关系
  3. [react] React的isMounted有什么作用?
  4. idea测试连接mysql报错08001_IDEA连接MySQL(版本8)数据库失败的解决方法(报错08001)...
  5. sklearn中lstm_分别用sklearn和tensorflow做房价预测
  6. 网传梅姨照片竟然是电脑合成的!仅需 100 行代码,你也能做到!
  7. hdu 1874 畅通工程续(求最短距离,dijkstra,floyd)
  8. element-ui中rules使用正则表达式进行校验
  9. 计算机仿真在机械应用,机械系统计算机仿真
  10. 如何保障-数据一致性
  11. 计算机技术对艺术设计的影响,计算机对艺术设计有何影响
  12. 优雅的处理Exception
  13. 万年历打印Java_java实验之打印万年历
  14. PC 先驱克拉克逝世 曾参与开发首款晶体管 PC
  15. 苹果为M1 MacBook Air/Pro提供自助维修服务 维修成本更低
  16. 我的母校照片~~``
  17. 一年200多天不上网 看远望7号船员怎么玩抖音
  18. 【SLAM】视觉SLAM:一直在入门,从未到精通
  19. 关于新加坡IT薪酬和找工作网站
  20. MobRecon: Mobile-Friendly Hand Mesh Reconstruction from Monocular Image阅读笔记

热门文章

  1. Android异常处理——try、catch、finally、throw、throws
  2. 傅里叶变换音频可视化_H5录音音频可视化-实时波形频谱绘制、频率直方图
  3. c# checkbox 外观_2020款日产蓝鸟上市!外观比大众朗逸漂亮,油耗6L 国六,9.59万_搜狐汽车...
  4. linux shell脚本 可以全局使用
  5. ubuntu服务器+apache2绑定域名(以腾讯云域名为例)
  6. python-scrapy框架学习笔记
  7. linux轮训创建文件夹,Linux文件和目录管理相关命令(三)
  8. python爬虫需要调用什么模块_适合新手练习的Python项目有哪些?Python爬虫用什么框架比较好?...
  9. 为什么用python的时候特别卡_【后端开发】python为什么会运行慢
  10. mysql maven 自动生成_【图文经典版】maven自动生成dao层