Na função de gerar código de barras, você pode informar diretamente uma String ao invés de enviar um TACBrTipoCodBarra.
Abaixo segue a String correspondente ao TACBrTipoCodBarra para cada Linguagem da Etiquetadora:
Etiquetadora na Linguagem PPLA: ...\trunk2\Fontes\ACBrSerial\ACBrETQPpla.pas
'A' = barCODE39;
'E' = barCODE128;
'F' = barEAN13;
'G' = barEAN8;
'O' = barCODE93;
Etiquetadora na PPLB: ...\trunk2\Fontes\ACBrSerial\ACBrETQEpl2.pas
'3' = barCODE39;
'1' = barCODE128;
'E30' = barEAN13;
'E80' = barEAN8;
'B9' = barCODE93;
Etiquetadora na PPLZ: ...\trunk2\Fontes\ACBrSerial\ACBrETQZplII.pas
'B3' = barCODE39
'C' = barCODE128;
'E' = barEAN13;
'B8' = barEAN8;
'A' = barCODE93;
Para realizar os testes utilizei o Exemplo: ...trunk2\Exemplos\ACBrSerial\ACBrETQ\Delphi\ETQTeste.dpr
E criei um campo para informar manualmente os dígitos do código de barras, e no evento bEtqCarreirasClick fiz os ajustes:
ImprimirTexto(orNormal, 2, 1, 2, 2, 1, 'TESTE barEAN13');
ImprimirTexto(orNormal, 2, 1, 1, 6, 1, 'COD:'+strCod);
ImprimirBarras(orNormal, barEAN13, 2, 2, 8, 1, strCod, 10);
ImprimirTexto(orNormal, 2, 1, 2, 2, 36, 'TESTE barCODE93');
ImprimirTexto(orNormal, 2, 1, 1, 6, 36, 'COD:'+strCod);
ImprimirBarras(orNormal, barCODE93, 2, 2, 8, 36, strCod, 10);
ImprimirTexto(orNormal, 2, 1, 2, 2, 72, 'TESTE barCODE128');
ImprimirTexto(orNormal, 2, 1, 1, 6, 72, 'COD:'+strCod);
ImprimirBarras(orNormal, barCODE128, 2, 2, 8, 72, strCod, 10);
Fui realizando a troca do bloco de 3 linhas com todos os tipos e desta forma consegui chegar nesta conclusão.
Nos testes que realizei em etiquetas de 3 colunas, observei que:
- Para códigos de barras entre 3 e 9 dígitos é melhor utilizar o barCODE93
- Para códigos de barras com 13 dígitos é melhor utilizar o barEAN13 (Com a ressalva de que é feita uma validação se o o digito verificar está de acordo, podendo mudar os dígitos do código).
- Não deve-se usar código de barras com menos de 3 dígitos, nem entre 10 e 12 e nem maior que 13.
Espero ter ajudado!