É difícil imaginar nossa vida sem códigos de barras, especialmente agora que os conhecemos a cada passo. Vamos ao cinema e nossos ingressos contêm esse “desenho de barras em preto e branco”, vamos ao supermercado e cada produto tem a informação em forma de código de barras. Podemos apenas imaginar quais seriam as filas se o caixa inserisse os identificadores do produto manualmente, sem usar um scanner. Além disso, existe um grande risco de erro ao inserir uma sequência de números. Hoje vamos considerar uma pequena parte de todos os tipos de códigos de barras.
ITF (Interleaved Dois de Cinco) ou código de barras “2 of 5 interleaved” - é um código numérico de dupla banda ou um código de barras numérico de alta densidade que pode codificar apenas pares de números (o código de barras deve ter um número par de dígitos!). Cada padrão de código de barras codifica o dígito ímpar no padrão de barras e o dígito par no padrão de espaços entre as barras. Para codificar um número ímpar de dígitos, você deve preencher o dígito mais à esquerda (mais significativo) com um zero.
Os códigos de barras podem ter comprimento variável e normalmente não usam uma soma de verificação, embora um caractere de verificação do módulo 10 seja usado em algumas situações especiais. Varreduras parciais são possíveis, uma vez que o código de barras 2 de 5 intercalado não verifica a si mesmo e os campos de dados de comprimento fixo são frequentemente usados para contornar este problema.
Resumindo:
- Codifica apenas dados numéricos;
- O comprimento é variável, mas deve ter um número par de dígitos;
- A soma de verificação é opcional.
Como ITF é o código de barras com alta densidade de dados, ele oferece os seguintes recursos:
Se a largura da barra for maior, é fácil para o leitor de código de barras ler. A leitura à distância também pode ser realizada.
Embora o ITF tenha muitas vantagens, também tem a desvantagem de possível "pular leitura" devido à sua composição. Pular leitura significa que o código de barras que representa "3852" é lido incorretamente como "38", com alguns dígitos sendo desconsiderados.
Os códigos de barras ITF-14 e GTIN-14 são gerados usando a simbologia “Interleaved 2 of 5”. O ITF-14 é usado em contêineres de transporte e é baseado no código UPC. Normalmente, os códigos de barras intercalados são impressos em caixas de papelão ondulado, que contêm mercadorias para entrega e possuem a seguinte estrutura:
O padrão Industrial 2 of 5 foi desenvolvido pela Identicon Corp. e Computer Identics Corp. em 1970, e foi usado ativamente em aplicações industriais. No entanto, atualmente não é usado (exceto para algumas aplicações de logística). Industrial 2 de 5 tem esta aparência e usa 5 barras para representar um caractere. Uma vez que este código atribui dados apenas a barras (e não a espaços), ele tem densidade de dados muito baixa:
O Matrix 2 of 5 é um membro da família de Code 2 of 5 de densidade alta, que foi desenvolvida pela primeira vez em 1968. Ela tem sido usada principalmente na classificação de depósitos e acabamento fotográfico. O nome "2 de 5" deriva do fato de que dos cinco elementos (barras e espaços) usados para codificar cada caractere, dois são largos e três são estreitos.
FastReport VCL permite que você use todos os três tipos de códigos de barras. Vamos ver como fazer.
No FastReport VCL designer, adicione o componente obCatBarcode ao relatório e selecione o tipo de código de barras da lista:
Próximo, ir ao editor de código de barras:
Code- área para o valor numérico do código de barras;
Type of Bar – é o tipo do código de barras pode ser alterado imediatamente no editor sem adicionar um novo componente ao relatório;
Calc CheckSum - soma de verificação. Todos os códigos de barras lineares têm essa propriedade. Lembre-se de “pular leitura”? Devemos lutar contra isso de alguma forma! Esta propriedade determina se a soma de verificação deve ser calculada automaticamente. Se estiver desabilitado, a soma de verificação deve estar presente no texto do objeto;
Zoom - define a escala do código de barras e é usado apenas em conjunto com a propriedade “Autosize”;
Text - ativa / desativa a exibição de texto sob o código de barras;
Rotation - permite definir a rotação do objeto para um dos ângulos fixos - 0, 90, 180, 270 graus.
Verifica a consistência do código de barras gerado (felizmente, a câmera e o programa de leitura de código de barras agora estão disponíveis em todos os smartphones modernos).
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 |
uses frxBarcod; procedure TForm1.Button1Click(Sender: TObject); var bc: TfrxBarcodeView; begin bc :=TfrxBarcodeView(frxReport1.FindObject('BarCode1')); {Set the type of the barcode} bc.BarType := bcCode_2_5_interleaved; {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; |
Agora sabemos mais sobre os códigos de barras ITF e podemos usá-los em nossos relatórios, etiquetas e muitas outras coisas.