以文本方式查看主题

-  搭建论坛  (http://bbs.diylsoft.com:8118/starforum/index.asp)
--  用户咨询  (http://bbs.diylsoft.com:8118/starforum/list.asp?boardid=4)
----  [求助]如何设置循环  (http://bbs.diylsoft.com:8118/starforum/dispbbs.asp?boardid=4&id=1374)

--  作者:浆糊童
--  发布时间:2003-9-6 11:54:53
--  [求助]如何设置循环
程序思路如下:窗口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 请问这个循环比较该如何设置,若如能附实例将不胜感激!
--  作者:引力波
--  发布时间:2003-9-6 13:55:31
--  
这个问题好解决,放一个记数循环构件,将FILE段下和WEN段下项目名称如A、B、C置换为数字1、2、3等,然后利用记数循环的当前值逐个读取比较就行了。
--  作者:浆糊童
--  发布时间:2003-9-6 19:27:20
--  
可问题是不能将项目名称置换为1.2.3因为还牵涉到其他问题。请问还有别的办法吗?
--  作者:引力波
--  发布时间:2003-9-6 22:36:23
--  
有,加一个条件选择构件和多个比较判断构件, 1、在条件选择构件的条件中设1、2、3,,,(多少视情况而定); 2、在记数循环的过程中取记数循环的当前值与条件比较; 3、条件等于1,取随机数与WEN段下的A的内容比较,条件等于2、3,,,依次取B、取C,,,; 4、如果1相同就取WEN段下的名称A,如果2相同就取WEN段下的名称B、,,; 5、最后读取与A、B、C,,,等相同两段内容即可。 图片点击可在新窗口打开查看
--  作者:引力波
--  发布时间:2003-9-7 16:02:40
--  
浆糊童,你要的循环设置我已经做好,请下载:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:

--  作者:浆糊童
--  发布时间:2003-9-8 12:29:00
--  
谢谢,引力波。但该方法不合我用,因为配置文件随着软件的使用项目会自动添加,而比较的项目也会越来越多,所以无法在制作软件时就把条件都设定好。但还是十分感谢你的帮助。
--  作者:admin
--  发布时间:2003-9-8 13:22:58
--  
引力波已经给出了解决方法。不过,构件使用过于繁杂,不应是最优解。下面给出另一种思路。 配置文件:wen.ini,内含[wen]、[file]两个段。 不可视构件:配置文件、文本文件、随机数、计数循环、比较判断、变量组 可视构件:列表框、普通按钮(2) 创建窗口事件: 读配置文件 取自定义字符“wen” 赋给段名称 得到该段的项目列表 赋给文本文件的文件内容 得到文本文件总的行数 赋给计数循环的结束值 得到随机值 赋给变量X 解释: 创建窗口事件用于得到配置文件,WEN段下的项目总数,以便确定循环次数。把随机数赋给变量X,以便于循环时比较。 “执行”按钮事件:开始计数循环。 在“循环过程”中: 得到循环的当前值 赋给文本文件的当前行号 得到文本文件的当前行值 赋给配置文件的项目名称 得到配置文件的项目内容 得到变量X 比较以上两个参数 如果不同,下跳一行 解释:由于创建窗口时的设置,文本文件的内容与配置文件[wen]段内的项目名称列表是一致的。 而配置文件没有当前行号和当前行值属性,因此利用文本文件构件配合使用。 在进行比较时,如果“相同”: 跳出循环 得到自定义字符串“file” 赋给配置文件的段名称 得到文本文件的当前行值 赋给配置文件的项目名称 得到配置文件的项目内容 在列表框中增加一项 解释:动态的得到段名称赋给配置文件,这不一定要用两个配置文件。 下载实例:配置文件与文本文件的连用
--  作者:浆糊童
--  发布时间:2003-9-8 16:59:09
--  
Thank you!