Registrar    Login   Sobre o InfoBlogs  

Mais sobre etiquetas de códigos de barras    



Escrevi alguns meses atrás sobre como imprimir em uma impressora de etiquetas de código de barras através de comunicação serial. Também comentei sobre uma técnica para prototipar os comandos de impressão e acelerar o desenvolvimento usando um programa gráfico de desenho de etiquetas e inspecionar a porta serial com um “sniffer” para obter os comandos enviados pela porta serial à impressora. Semana passada voltei a ter necessidade de desenvolver novas etiquetas e com isso tive oportunidade de rever aquelas soluções. Acabei encontrando formas muito mais simples de desenvolvimento, tanto para a comunicação serial no Delphi, quanto para a prototipação.

Comunicação Serial

Eu utilizava o componente TApdComPort da TurboPower Async Pro por “razões históricas”. Existe uma alternativa muito mais simples e eficiente: a biblioteca Synaser, do mesmo autor da Synapse. É também gratuita e open-source e já está a vários anos sendo aperfeiçoada.

Veja como é fácil mandar uma string para a impressora usando Synaser:

uses Synaser;
 
procedure SendToCOM1(const Text: String);
var
  Serial: TBlockSerial;
begin
  Serial := TBlockSerial.Create;
  try
    Serial.Connect('COM1');
    Serial.Config(19200, 8, 'N', 1, True, False);
    Serial.SendString(Text);
  finally
    Serial.Free;
  end;
end;

Você pode montar em uma string todos os comandos para imprimir quantas etiquetas quiser e mandar de uma só vez para a impressora usando essa função. Não se esqueça de configurar a porta conforme as suas necessidades.

Inspecionando a porta serial

Esses programas de desenho de etiquetas que vêm acompanhando as impressoras geralmente usam uma impressora configurada no Windows para uma porta serial (COM1 ou COM2) e o protocolo de comunicação nativo do fabricante. Usar um programa de inspeção de porta serial é uma solução geral que sempre funciona, embora um pouco trabalhosa. Uma alternativa muito mais simples para esta situação específica é configurar a impressora no Windows para enviar o output para a porta “FILE” ao invés da porta serial. Assim, quando o software iniciar a comunicação para enviar os comandos o próprio sistema operacional se encarregará de mostrar uma caixa de diálogo para o usuário entrar com um caminho e nome de arquivo de saída. Sem perceber

Outros assuntos neste blog:



 leia mais...