简介
日常生活我们用到的条形码非常多,一般超市购物商品上的条码就是我们常用的EAN13类型的。一般条码的最后一位是校验位,用于判断条码是否符合规则的,下面我们就用C#做一下自动生成带校验的13位条码。
视频演示效果
核心代码
/// <summary> /// 生成条码 /// </summary> /// <param name="code">原始编码</param> /// <param name="bwcode">条码补位码</param> /// <returns></returns> public string GetBarCode(string code,char bwcode) { //条码校验 string ENA_13str = "131313131313"; //定义输出条码 string barcode = ""; //临时生成条码 string tmpbarcode = code; //判断条码长度不足12位用补位码补足 if (tmpbarcode.Length < 12) { tmpbarcode = tmpbarcode.PadLeft(12, bwcode); } //计算校验位 string checkstr = ""; int sum = 0, j = 0; for (int i = 0; i < ENA_13str.Length; i++) { sum = sum + int.Parse(tmpbarcode [i].ToString()) * int.Parse(ENA_13str [i].ToString()); } //取余数,如果余数大于0则校验位为10-J,否则为0 j = sum % 10; if (j > 0) checkstr = (10 - j).ToString(); else checkstr = "0"; //获取最后条码 barcode = tmpbarcode + checkstr; return barcode; }
项目演示
我们新建一个项目名称为barcodesign
然后主窗体加上几个控件,下图中的红色为给控件起的名称
然后我们在代码里加入上面的核心代码
我们在Button按钮上双击写入事件
最后生成效果
-END-