logo
small logo
  • Producto
  • Comprar
  • Ayuda
  • About
  • Consola de usarios Ayuda
    • en
    • de
    • JP
    • ZH
  • Página principal
  • /
  • Blogs
  • /
  • Cómo crear códigos de barras CODE 39 y CODE 39 Extended con Delphi / Lazarus
  • Cómo generar código de barras ITF (intercalado, industrial, matricial) con Delphi / Lazarus / C ++ Builder

    11 de noviembre de 2020

    Un poco de teoría sobre los códigos de barras Es difícil imaginar nuestra vida sin códigos

    read more
  • Hacer un informe detallado en FastReport VCL (Delphi / Lazarus)

    9 de febrero de 2021

    "Drill Down" o "profundización en los datos" es un concepto de muchos aspectos, que puede

    read more
  • Cómo crear un solo informe de varios en Delphi / Lazarus / C++ Builder

    11 de diciembre de 2020

    Me gustaría señalar que FastReport VCL es uno de los componentes más convenientes para generar

    read more
  • Instalación de FastReport en Lazarus

    17 de marzo de 2021

    Como parte del programa educativo Académico, hemos decidido producir algunos artículos de apoyo para los

    read more
  • Trabajar con gráficos y tablas en FastReport VCL

    22 de marzo de 2021

    Seguimos publicando artículos de apoyo para los estudiantes como parte del programa educativo de la

    read more

Cómo crear códigos de barras CODE 39 y CODE 39 Extended con Delphi / Lazarus

23 de octubre de 2020

CODE 39 es el código de barras desarrollado por Intermec Corporation en 1975. En el código de barras se pueden incluir hasta 43 caracteres, incluidos números, letras y algunos símbolos: 0123456789 ABCDEFG HIJKLMNOP QRSTUVWXYZ -. $ / +%. Dado que las cartas pueden manipularse, CODE 39 es indispensable en los campos industriales y se utiliza en industrias como la automotriz y la electrónica. Por ejemplo, en Alemania se utiliza para productos farmacéuticos, pero se utiliza principalmente en almacenamiento. En los EE. UU., El código 39 se estandarizó como ANSI MH 10.8 M-1983 y MIL-STD-1189. Esta norma ha sido cancelada más tarde y reemplazada por ANSI / AIM BC1 / 1995.

Un ejemplo de codificación de caracteres

Estructura del CÓDIGO 39

CODE 39 se llama así por su patrón de barras y espacios, con 3 de 9 barras y espacios amplios. La composición básica es la siguiente:

  • Una letra (carácter) está representada por 9 barras y espacios.

  • Se adjuntan asteriscos (*) al principio y al final del código de barras. (carácter de inicio / parada)

  • El espacio entre caracteres se denomina "espacio entre caracteres". Generalmente, el ancho del espacio es tan ancho como el ancho de la barra estrecha. (Se establece que el ancho máximo es de 3 a 5,3 veces más ancho que el de la barra estrecha).

Brecha entre personajes

Brecha entre personajes

Esta tabla describe la especificación del Código 39. El valor numérico asignado a cada carácter (excepto inicio / parada) se utiliza en el algoritmo de suma de comprobación que se describe a continuación.

Código 39 caracteres (y valores de suma de comprobación)

El código 39 se usa a veces con un dígito de control opcional módulo 43, el código con dígito de control se conoce como Código 39 mod 43.
Así es como se hace el cálculo de la suma de comprobación:

1. Tome el valor (0 a 42) de cada carácter en el código de barras, excluidos los códigos de inicio y parada.
2. Sume los valores.
3. Divida el resultado por 43.
4. El resto es el valor del carácter de suma de verificación que se agregará.

 Ejemplo de CÓDIGO 39

Code 39 Extended es una versión extendida de Code 39 que admite el juego de caracteres ASCII. Puede codificar 128 caracteres: 0123456789 ABCDEFG HIJKLMNOP QRSTUVWXYZ! # $% & '() * +, -. /:; <=>? @ [\] ^ _ `{|} Abcdefg hijklmnopqrs tuvwxyz, que incluye 26 letras mayúsculas ( AZ), 26 letras minúsculas (az) y caracteres especiales con un espacio.

Es importante tener en cuenta que el código de barras Extended Code 39 es aproximadamente dos veces más largo que un código de barras normal Code 39. De acuerdo con ISO 646, estos caracteres se muestran combinando dos caracteres de símbolo, el primero consta de uno de los cuatro caracteres $ +% / y va seguido de una de las 26 letras. Si el decodificador está programado con el conjunto completo de caracteres ASCII, solo se transfiere el equivalente ASCII y no la combinación de caracteres del símbolo.

Code 39 Extended también se puede utilizar con una suma de comprobación opcional módulo 43, y el código con el dígito de comprobación se parece a “CODE 39 EXTENDED mod 43”.

Código 39 Ejemplo extendido

Comparación lado a lado de CODE 39 y CODE 39 Extended

Comparemos las mismas frases en diferentes códigos de barras. En ambos casos, no vemos diferencias en la primera columna. Pero, ¿por qué no hay diferencia? Esto se debe a que los caracteres 0123456789 ABCDEFG HIJKLMNOP QRSTUVWXYZ -. $ / +% en ambos códigos de barras se codifican de la misma manera, pero si reemplaza las letras mayúsculas por minúsculas, aparecen cambios.

Ejemplo extendido de Code 39 y Code 39

Una vez más, en CODE 39 Extended, los caracteres se muestran combinando dos caracteres de símbolo, el primero consta de uno de los cuatro caracteres $ +% / y va seguido de una de las 26 letras.

CÓDIGO 39 y CÓDIGO 39 Ejemplo ampliado

Creación de códigos de barras en el diseñador visual

FastReport VCL le permite utilizar los dos tipos de códigos de barras descritos anteriormente en sus informes. Veamos cómo trabajar con ellos.

En el diseñador de FastReport VCL, agregue el componente obCatBarcode al informe y seleccione el tipo de código de barras de la lista:

 obCatBarcode

A continuación, vaya al editor de códigos de barras:

Editor de código de barras

Código: área para el valor numérico del código de barras;

Tipo de barra: el tipo de código de barras se puede cambiar inmediatamente en el editor sin agregar un nuevo componente al informe;

Calc CheckSum - suma de comprobación. Todos los códigos de barras lineales tienen esta propiedad. ¿Recuerda "perder la lectura"? ¡Debemos combatirlo de alguna manera! Esta propiedad determina si la suma de comprobación debe calcularse automáticamente. Si está deshabilitado, la suma de comprobación debe estar presente en el texto del objeto;

Zoom: establece la escala del código de barras y se usa solo junto con la propiedad "Tamaño automático";

Texto: habilita / deshabilita la visualización de texto debajo del código de barras;

Rotación: le permite establecer la rotación del objeto en uno de los ángulos fijos: 0, 90, 180, 270 grados.

Haga clic en el icono F (x) y acceda al editor de expresiones grandes.

Puede encontrar más detalles por su cuenta en el diseñador de FastReport VCL o en la documentación. enlace 1 y enlace 2

Editor de expresiones


 Configuraciones

Vaya a las propiedades del componente obCatBarcode.


El contenido del campo Código se transferirá al campo Expresión. Si el campo Expresión está vacío, se muestra el texto del campo Texto.

En resumen, el texto es texto estático y la expresión contiene la expresión calculada, incluido el valor del origen de datos.

Creación de un código de barras a partir del código Delphi / Lazarus

CODE 39
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
uses frxBarcod;
 
procedure TForm1.Button1Click(Sender: TObject);
var bc: TfrxBarcodeView;
begin
 bc :=
TfrxBarcodeView(frxReport1.FindObject('BarCode1'));
{Set the type of the barcode}
bc.BarType := bcCode39;
{Set the fixed barcode value}
 bc.Text := '123456';
{Set the calculated barcode value}
//bc.Expression := '<YourDatasetName."FieldName1"> + <YourDatasetName."FieldName2">';
{Set whether it is necessary to calculate the checksum and add it to the end of the barcode}
bc.CalcCheckSum := False;
{Set the scale at which the barcode will be displayed}
 bc.Zoom := 2;
{Set the angle of the barcode rotation. Can take the following values: 0, 90, 180, 270}
bc.Rotation := 0;
{Set whether to set the width of the barcode depending on its content.}
{If set to False, Zoom will be set to keep the barcode width fixed}
 bc.AutoSize := True;
{Set the barcode background color}
bc.Color := clNone;
{Set the barcode lines color}
bc.ColorBar := clBlack;
{Set whether to display the text at the bottom of the barcode}
 bc.ShowText := True;
 frxReport1.ShowReport();
end;

Ahora podemos usar el código de barras del estándar CODE 39 en nuestras aplicaciones comerciales (codificar no solo caracteres numéricos, sino también alfabéticos), por ejemplo, para imprimir en etiquetas (por ejemplo, también en formato ZPL).

about product comprar
avatar
Ekaterina Voytenko
Design and Marketing
Fast Reports Team: Ekaterina Voytenko - Design and Marketing at Fast Reports
VCL Lazarus FastReport Barcode Delphi

Add comment
logo
  • 800-985-8986 (English, US)
  • +4930568373928 (German)
  • +55 19 98147-8148 (Portuguese)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314
  • Comprar
  • Descargar
  • Documentación
  • Opiniones de usuarios
  • Cómo desinstalar nuestros productos
  • FAQ
  • Toturial en vídeo
  • Foro
  • Support SLA
  • Documentación técnica
  • Nuestras noticias
  • Quiénes somos
  • Socios
  • Extended licensing
  • Contactos

© 1998-2023 by Fast Reports Inc.

  • Privacidad

Trustpilot