为印染厂做个条形码的系统.不知道这类企业用哪个标准的条码
网上找到一个39码的源代码   不知道是不是和EAN-13条形码一样的吗?
VB6中的Microsoft   Access   BarCode   Control   9.0   的   BarCodeCtrl
可以打印么?
要怎么用,最好可以发个源码
谢啦
[email protected]

解决方案 »

  1.   

    百不行吧
    G都G了好久了
    还有想请教BarCodeCtrl1如何打印出来
    有些帖子说用printform打印    那样不就把按钮
    什么的都打出来了么
      

  2.   

    1)使用条形码字体
    2)使用条码打印机的SDK
      

  3.   

    39  和 EAN-13名字都不用.肯定不一样呀..微软的那个当然可以打印,显示出来直接当图片打印呀.39码源码好多.都不用控件.
      

  4.   

    一个EAN码的示例:
    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的打印没试过,听说打印出来的条码,扫描可能会识别不了...
      

  5.   

    首先你要确认对方使用的是那种打印机,是专业的条码打印机还是普通打印机?条码打印机:使用sdk
    普通打印机:条码字体或自己跟据相关条码的公式在打印机上画线Code39 还是 EAN-13