FAQ TBarCode OCX
Códigos de Barras en Crystal Reports 8
Códigos de Barras en Crystal Reports 8
No es posible añadir TBarCode directamente en un informe, pero puede crear una imagen de código de barras "sobre la marcha" y cargarla en un cuadro de imagen. Siga las instrucciones a continuación para ver cómo funciona la integración de TBarCode en Crystal Reports 8.
Integración mediante Cuadro de Imagen (Ejemplo VB6)
En un formulario (llamado “Form1”) inserte un control TBarCode (llamado “tbc”) y un cuadro de imagen (llamado “TmpPicture1”). Luego añada el código de la función siguiente al formulario. Crea una imagen de código de barras „sobre la marcha“ y usa el cuadro de imagen como superficie de dibujo.
Public Function BarcodeGenerate(Id As String, Width As Long, Height As Long) As PictureBox
Dim nSizing, cm
tbc.Text = Id
cm = tbc.CountModules
TmpPicture1.Cls
TmpPicture1.ScaleMode = vbPixels
Form1.ScaleMode = vbPixels
Width = ScaleX(Width, vbTwips, vbPixels)
Height = ScaleY(Height, vbTwips, vbPixels)
nSizing = Int(Width / cm)
If nSizing < 1 Then nSizing = 1
TmpPicture1.Width = cm * nSizing
TmpPicture1.Height = Height
DoEvents
tbc.BCDraw TmpPicture1.hDC, 0, 0, TmpPicture1.Width, TmpPicture1.Height
Set BarcodeGenerate = TmpPicture1
End Function
En el código del evento del informe (evento Format) llame a la función generadora de código de barras y asigne la imagen de código de barras recién creada al cuadro de imagen (llamado Picture1) en el informe.
Private Sub Section3_Format(ByVal pFormattingInfo As Object)
'create the barcode for each record set
Dim data As String
data = Field1.Value
Set Me.Picture1.FormattedPicture =
Form1.BarcodeGenerate(data, Me.Picture1.Width, Me.Picture1.Height).Image
End Sub
Integración mediante Archivo de Mapa de Bits (Ejemplo VB6)
En un formulario (llamado “Form1”) inserte un control TBarCode (llamado “TBarCode”) y ajuste el tipo de código de barras y todas las demás opciones según lo desee. Este objeto de código de barras se usará durante la ejecución del informe para la creación de código de barras “sobre la marcha”.
En el código del evento del informe (evento Format), cree una imagen de código de barras dinámica en una carpeta temporal y cargue esta imagen en el cuadro de imagen (llamado pictBarCode) del informe.
Private Sub Section3_Format(ByVal pFormattingInfo As Object)
' Simulate data binding
' by saving the barcode as bitmap with data from fldArticleID
' then reload it to a picture control
On Error Resume Next
Dim nWidth
Dim path
Dim fso
' here we use hard coded temp path (must exist!)
path = "c:\temp\CR8_" & Me.fldArticleID.Value & ".bmp"
' reference the TBarCode Control in the Form1
Form1.TBarCode.Text = Me.fldArticleID.Value
Form1.TBarCode.PrintDataText = False
nWidth = Form1.TBarCode.CountModules * 3 'adapt width to number of graphical modules
Form1.TBarCode.SaveImage path, eIMBmp, nWidth, 100, 96, 96
Me.pictBarcode.SetOleLocation (path)
End Sub
Si no desea añadir un control de código de barras en el formulario, también puede crear una instancia de TBarCode en memoria y aplicar la configuración mediante programación.