站长蚂蚁论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: 活动 交友 discuz
查看: 368|回复: 0
打印 上一主题 下一主题

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

[复制链接]

879

主题

879

帖子

1071

积分

青年蚂蚁

Rank: 6Rank: 6

积分
1071
跳转到指定楼层
楼主
发表于 2022-6-27 10:14:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
近来有客户说,在条码打印软件网站介绍了如何用脚本编程随机产生数字,他们现在碰到了一个问题是,如何用脚本编程随机产生字母。其实用随机生成也可以随机生成字母,只需要修改字符集合及生成长度即可,但是客户不想用随机生成,要求用脚本编程,咨询该如何设置,方法如下:
在条码打印软件中,点击软件左侧的“实心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,点击编辑。


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

回复

使用道具 举报

关闭

站长推荐上一条 /1 下一条

QQ|Archiver|手机版|小黑屋|站长蚂蚁-站长之家 ( 赣ICP备15000807号

GMT+8, 2024-11-23 10:04

Powered by 蚂蚁站长论坛

© 2007-2024 bbs.jzmayi.com

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