程序思路如下:窗口1有构件“列表框”、“普通按钮”、“配置文件”、“随机数”,单击“普通按钮”后产生一个随机数和配置文件WEN.ini的WEN段的所有项目内容逐一比较,若相同就将FILE段下和WEN段下项目名称相同的项目内容在“列表框”中显示。
WEN.ini文件:
[WEN]
A=12
B=45
C=45
D=74
……
[FILE]
A=we
B=come
C=thank
D=love
……
例:若随机数为12,则列表框显示we,若随机数为45,则列表框显示come和thank
请问这个循环比较该如何设置,若如能附实例将不胜感激!
这个问题好解决,放一个记数循环构件,将FILE段下和WEN段下项目名称如A、B、C置换为数字1、2、3等,然后利用记数循环的当前值逐个读取比较就行了。
可问题是不能将项目名称置换为1.2.3因为还牵涉到其他问题。请问还有别的办法吗?
有,加一个条件选择构件和多个比较判断构件,
1、在条件选择构件的条件中设1、2、3,,,(多少视情况而定);
2、在记数循环的过程中取记数循环的当前值与条件比较;
3、条件等于1,取随机数与WEN段下的A的内容比较,条件等于2、3,,,依次取B、取C,,,;
4、如果1相同就取WEN段下的名称A,如果2相同就取WEN段下的名称B、,,;
5、最后读取与A、B、C,,,等相同两段内容即可。
谢谢,引力波。但该方法不合我用,因为配置文件随着软件的使用项目会自动添加,而比较的项目也会越来越多,所以无法在制作软件时就把条件都设定好。但还是十分感谢你的帮助。
引力波已经给出了解决方法。不过,构件使用过于繁杂,不应是最优解。下面给出另一种思路。
配置文件:wen.ini,内含[wen]、[file]两个段。
不可视构件:配置文件、文本文件、随机数、计数循环、比较判断、变量组
可视构件:列表框、普通按钮(2)
创建窗口事件:
读配置文件
取自定义字符“wen”
赋给段名称
得到该段的项目列表
赋给文本文件的文件内容
得到文本文件总的行数
赋给计数循环的结束值
得到随机值
赋给变量X
解释:
创建窗口事件用于得到配置文件,WEN段下的项目总数,以便确定循环次数。把随机数赋给变量X,以便于循环时比较。
“执行”按钮事件:开始计数循环。
在“循环过程”中:
得到循环的当前值
赋给文本文件的当前行号
得到文本文件的当前行值
赋给配置文件的项目名称
得到配置文件的项目内容
得到变量X
比较以上两个参数
如果不同,下跳一行
解释:由于创建窗口时的设置,文本文件的内容与配置文件[wen]段内的项目名称列表是一致的。
而配置文件没有当前行号和当前行值属性,因此利用文本文件构件配合使用。
在进行比较时,如果“相同”:
跳出循环
得到自定义字符串“file”
赋给配置文件的段名称
得到文本文件的当前行值
赋给配置文件的项目名称
得到配置文件的项目内容
在列表框中增加一项
解释:动态的得到段名称赋给配置文件,这不一定要用两个配置文件。
下载实例:
配置文件与文本文件的连用