powerbuilder获取随机数的函数rand
的有关信息介绍如下:
powerbuilder(以下以PB简称)获取随机数使用函数rand,但PB产生的随机数实际上是有规律的,所以大多情况不能直接使用rand函数,需要配合Randomize 函数。
PB中rand函数产生随机数的机制:
PB每次调用rand获取的随机数,实际上是从固定的数组中读取的。
比如语句rand(100),在程序中:
第一次调用,函数返回42。
第二次调用,函数返回68。
第三次调用,函数返回35。
...
也就是:42、68、35、1、70、25、79、59...这样一个数组常量。
程序关闭后重新运行,按照相同的顺序返回相同的值。
Randomize 函数的使用:
上述的机制中提到的数组,PB是通过Randomize函数来指定的。
例如:
Randomize(1),产生随机数顺序为:42、68、35、1、70、25、79、59...
Randomize(2),产生随机数顺序为:46、17、99、96、85、51、91、32...
...
而Randomize(0)则是随机指定,也正是这个参数0,使得rand函数可以真正意义上获取随机数。
rand 函数配合Randomize 函数获取随机数:
int i
string ls_msg
Randomize(0)
for i = 1 to 10
ls_msg += string(rand(100))+'~r~n'
next
messagebox("",ls_msg)
以上代码功能,从1-100中间随机获取10个数



