|
INI文件内容:
- [A]
- 1=1
- 2=2
- 3=3
- [B]
- 1=3
- 2=2
- 3=1
- 4=0
- [C]
- A=C
- B=B
- C=A
复制代码
枚举结果:
- * “--------节:A--------”
- * “名称:1 值:1”
- * “名称:2 值:2”
- * “名称:3 值:3”
- * “--------节:B--------”
- * “名称:1 值:3”
- * “名称:2 值:2”
- * “名称:3 值:1”
- * “名称:4 值:0”
- * “--------节:C--------”
- * “名称:A 值:C”
- * “名称:B 值:B”
- * “名称:C 值:A”
复制代码
有bug在楼下回复。
- .版本 2
- .支持库 spec
- .程序集 程序集1
- .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码
- _临时子程序 () ' 在初始化代码执行完毕后调用测试代码
- 返回 (0) ' 可以根据您的需要返回任意数值
- .子程序 _临时子程序
- .局部变量 ini文件名, 文本型
- .局部变量 节名称表, 文本型, , "0"
- .局部变量 计数, 整数型
- .局部变量 名称表, 文本型, , "0"
- .局部变量 值表, 文本型, , "0"
- .局部变量 计数2, 整数型
- ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
- ini文件名 = 取运行目录 () + “\Test枚举.ini”
- 写配置项 (ini文件名, “A”, “1”, “1”)
- 写配置项 (ini文件名, “A”, “2”, “2”)
- 写配置项 (ini文件名, “A”, “3”, “3”)
- 写配置项 (ini文件名, “B”, “1”, “3”)
- 写配置项 (ini文件名, “B”, “2”, “2”)
- 写配置项 (ini文件名, “B”, “3”, “1”)
- 写配置项 (ini文件名, “B”, “4”, “0”)
- 写配置项 (ini文件名, “C”, “A”, “C”)
- 写配置项 (ini文件名, “C”, “B”, “B”)
- 写配置项 (ini文件名, “C”, “C”, “A”)
- 枚举配置项节名称 (ini文件名, 节名称表)
- .计次循环首 (取数组成员数 (节名称表), 计数)
- 枚举配置项 (ini文件名, 节名称表 [计数], 名称表, 值表, 假)
- 调试输出 (“--------节:” + 节名称表 [计数] + “--------”)
- .计次循环首 (取数组成员数 (名称表), 计数2)
- 调试输出 (“名称:” + 到文本 (名称表 [计数2]) + “ 值:” + 到文本 (值表 [计数2]))
- .计次循环尾 ()
- .计次循环尾 ()
- .子程序 枚举配置项, 逻辑型, 公开, 通过配置项节名称枚举出所有的配置项名称与值
- .参数 配置文件名, 文本型, , 指定配置文件的名称,通常以.ini作为文件名后缀。
- .参数 节名称, 文本型, , 通过指定节名称列出所有的配置项名称与值
- .参数 配置项名称表, 文本型, 参考 数组, 枚举结果将通过参考数组的方式写入变量中。
- .参数 配置项值表, 文本型, 参考 数组, 1行中只能有1个等于号,否则可能会出现问题。
- .参数 读入注释, 逻辑型, 可空, 是否将分号后面的文本写入配置项值表中。
- .局部变量 内容分割, 文本型, , "0"
- .局部变量 行数, 整数型
- .局部变量 计数, 整数型
- .局部变量 取到的节, 文本型
- .局部变量 开始行, 整数型
- .局部变量 结束行, 整数型
- .局部变量 行, 文本型
- .局部变量 内容分割2, 文本型, , "0"
- .局部变量 分割数, 整数型
- .局部变量 计数2, 整数型
- .局部变量 文本2, 文本型
- .局部变量 内容分割3, 文本型, , "0"
- 重定义数组 (配置项名称表, 假, 0)
- 重定义数组 (配置项值表, 假, 0)
- 内容分割 = 分割文本 (到文本 (读入文件 (配置文件名)), #换行符, )
- 行数 = 取数组成员数 (内容分割)
- .计次循环首 (行数, 计数)
- .判断开始 (行是否为节 (内容分割 [计数], 取到的节) 且 取到的节 = 节名称)
- 开始行 = 计数 + 1
- .判断 (开始行 > 0 且 行是否为节 (内容分割 [计数]))
- 结束行 = 计数 - 1
- 跳出循环 ()
- .默认
- .判断结束
- .计次循环尾 ()
- .判断开始 (开始行 = 0)
- 返回 (假)
- .判断 (结束行 = 0)
- 结束行 = 行数
- .默认
- .判断结束
- .变量循环首 (开始行, 结束行, 1, 计数)
- 行 = 删首尾空 (内容分割 [计数])
- .如果真 (行 ≠ “” 且 行是否为注释 (行) = 假 且 寻找文本 (行, “=”, , 假) ≠ -1)
- 内容分割2 = 分割文本 (行, “=”, )
- 重定义数组 (内容分割2, 真, 2)
- 加入成员 (配置项名称表, 内容分割2 [1])
- .如果 (读入注释)
- 加入成员 (配置项值表, 内容分割2 [2])
- .否则
- 内容分割3 = 分割文本 (内容分割2 [2], “;”, )
- .如果 (取数组成员数 (内容分割3) = 0)
- 加入成员 (配置项值表, 内容分割2 [2])
- .否则
- 加入成员 (配置项值表, 内容分割3 [1])
- .如果结束
- .如果结束
- .如果真结束
- .变量循环尾 ()
- 返回 (取数组成员数 (配置项名称表) > 0 且 取数组成员数 (配置项值表) > 0)
- .子程序 枚举配置项节名称, 逻辑型, 公开, 通过配置项文件名枚举出所有的节名称
- .参数 配置文件名, 文本型, , 指定配置文件的名称,通常以.ini作为文件名后缀。
- .参数 节名称表, 文本型, 参考 数组, 配置项的所有节名称将通过参考数组写入变量中。
- .局部变量 内容分割, 文本型, , "0"
- .局部变量 计数, 整数型
- .局部变量 行, 文本型
- .局部变量 节名称, 文本型
- 重定义数组 (节名称表, 假, 0)
- 内容分割 = 分割文本 (到文本 (读入文件 (配置文件名)), #换行符, )
- .计次循环首 (取数组成员数 (内容分割), 计数)
- 行 = 删首尾空 (内容分割 [计数])
- .如果真 (行是否为节 (行, 节名称))
- 加入成员 (节名称表, 文本去除左右1字节 (行))
- .如果真结束
- .计次循环尾 ()
- 返回 (取数组成员数 (节名称表) > 0)
- .子程序 行是否为节, 逻辑型
- .参数 ini行, 文本型
- .参数 节名称, 文本型, 参考 可空
- .局部变量 文本, 文本型
- .局部变量 分割文本, 文本型, , "0"
- 文本 = 删首尾空 (ini行)
- .如果真 (寻找文本 (文本, “[”, , 假) = -1 或 寻找文本 (文本, “]”, , 假) = -1 或 行是否为注释 (文本))
- 返回 (假)
- .如果真结束
- 分割文本 = 分割文本 (文本, “]”, )
- 分割文本 = 分割文本 (分割文本 [1], “[”, )
- 节名称 = 分割文本 [2]
- 返回 (分割文本 [2] ≠ “”)
- .子程序 行是否为注释, 逻辑型
- .参数 ini行, 文本型
- 返回 (取文本左边 (删首尾空 (ini行), 1) = “;”)
- .子程序 文本去除左右1字节, 文本型
- .参数 文本, 文本型
- 返回 (取文本中间 (文本, 2, 取文本长度 (文本) - 2))
复制代码
|
|