开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2693|回复: 12
收起左侧

[已解决] 如何读取配置项的多行内容

 关闭 [复制链接]
结帖率:67% (4/6)
发表于 2017-1-9 21:36:17 | 显示全部楼层 |阅读模式   江苏省无锡市
10精币
请教如何将配置项中的多节点多名称下面的帐号和密码根据需要提取,比如,天字二号只提取二号的3个帐号密码
[天字一号]
帐号=密码
111111|11
222222|22
333333|33
[天字二号]
帐号=密码
aaaaaa|aaa
bbbbbb|bbb
cccccc|ccc
[天字三号]
帐号=密码
AAAAAA|AA
BBBBBB|BB
CCCCCC|CC

最佳答案

查看完整内容

[e=0].版本 2 .支持库 spec .子程序 _按钮1_被单击 .局部变量 文本数组, 文本型, , "0" .局部变量 i, 整数型 枚举 (“[天字一号]”, 文本数组) .计次循环首 (取数组成员数 (文本数组), i) 调试输出 (文本数组 ) .计次循环尾 () .子程序 枚举, 整数型 .参数 节名称, 文本型 .参数 项目数组, 文本型, 数组 .局部变量 num, 整数型 .局部变量 临时数组, 文本型, , "0" .局部变量 i, 整数型 .局部变量 位置行, 整数型 清除数 ...

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳

结帖率:100% (5/5)

签到天数: 14 天

发表于 2017-1-9 21:36:18 | 显示全部楼层   河南省平顶山市
QQ图片20170110053829000000.png

  
子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
文本数组文本型0
i整数型 
枚举 (“[天字一号]”, 文本数组)
计次循环首 (取数组成员数 (文本数组), i)
调试输出 (文本数组 [i])
计次循环尾 ()
子程序名返回值类型公开备 注
枚举整数型 
参数名类 型参考可空数组备 注
节名称文本型
项目数组文本型
变量名类 型静态数组备 注
num整数型 
临时数组文本型0
i整数型 
位置行整数型 
清除数组 (项目数组)
清除数组 (临时数组)
临时数组 = 分割文本 ( #常量1, #换行符, )  ' 将文本分割,得到行数
计次循环首 (取数组成员数 (临时数组), i)
如果真 (临时数组 [i] = 节名称)
位置行 = i  ' 取得目标节名称所在行
如果真 (i > 位置行)  ' 取目标行以下内容
如果真 (取文本左边 (临时数组 [i], 1)“[”)  ' 遇到[ 则判断为新的配置项 跳过
跳出循环 ()
如果真 (临时数组 [i]“帐号=密码”)  ' 很好懂吧
加入成员 (项目数组, 临时数组 [i])

处理事件 ()
计次循环尾 ()
返回 (取数组成员数 (项目数组))


i支持库列表   支持库注释   
spec特殊功能支持库


配置项.zip (35.89 KB, 下载次数: 19)

评分

参与人数 1荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:85% (22/26)

签到天数: 1 天

发表于 2017-1-9 21:40:18 | 显示全部楼层   福建省泉州市
读配置项,在按条件取
回复

使用道具 举报

结帖率:91% (10/11)

签到天数: 14 天

发表于 2017-1-9 22:01:16 | 显示全部楼层   广东省东莞市
这不是INI格式文件.你还是用正则取吧!!
回复

使用道具 举报

结帖率:75% (3/4)
发表于 2017-1-9 22:03:26 | 显示全部楼层   湖北省武汉市
配置项读取就别问了,不会的话去把觅风的教程看一遍
回复

使用道具 举报

结帖率:100% (11/11)

签到天数: 8 天

发表于 2017-1-9 22:21:19 | 显示全部楼层   广东省阳江市
枚举这个节下面的全部项名称,然后,再正常的读配置项方式读取,就可以了下面这个子程序,源码摘自我的精英模块配置类,你可以直接复制到你的程序中使用
当然了,你需要定义个全局的配置文件名,或者再加多个参数,传人要读取的配置文件名

  
子程序名返回值类型公开备 注
枚举项整数型 返回当前配置文件中指定节的项名数量
参数名类 型参考可空数组备 注
节名称文本型
项名称文本型接收当前配置文件中的项名数组
变量名类 型静态数组备 注
N整数型 
配置文件字节集 
开始位置整数型 
结束位置整数型 
配置项组字节集0
项的数量整数型 
配置文件 = 读入文件 (配置文件名)
开始位置 = 寻找字节集 (配置文件, 到字节集 (节名称 + “]”#换行符 ), )
如果真 (开始位置 ≠ -1)
开始位置 = 开始位置 + 取字节集长度 (到字节集 (节名称 + “]”#换行符 ))
结束位置 = 寻找字节集 (配置文件, { 91 }, 开始位置)  ' 91 [
结束位置 = 选择 (结束位置 ≠ -1, 结束位置, 取字节集长度 (配置文件))
配置项组 = 分割字节集 (取字节集中间 (配置文件, 开始位置, 结束位置 - 开始位置 - 2), { 13, 10 }, )  ' -2 是减去 #换行符 13 10 #换行符
项的数量 = 取数组成员数 (配置项组)
重定义数组 (项名称, 假, 项的数量)
计次循环首 (项的数量, N)
项名称 [N]到文本 (取字节集左边 (配置项组 [N], 寻找字节集 (配置项组 [N], { 61 }, ) - 1))  ' 61  =
计次循环尾 ()
返回 (项的数量)


点评

感谢御风软件的回答,你的也是对的,只是qmhmsn回答更详细,没办法只能选一个,所以选择qmhmsn为最佳,再次感谢御风软件的精彩回复,谢谢二位大神   江苏省无锡市  发表于 2017-1-10 12:16
回复

使用道具 举报

结帖率:75% (6/8)
发表于 2017-1-10 00:47:00 | 显示全部楼层   广东省广州市
第一  你的配置项格式不对
第二  配置项只能一项一项的读取
回复

使用道具 举报

结帖率:75% (6/8)
发表于 2017-1-10 00:47:54 | 显示全部楼层   广东省广州市
你写入配置项  需要把你要的内容写在同一行  自己弄个分隔符    和别的文本不冲突  然后取出数据后自己做文本分割
回复

使用道具 举报

结帖率:100% (20/20)
发表于 2017-1-10 04:15:21 | 显示全部楼层   广东省深圳市
你输出配置的时候 把文本加载一起   然后  读取的时候分割他
[天字一号]
账号密码=aaa=111,bbb=222,ccc=333

然后分割,   再分割=
回复

使用道具 举报

结帖率:100% (5/5)

签到天数: 14 天

发表于 2017-1-10 05:38:26 | 显示全部楼层   河南省平顶山市
QQ图片20170110053829000000.png
  
子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
文本数组文本型0
i整数型 
枚举 (“[天字一号]”, 文本数组)
计次循环首 (取数组成员数 (文本数组), i)
调试输出 (文本数组 [i])
计次循环尾 ()
子程序名返回值类型公开备 注
枚举整数型 
参数名类 型参考可空数组备 注
节名称文本型
项目数组文本型
变量名类 型静态数组备 注
num整数型 
临时数组文本型0
i整数型 
位置行整数型 
清除数组 (项目数组)
清除数组 (临时数组)
临时数组 = 分割文本 ( #常量1, #换行符, )  ' 将文本分割,得到行数
计次循环首 (取数组成员数 (临时数组), i)
如果真 (临时数组 [i] = 节名称)
位置行 = i  ' 取得目标节名称所在行
如果真 (i > 位置行)  ' 取目标行以下内容
如果真 (取文本左边 (临时数组 [i], 1)“[”)  ' 遇到[ 则判断为新的配置项 跳过
跳出循环 ()
如果真 (临时数组 [i]“帐号=密码”)  ' 很好懂吧
加入成员 (项目数组, 临时数组 [i])

处理事件 ()
计次循环尾 ()
返回 (取数组成员数 (项目数组))


i支持库列表   支持库注释   
spec特殊功能支持库


配置项.zip (35.89 KB, 下载次数: 7)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表