找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 157|回复: 0

如何用脚本编程随机产生字母

[复制链接]

348

主题

0

回帖

698

积分

工程师助理

积分
698
发表于 2024-1-10 09:20:49 | 显示全部楼层 |阅读模式
近来有客户说,在条码打印软件网站介绍了如何用脚本编程随机产生数字,他们现在碰到了一个问题是,如何用脚本编程随机产生字母。其实用随机生成也可以随机生成字母,只需要修改字符集合及生成长度即可,但是客户不想用随机生成,要求用脚本编程,咨询该如何设置,方法如下:
在条码打印软件中,点击软件左侧的“实心A”按钮,在画布上绘制一个普通文本对象,双击普通文本,在图形属性-数据源中,点击“修改”按钮,数据对象类型选择“脚本编程”,在下面的状态框中,手动输入要实现的代码,如图所示:

function getRandomArr(arr) {
    var num = arr.length;
    var _arr = arr.concat();
    var n = _arr.length;
    var rs= [];   
    while(n-- && num--) {
        var index = Math.floor(Math.random() * n);
        [_arr[index], _arr[n]] = [_arr[n], _arr[index]];
        rs.push(_arr[n]);
    }
    return rs;
}
var letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");
var result=[];
ran = Math.floor(Math.random() * letters.length);
result.push(letters.splice(ran, 1)[0]);
ran = Math.floor(Math.random() * letters.length);
result.push(letters.splice(ran, 1)[0]);
ran = Math.floor(Math.random() * letters.length);
result.push(letters.splice(ran, 1)[0]);
ran = Math.floor(Math.random() * letters.length);
result.push(letters.splice(ran, 1)[0]);
result = getRandomArr(result);
strReturn=result.join("");
设置好之后,可以点击软件上方工具栏中的“打印预览”按钮,查看批量生成效果,如图所示:
有了上述代码,对其有了解的用户可以根据自己的实际需求对代码进行加工修改,可以变成只生成纯数字的,或者生成的字母中不含有易混淆的字母的如I、O这些;亦或者随机生成更多或更少位数字母的效果等等。
其实用随机生成可以实现一样的效果,绘制普通文本之后,双击普通文本,在图形属性-数据源中,点击“修改”按钮,数据对象类型选择“随机生成”,字符集合修改为“ABCDEFGHIJKLMNOPQRSTUVWXYZ”,生成长度为4,点击编辑。


以上就是有关用脚本编程实现随机产生字母的操作步骤,用随机生成实现的效果也是一样的。每个人的操作习惯不一样,可能觉得简易程度也不一样。不管哪种方式,只要能实现自己想要的效果就行。如果你也对脚本编程感兴趣,可以在条码打印软件中输入你所需的代码,试试能不能达到你想要的效果。


EDA1024论坛免责声明
请勿上传侵权资料及软件! 如果发现资料侵权请及时联系,联系邮件: fenxin@fenchip.com QQ: 2322712906. 我们将在最短时间内删除。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|EDA1024技术论坛

GMT+8, 2024-4-20 17:18 , Processed in 0.043262 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表