易语言自带的取随机数,取小范围的数字还行,大了就不行了,后面的根本取不到,所以我们需要借且JS来取随机数
1、启动易语言新建一个空白的程序或者模块都可以
2、双击界面,进入代码编辑,在代码界面新建一个子程序,修改为子程序_取随机数_JS
3、让鼠标指针放在上面,按回车添加2个整数型参数,分别命名为【起始值】【终止值】
4、可以把公开勾上,这样可以复制到模块里面进行调用。第一个参数【起始值】设置为可空,如果没有传入参数,默认就是为0
5、添加其他JS代码,完成编写,纯代码在最后,直接复制到易语言界面可以直接调用
6、测试功能是否正确。OK,此代码即使是上百万上千万的随机,也能取到,不像易语言的随机取不到后面的。
纯代码为:
.版本 2 .子程序 子程序_取随机数_JS, 整数型, 公开 .参数 起始值, 整数型, 可空 .参数 终止值, 整数型 .局部变量 Js, 对象 .局部变量 结果, 整数型 CoInitialize (0) ' 初始化COM对象,多线程调用才不会失败 Js.创建 (“ScriptControl”, ) Js.写属性 (“Language”, “JScript”) .判断开始 (起始值 = 0) 结果 = 到整数 (Js.文本方法 (“eval”, “parseInt(Math.random()*(” + 到文本 (终止值) + “+1),10)”)) .判断 (起始值 = 1) 结果 = 到整数 (Js.文本方法 (“eval”, “parseInt(Math.random()*” + 到文本 (终止值) + “+1)”)) .默认 结果 = 到整数 (Js.文本方法 (“eval”, “parseInt(Math.random()*(” + 到文本 (终止值) + “-” + 到文本 (起始值) + “+1)+” + 到文本 (起始值) + “,10)”)) .判断结束 Js.清除 () CoUninitialize () ' 清除 返回 (结果)