精易论坛

标题: 文本_取随机范围数字 [打印本页]

作者: ﹃路ゝ沉默    时间: 2020-12-30 16:27
标题: 文本_取随机范围数字
精易模块新版本修改了 文本_取随机范围数字,最小值为0 的情况下会返回文本:起始数或结束数都必须≥1,导致用旧精易模块得会出现问题!希望改回旧模式。

作者: 项目部004    时间: 2020-12-30 16:34

@aqwvwv 请给看看!
作者: 850536360    时间: 2020-12-30 18:38
本帖最后由 850536360 于 2020-12-30 18:40 编辑

网页卡了,重复发了
作者: 850536360    时间: 2020-12-30 18:38
  
子程序名返回值类型公开备 注
文本_取随机范围数字文本型 如0-100之间的双数或单数或单双一起!
参数名类 型参考可空数组备 注
起始数整数型如:0
结束数整数型如:100
单双选择整数型1为单,2为双,否则为取单双
变量名类 型静态数组备 注
tmp整数型 
ret整数型 
置随机数种子 ()
tmp = 取随机数 (起始数, 结束数)
判断 (单双选择 = 0)
ret = tmp
判断 (单双选择 = 1)
ret = 位或 (tmp, 1)
判断 (单双选择 = 2)
ret = 位与 (tmp, 4294967294)  ' 0xFFFFFFFE


返回 (到文本 (ret))

作者: 帅气与大侠    时间: 2020-12-30 21:53
可以用这个子程序
  
子程序名返回值类型公开备 注
文本_取随机范围数字文本型 如1-100之间的双数或单数或单双一起!
参数名类 型参考可空数组备 注
起始数整数型如:1
结束数整数型如:1000
单双选择整数型1为单,2为双,否则为取单双
变量名类 型静态数组备 注
临时整数整数型 
置随机数种子 ()
判断 (起始数 > 结束数)
临时整数 = 取随机数 (结束数, 起始数)
临时整数 = 取随机数 (起始数, 结束数)

判断 (单双选择 = 1)
如果真 (临时整数 % 2 = 0)
判断 (临时整数 = 结束数)
临时整数 = 临时整数 - 1
临时整数 = 临时整数 + 1

返回 (到文本 (临时整数))
判断 (单双选择 = 2)
如果真 (临时整数 % 2 = 1)
判断 (临时整数 = 结束数)
临时整数 = 临时整数 - 1
临时整数 = 临时整数 + 1

返回 (到文本 (临时整数))
返回 (到文本 (临时整数))



另外说明下为什么不能用0作为起始数和终止数
因为精易模块里用的是:汇编_取随机数()
因为我也不懂汇编,但是这条命令是有bug的,两个参数都填写为0,结果会溢出,还有终止数不能大于起始数
当初为啥要这要修改的原因忘记了,现在想来好像是不合理的,可以起始数+1,返回的值也-1,就解决问题了
可以跟管理反馈下

作者: shituo    时间: 2020-12-30 22:46
你可以 取随机数 然后到文本不就行了
作者: 项目部004    时间: 2020-12-31 16:52

把开头的判断改成判断起始数等于结束数就直接返回就好了!




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4