您的位置:首页 > 其它

用API函数读写初始化文件(*.ini)的方法

2017-03-15 14:02 417 查看
在易语言中读写初始化文件(*.ini)的方法 易语言有读写配置项的命令,但API的更丰富。以前以为初始化文件也和普通文件的读写方法一样,今天看了一下api for vb 的说明,才知道Windows中已经有一套很简便的读写方法了,想知道吗?follow me!

1.初始化文件的格式(双斜杠后面的是说明): [aaa] //中括号里的是小节名 ver=3.7 //等号之前的是条目名,之后的是数值 title=aaa //等号之前的是条目名,之后的是字串 rrr=0 //等号之前的是条目名,之后的是数值 [bbb] //中括号里的是小节名 sdf=120 //等号之前的是条目名,之后的是数值 ff=4 //等号之前的是条目名,之后的是数值

2.三个dll命令: Dll命令:从初始文件读取数值返回值类型:整数型备注:找到的条目的值;如指定的条目未找到,就返回默认值。如找到的数字不是一个合法的整数,函数会返回其中合法的一部分。如,对于“xyz=55zz”这个条目,函数返回55。这个函数也能理解采用标准C语言格式的十六进制数字

Dll库文件名:kernel32 在Dll库中的命令名:GetPrivateProfileIntA 

参数:初始文件小节名 数据类型:文本型 备注:不区分大小写 

参数:初始文件条目名 数据类型:文本型 备注:不区分大小写 

参数:默认返回值 数据类型:整数型 备注:指定条目未找到时返回的默认值 

参数:初始文件名 数据类型:文本型 备注:初始化文件的名字。

如果没有指定完整的路径名,windows就会在Windows目录中搜索文件

Dll命令:写初始文件返回值类型:整数型备注:非零表示成功,零表示失败 

Dll库文件名:kernel32 在Dll库中的命令名:WritePrivateProfileStringA 

参数:小节名 数据类型:文本型 备注:不区分大小写 

参数:条目名 数据类型:文本型 备注:不区分大小写 

参数:值 数据类型:文本型 备注:为这个项写入的字串值 

参数:初始文件名 数据类型:文本型 备注:初始化文件的名字。

如果没有指定完整路径名,则windows会在windows目录查找文件。如果文件没有找到,则函数会创建它

Dll命令:从初始文件读取字串返回值类型:整数型备注:复制到字串缓冲区的字节数量,其中不包括那些NULL中止字符。如字串缓冲区不够大,不能容下全部信息,就返回 装载到缓冲区的最大数量-1(若小节名或条目名为NULL,则返回 装载到缓冲区的最大数量-2)

Dll库文件名:kernel32 

在Dll库中的命令名:GetPrivateProfileStringA 参数:小节名 数据类型:文本型 备注:不区分大小写 

参数:条目名 数据类型:文本型 备注: 不区分大小写 

参数:默认返回值 数据类型:文本型 备注:指定的条目没有找到时返回的默认值。可设为空("") 

参数:字串缓冲区 数据类型:文本型 备注:指定一个字串缓冲区,长度至少为 装载到缓冲区的最大数量 

参数:装载到缓冲区的最大数量 数据类型:整数型 备注:指定装载到字串缓冲区的最大字符数量 

参数:初始文件名 数据类型:文本型 备注:初始化文件的名字。

如没有指定一个完整路径名,windows就在Windows目录中查找文件

3.源程序举例(初始化文件为当前目录下的一个名为“config.ini”的文件,内容如上):

子程序:读写初始化文件

局部容器:容器1 数据类型:整数型

局部容器:容器2 数据类型:文本型

局部容器:初始化文件名 数据类型:文本型

初始化文件名 = 取运行目录 () + “\”+“config.ini”

容器1 = 从初始文件读取数值 (“aaa”, “ver”, -1, 初始化文件名)

信息框 (“config.ini中aaa小节ver(=3.7)条目的值=” + 到文本 (容器1), 0, )

容器1 = 从初始文件读取数值 (“bbb”, “sdf”, -1, 初始化文件名)

信息框 (“config.ini中bbb小节sdf条目的值=” + 到文本 (容器1), 0, )

容器2 = 取空白文本 (255)

容器1 = 从初始文件读取字串 (“aaa”, “title”, “error”, 容器2, 255, 初始化文件名)

信息框 (“config.ini中aaa小节title条目的值=” + 容器2, 0, )

容器1 = 写初始文件 (“ccc”, “write”, “ture”, 初始化文件名)

如果 (容器1 ≠ 0) 

信息框 (“写入成功!”, 0, ) 

否则 

信息框 (“写入失败!”, 0, ) 

如果结束

*以上程序在e2.04版中测试通过

4.结束语: 看起来很多很复杂,其实很简单的,愿大家都能写出好的易程序来!

9ab8
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  api