BarCode ActiveX Control


Часто задаваемые вопросы по программированию штрихкодов

Здесь будут приведены некоторые примеры применения ABarCode-ActiveX. Для того, чтобы сделать их проще, все примеры написаны на MS Visual Basic, но то же самое может быть написано на любом другом языке B.NET, VC.NET, VC++, C#, Delphi, ASP, и т.д.


Как создать невидимый штрихкод в Visual Basic

Для использования ABarcode-ActiveX нет необходимости размещать его на форме, как показано здесь. Вы можете создать невидимый штрихкод из любого приложения включая ваши DLL.
Во первых нужно создать объект, используя функцию CreateObject (как показано ниже). После того как объект создан, его можно использовать так как вам необходимо.
'Создать объект штрихкода
Dim oABarCode As Object
Set oABarCode = CreateObject("ABarCode.ActiveBC.1")

'установить свойства штрихкода
oABarCode.BarText = "Hello world"
oABarCode.BarType = Code128
oABarCode.ShowCheck = False

'использование штрихкода
Dim minWidth As Long
minWidth = oABarCode.MinBarcodeWidth
Call oABarCode.DrawBarcodeToSize(5, 5, minWidth, 45, dmPixels, Form1.hdc)

'уничтожение объекта
Set oABarCode = Nothing



Как напечатать штрихкод из Visual Basic

Есть несколько различных путей для печати штрихкода из Visual Basic.
  1. Используя объект принтера Visual Basic.

    Printer.CurrentX = 2048
    Printer.Print "SBarCode.com, VB Example"


    'ABarCode-ActiveX будет использовать Printer объект
    Call ActiveBC1.SetPrinterHDC(Printer.hdc)

    'напечатать два штрихкода
    Call ActiveBC1.DrawBarcodeToSize(10, 10, 50, 25, dmMM)
    Call ActiveBC1.DrawBarcodeToSize(70, 10, 50, 25, dmMM)

    Printer.EndDoc


    printing a barcode from Visual Basic


  2. Используя методы BarCode-ActiveX.

    'открыть текущий принтер
    Call ActiveBC1.BeginPrint("")

    'напечатать два штрихкода
    Call ActiveBC1.DrawBarcodeToSize(10, 10, 50, 25, dmMM)
    Call ActiveBC1.DrawBarcodeToSize(70, 10, 50, 25, dmMM)

    Call ActiveBC1.EndPrint



  3. Как напечатать штрихкод с необходимым x-dimension.

    Для того чтобы напечатать штрихкод с определенным x-dimension, вы должны правильно установить ширину штрихкода. Вы можете вычислить ширину, используя функцию GetBarcodeWidth.

    Private Declare Function GetDeviceCaps Lib "gdi32" _
    (ByVal hdc As Long, ByVal nIndex As Long) As Long
          
    Private Const LOGPIXELSX = 88
    Private Const LOGPIXELSY = 90
    
    Private Sub PrintBarcode()
        'Создать объект BarCode-ActiveX
        Dim oABarCode As Object
        Set oABarCode = CreateObject("ABarCode.ActiveBC.1")
    
        'установить свойства BarCode-ActiveX
        oABarCode.BarText = "Hello world"
        oABarCode.BarType = Code128
        oABarCode.ShowCheck = False
        Dim barFont As New StdFont
        barFont.Name = "Courier"
        barFont.Size = 36
        barFont.Bold = True
        oABarCode.font = barFont
    
        'открыть текущий принтер
        Call oABarCode.BeginPrint("")
        
        'получить разрешение принтера (dpi - dots per inch)
        Dim dpiX As Long, dpiY As Long
        dpiX = GetDeviceCaps(Printer.hdc, LOGPIXELSX)
        dpiY = GetDeviceCaps(Printer.hdc, LOGPIXELSY)
    
        'вычислить необходимую ширину штрихкода (в мм) для x-dimension равным 0.508 мм (20 Mils)
        Dim barWidth As Double
        barWidth = oABarCode.GetBarcodeWidth(0.508, dpiX, dpiY, dmMM)
    
        'напечатать штрихкод
        Call oABarCode.DrawBarcodeToSize(10, 10, barWidth, 25, dmMM)
    
        Call oABarCode.EndPrint
    
        Set oABarCode = Nothing
    End Sub
    




  www.SBarCode.com