这是以前8位的计算方法
zbtm_a1:=copy(barcode,1,1);
zbtm_a2:=copy(barcode,3,1);
zbtm_a3:=copy(barcode,5,1);
zbtm_a4:=copy(barcode,7,1);
zbtm_b1:=copy(barcode,2,1);
zbtm_b2:=copy(barcode,4,1);
zbtm_b3:=copy(barcode,6,1);
zbtm_b4:=copy(barcode,8,1);
zbtm_a:=inttostr(strtoint(zbtm_a1)+strtoint(zbtm_a2)+strtoint(zbtm_a3)+strtoint(zbtm_a4));
zbtm_b:=inttostr(strtoint(zbtm_b1)+strtoint(zbtm_b2)+strtoint(zbtm_b3)+strtoint(zbtm_b4));
zbtm_c:=inttostr(3*strtoint(zbtm_a)+strtoint(zbtm_b));
if ((strtoint(zbtm_c) mod 10)<>0) then
begin
Application.MessageBox('此原条码不合法!','警告',mb_ok+MB_ICONWARNING);
end;现在需要更新最新的条码规则,有谁知道吗?
zbtm_a1:=copy(barcode,1,1);
zbtm_a2:=copy(barcode,3,1);
zbtm_a3:=copy(barcode,5,1);
zbtm_a4:=copy(barcode,7,1);
zbtm_b1:=copy(barcode,2,1);
zbtm_b2:=copy(barcode,4,1);
zbtm_b3:=copy(barcode,6,1);
zbtm_b4:=copy(barcode,8,1);
zbtm_a:=inttostr(strtoint(zbtm_a1)+strtoint(zbtm_a2)+strtoint(zbtm_a3)+strtoint(zbtm_a4));
zbtm_b:=inttostr(strtoint(zbtm_b1)+strtoint(zbtm_b2)+strtoint(zbtm_b3)+strtoint(zbtm_b4));
zbtm_c:=inttostr(3*strtoint(zbtm_a)+strtoint(zbtm_b));
if ((strtoint(zbtm_c) mod 10)<>0) then
begin
Application.MessageBox('此原条码不合法!','警告',mb_ok+MB_ICONWARNING);
end;现在需要更新最新的条码规则,有谁知道吗?
解决方案 »
- delphi 程序运行着一段时间之后出现 存放体空间不足 无法处理此命令 怎么回事?
- 谁知道那里有《代码编辑器组件》?
- 关于IdTcpServer控件的使用,有点困难!!!!
- 在DelpHi中怎样发送电子邮件?(急)
- [100分请教]公司实习初学Delphi,问几个DBGrid的菜问题,请大家帮忙!
- 现在我想用sql sever做数据库了,不知从何入手啊
- delphi有前途吗?
- 怎么没办法保存数据?
- 向高手请教:怎样屏蔽windows2000的热启动键?急!急!!急!!!
- 如何把button上的文字分两行?我实在是找不到答案了
- 求解决方案(动态状态监控 + 地图图示)
- Delphi调用存储过程并显示结果。
按照GB 12904-2008标准,中国采用的商品条码共4种,EAN-13(13位)、EAN-8(8位)、UPC-A(12位)、UPC-E(8位),没有11位的标准。
http://www.makebarcode.com/images/symbologies/upca.gif
很可能是你用的条码扫描系统对UPC-A条码的识别有问题。你可以试验一下你的程序能否读到这些条码(先不校验是否合法,只是读,然后显示,看看是否正确)。