为印染厂做个条形码的系统.不知道这类企业用哪个标准的条码
网上找到一个39码的源代码 不知道是不是和EAN-13条形码一样的吗?
VB6中的Microsoft Access BarCode Control 9.0 的 BarCodeCtrl
可以打印么?
要怎么用,最好可以发个源码
谢啦
[email protected]
网上找到一个39码的源代码 不知道是不是和EAN-13条形码一样的吗?
VB6中的Microsoft Access BarCode Control 9.0 的 BarCodeCtrl
可以打印么?
要怎么用,最好可以发个源码
谢啦
[email protected]
G都G了好久了
还有想请教BarCodeCtrl1如何打印出来
有些帖子说用printform打印 那样不就把按钮
什么的都打出来了么
2)使用条码打印机的SDK
Option Explicit
'-----------------------------------------------
'EAN码校验位的计算方法
'标准版和缩短版的校验码计算方法相同'从代码位置序号2开始,所有偶数位的数字代码求和为a。
'将上步中的a乘以3为a
'从代码位置序号3开始,所有奇数位的数字代码求和为b。
'将a和b相加为c
'取c的个位数d
'用10减去d即为校验位数值'-----例:234235554652 的校验码的计算如下表:'数据码 校验码'代码位置序号 13 12 11 10 9 8 7 6 5 4 3 2 1
'数字码 2 3 4 2 3 5 5 5 4 6 5 2 ?
'偶数位 3 + 2 + 5 + 5 + 6 + 2
'奇数位 2 + 4 + 3 + 5 + 4 + 5'步骤1:3+2+5+5+6+2=23
'步骤2:23*3=69
'步骤3:2+4+3+5+4+5=23
'步骤4:69+23=92
'步骤5:10-2=8
'步骤6: 校验码为 8
'-----------------------------------------------Function GetEANCode(strBarcode As String, Optional EAN As Long = 13) As String
'strBarcode 输入的条码 / EAN 分为8位和13位
On Error GoTo Err_EAN
Dim i As Long, q As Long, o As Long
Dim s As String
Dim tmp As Long
s = Trim(strBarcode)
'If Not IsNumeric(Trim(s)) Then Exit Function
'If Len(s) < EAN - 1 Or Len(s) > EAN Then
' 'MsgBox "输入数据不正确"
' Exit Function
'End If
s = Left(s, EAN - 1)
strBarcode = s
s = "0" & StrReverse(s) '反向
'条码位置序号 13 12 11 10 9 8 7 6 5 4 3 2 1
'因为EAN码有13位和8位之分,反向后才能保证奇偶位正确
For i = 2 To Len(s)
tmp = Mid(s, i, 1)
If i Mod 2 = 0 Then
o = o + tmp '偶位数相加
Else
q = q + tmp '奇位数相加
End If
Next
tmp = (o * 3) + q '偶位数之和乘3加奇位数之和
tmp = 10 - Right(CStr(tmp), 1) '10减去上面的个位数,得到校验码
GetEANCode = strBarcode & Right(CStr(tmp), 1) '校验码10取0
Exit Function
Err_EAN:
GetEANCode = Err.Description
End Function'调用
Private Sub Command1_Click()
Dim Code As String
Code = "978788412396"
Code = GetEANCode(Code, 13)
BarCodeCtrl1.Value = Code
End Sub
BarCodeCtrl1的打印没试过,听说打印出来的条码,扫描可能会识别不了...
普通打印机:条码字体或自己跟据相关条码的公式在打印机上画线Code39 还是 EAN-13