博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DevExpress:条形码显示控件BarCodeControl
阅读量:6880 次
发布时间:2019-06-26

本文共 1778 字,大约阅读时间需要 5 分钟。

hot3.png

本文为我的.NET控件库DevExpress使用笔记,我的DevExpress版本为13.1

1、控件类型全称:DevExpress.XtraEditors.BarCodeControl

2、控件所在程序集:DevExpress.XtraBars.v13.1.dll

3、工具箱内分类:DX.13.1: Common Controls

4、控件样式截图

135620_KQcW_1425762.png

5、BarCodeControl支持多种方案的条形码,该控件的Symbology属性可以设置具体使用哪种规则生成条形码。以中国的零售商品编码为例,根据国标GB12904-2008中的描述,中国的零售商品编码分为13位代码结构和8位代码结构两种,采用ISO/IEC-15420中定义的EAN/UPC条码码制。因此要想生成国内零售商品的条形码,只需要将Symbology属性设置为EAN13或EAN8,并在Text属性中填入条码数字即可,注意由于条码最右侧的数字为校验位,控件可以自动计算出来,因此不需填写(即上面那张图只需要把Text设置成690123456789就可以了)。

6、如果采用EAN13的编码方式,对应的生成类就是DevExpress.XtraPrinting.BarCode.EAN13Generator,如果采用EAN8的编码方式,对应的生成类就是DevExpress.XtraPrinting.BarCode.EAN8Generator,在某一包含了BarCodeControl的窗体的Designer.cs文件中,考察自动生成的代码可以发现DevExpress将这些生成器类的实例赋值给了BarCodeControl的Symbology属性。EAN8Generator继承自EAN13Generator,所有的生成器类最终继承自同一个基类,即DevExpress.XtraPrinting.BarCode.BarCodeGeneratorBase。

7、BarCodeControl共计支持25种不同的条形码(包括一些二维码),列举如下

Codabar,Code11,Code128,Code39,Code39Extended,Code93,Code93Extended,CodeMSI,DataMatrix,DataMatrixGS1,EAN128,EAN13,EAN8,Industrial2of5,IntelligentMail,Interleaved2of5,Matrix2of5,PDF417,PostNet,QRCode,UPCA,UPCE0,UPCE1,UPCSupplemental2,UPCSupplemental5

附:关于国标 GB 12904-2008 《商品条码 零售商品编码与条码表示》

1)EAN-13条码

143706_A7pI_1425762.png

由BarCodeControl生成的条码(Symbology设置为EAN13,Text设置为690123456789):

135620_KQcW_1425762.png

2)EAN-8条码

143841_f1rr_1425762.png

由BarCodeControl生成的条码(Symbology设置为EAN8,Text设置为6901234):

144104_V0Fz_1425762.png

3)最右侧一位数字为校验码,无论是EAN-13还是EAN-8,它们的校验码计算方法都是一样的,一共分为5步:

(代码位置序号,最右侧校验位为序号1,其他数字的序号从右向左递增)

  1. 从代码位置序号2开始,所有偶数位的数字代码求和。

  2. 将步骤(1)的和乘以3。

  3. 从代码位置序号3开始,所有奇数位的数字代码求和。

  4. 将步骤(2)与步骤(3)的结果相加。

  5. 用10减去步骤(4)所得结果的个位数作为校验码(个位数为0,校验码为0)。

4)根据国际物品编码协会(GS1)统一分配的前缀码,EAN-13条码中,前三位为690-695代表中国大陆,471代表台湾,489代表香港,958代表澳门。

再补充一点:书籍的条形码另有标准(GB/T 12906-2008 《中国标准书号条码》),采用的也是EAN-13条码,最后一位是校验位,只是其他各位数字代表的意义不一样。根据该标准的说法,书籍条形码所代表的数字中,前三位数字是EAN·UCC前缀码,这GS1指定给国际标准书号(ISBN)系统专用的3位数字。

END

转载于:https://my.oschina.net/Tsybius2014/blog/518274

你可能感兴趣的文章
利用pypy提高python脚本的执行速度及测试性能
查看>>
PHP扩展段错误调试
查看>>
移动应用跨平台框架江湖将现终结者?速来参拜来自Facebook的React Native
查看>>
在备份或还原期间启用或禁用备份校验和 (SQL Server)
查看>>
在51CTO的第一篇博文
查看>>
Java学习笔记(16)——Java字符串
查看>>
Android 70道面试题汇总不再愁面试
查看>>
Sitecore7.5 安装指南 -- 补充内容
查看>>
mybaits like查询
查看>>
zookeeper报错问题
查看>>
使用JavaMail发送邮件之发送带附件邮件二
查看>>
Linux新建文件和目录
查看>>
ACM图灵奖
查看>>
android安全机制——权限
查看>>
selenium中implicitly_wait对is_element_present()的影响.md
查看>>
省赛热身赛之 K-Nice
查看>>
windows 2008 r2 远程桌面一个用户多登录配置
查看>>
@blankapp/ui,高可定制和主题化的 React Native 组件库
查看>>
Linux用命令修改分辨率,非常有效
查看>>
我的友情链接
查看>>