动态修改INI文件应用分析

摘 要:INI文件是一个具有简单结构的文本文件,它允许保存和检索一些特殊的信息,其扩展名为INI,是Initialization(初始化)的简称。利用INI文件来保存应用程序的一些配置信息,可以使应用程序更加灵活,减少硬编码,这样使得很多时候可以只修改程序所用的数值而无需重新对程序进行编译。

关键词:INI文件;段落;API函数

中图分类号:TP301 文献标识码:A 文章编号:1672-7800(2011)06-0026-02

0 引言

在Windows 95以前的版本中,Windows使用INI文件来保存系统配置信息。以后的版本中,开始利用注册表来存放系统信息。然而作为一种灵活而有效的存放应用程序信息的方式,INI依然有着广泛的应用。本文中我们首先对INI文件的结构进行了分析,然后用VB语言编写了一个对INI文件进行读写的程序,实现动态修改INI文件。

1 INI文件的结构分析

INI文件的结构非常简单,可以用记事本和任何的文本编辑器进行查看和编辑。INI的3个要素是段落、关键字和数值,其含义如表1所示:

表1 INI文件3要素

要素[]说明

段落[]方括号里的名称,将一系列关键字和数值组合在一起

关键字名[]一个独有的字符串,在一个等号和一个值之前。关键字在某一个特定的段落里必须是唯一的

关键字值[]INI文件中的一个特殊关键字的实际信息。段落和关键字结合在一起用来读写一个数值

现在我们用记事本程序打开的system.ini文件。

在INI文件中,段落和关键字的顺序并不重要,因为段落名和关键字只能指向一个关键字值。在INI文件中,需要注意的是:

①段落必须位于英文的中括号之内,而且“\[”必须在屏幕的第一列;

②关键字名也必须从屏幕的第一列开始书写,且后面必须紧跟(=);

③可以对文件加注释,每行注释必须以分号(;)开头;

④INI 文件中分若干个段 (Section),每个段中有若干个键 (Key)值(Value) 对。

一个键值对保存一条信息;段则将属性类似的一些键值对组织在一起。同一个段中不能出现两次以上同样的键,但不同的段中可以出现相同的键。

在Windows中,可以通过手工编辑INI文件来改变应用程序的设置。也可以通过编写程序来动态地更改INI 文件。尽管INI文件对于保存应用程序的运行环境和一些设置信息非常有用,但是VB中不提供操作INI的函数,我们需要通过对两个Windows API函数的封装调用来实现在VB中操作INI文件的功能。由于INI文件中关键字的值多数为字符串类型和整数类型,因此需要分两种方式用3个API函数进行读写。为了读写 INI 文件,我们可能用到以下 API 函数:GetPrivateProfileInt; GetPrivateProfileString;WritePrivateProfileString。

其中 WritePrivateProfileString 是用来向 INI 文件写信息的,而GetPrivateProfileInt 和 GetPrivateProfileString 则是用来从 INI 文件中读信息的,前者用于读取整型数据,后者则用于读取字符串型数据。

2 一个INI文件读写实例

下面我们建立一个程序创建一个INI文件,读取文件中的关键字值,并把文件读到一个文本框中。在程序中我们建立一个INIMOD模块包含API函数和其他读写文件的函数和过程。

3 结束语

目前利用注册表存放应用程序的配置信息以及其他一些必要的设置是一种流行的方法,然而注册表日益庞大将会使得系统性能下降,而且对注册表的维护需要一定的知识和技术,否则可能会导致整个计算机系统的崩溃;因而使用INI文件来存放应用程序的信息仍然是一种很有意义的方法。

参考文献:

\[1\] CISCO系列丛书.网络设计与个案分析\[M\].北京:清华大学出版社,2001.

\[2\] 刘遵仁,万志方.Windows注册表与修改实例精选\[M\].北京:人民邮电出版社,2002.

\[3\] ROB SCRIMGER.TCP/IP 宝典\[M\].赵刚,译.北京:电子工业出版社,2003.

\[4\] 李存斌,郭晓鹏.Visual Basi高级编程及项目应用开发\[M\].北京:中国水利水电出版社,2003.

(责任编辑:王钊)

推荐访问:修改 文件 分析 动态 INI