以文本方式查看主题

-  搭建论坛  (http://bbs.diylsoft.com:8118/starforum/index.asp)
--  经验交流  (http://bbs.diylsoft.com:8118/starforum/list.asp?boardid=5)
----  [讨论]我发现了使用说明中的一个小错误  (http://bbs.diylsoft.com:8118/starforum/dispbbs.asp?boardid=5&id=15466)

--  作者:塞紧猫狼瓶
--  发布时间:2008-2-25 2:29:23
--  [讨论]我发现了使用说明中的一个小错误

初到这里 首先感谢作者提供这么好的软件供我们使用

我发现的这个错误在 构件参考\\随机数 的说明上。原文:

重要属性

l 随机值

数字型,由计算机在一定范围内随机产生的数值。

注意:该值不能人为设置。

l 初值

数字型,设置产生随机数范围的初值。

l 范围

数字型,设置产生随机数范围的最大值。

注意:利用“初值”和“范围”属性,可以指定一个随机数的产生范围。例如产生“50——100”之间的随数,只需定义初值“50”,范围“100”即可。

l 字符串组

串组型,设置随机产生的字符串。

注意:随机字符串的产生范围,即字符串组中字符串的行数,与“初值”和“范围”属性的设置无关。

重要方法

l 得到当前随机值

执行此方法时,随机得到范围内的数值。

l 得到随机字符串。

执行此方法时,随机得到字符串组中的字符。

l 初始随机非重复值

执行此方法时,初始化随机非重复值。

l 得到随机非重复值

执行此方法时,得到随机非重复值。

注意:方法“初始随机非重复值”与“得到随机非重复值”需要联合使用。这是因为“得到随机非重复值”与“范围”属性有关。例如,范围设置为“0——9”,那么得到随机的非重复值只能得到“10”次,第“11”次得到的将是“-1”。因此,在执行“得到随机非重复值”方法之前,必须先执行方法“初始随机非重复值”。

例如:在单击“按钮”后,如图1所示

图1

在循环过程中,事件设置如图2所示

图2

注意:如图3所示的命令设置是不能得到非重复值的,因为在范围内得到非重复值,只需进行一次初始化。这样的命令设置,等于每次得到随机值都对范围进行初始化,因此得到的不是非重复值了。

原文中红色部分就是我认为有争议的地方。事实上经过我的实验证明

l 得到随机非重复值l 得到当前随机值 在“初值”与“范围”的定义上是不同的。

前者的取值范围 最小为 “初值” ; 最大为 (“初值”+“范围”)

后者的取值范围 最小为 “初值” ;(最大为 “范围”-1)

所以原文中第二处红色部分 可以生成的非重复随数应该只有九个 第十个为-1

不信您就自己做个实验

不好意思 本人比较菜 第一篇帖 就写这样的内容 如有不准确的地方欢迎喷我


--  作者:cnnet
--  发布时间:2008-2-25 8:41:49
--  
好像是这样哦,
我测试的也是九个,第十个是-1;但楼主写的好像也有错误,后者的“最大”应是:(初值+范围-1)。
哎,软件开发“看着容易做着难”,软件对了,文档也不一定写对。

--  作者:塞紧猫狼瓶
--  发布时间:2008-2-26 16:42:34
--  
以下是引用cnnet在2008-2-25 8:41:49的发言:
好像是这样哦,
我测试的也是九个,第十个是-1;但楼主写的好像也有错误,后者的“最大”应是:(初值+范围-1)。
哎,软件开发“看着容易做着难”,软件对了,文档也不一定写对。

是是 的确 是:(范围-1) 我写错了


--  作者:admin
--  发布时间:2008-2-26 21:02:01
--  

是这样,我们会修正其中的文档。

建议:楼主你的注册名应改一个,这个名字很容易被无意中删掉。


--  作者:塞紧猫狼瓶
--  发布时间:2008-2-28 20:48:46
--  

这个……不知道

我最不会起名字了 那就盗用一个好了