Ir para conteúdo
  • Cadastre-se

dev botao

Imprimir texto com Tarja - ACBrETQ - PPLA


  • Este tópico foi criado há 2456 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa tarde a todos!

Estou com o seguinte problema: Preciso "Imprimir Reverso" na impressora Argox-OS214 PPLA, encontrei um tópico antigo com a resolução para PPLB, gostaria se saber se é possível, pois passando o parâmetro ImprimirReverso = True, no exemplo do ACBreTQ, não acontece a impressão reversa

 

Tópico Anterior:

 

Etq.jpg

Cristhian Massini - Programador

www.flashautomacaocomercial.com.br

(11) 2401-5000

94x98.png.65a5f1944d8dd7b62788114359cb715e.png

 

Link para o comentário
Compartilhar em outros sites

  • Consultores
Em 16/06/2017 at 16:07, Cristhian Massini disse:

Estou com o seguinte problema: Preciso "Imprimir Reverso" na impressora Argox-OS214 PPLA

Mas no tópico que você citou a implementação foi feita na época para PPLB, não é mesmo?

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

EACBrFontesACBrSerialACBrETQ_pas.jpg.0d2bc8a83726ca43eb8b056b71212f6d.jpgEACBrFontesACBrSerialACBrETQPpla.pas_2.thumb.jpg.31ebf1110782e34b28ef7b8941dd5025.jpg

15 horas atrás, EMBarbosa disse:

Mas no tópico que você citou a implementação foi feita na época para PPLB, não é mesmo?

Bom dia Elton, 

Foi implementado para PPLB, e reparei que fizeram o mesmo pra PPLA, porem na PPLA não imprimi. Para o PPLA, o parametro ImprimirReverso não é utilizado no Comando, anexei fotos do fonte. 

Cristhian Massini - Programador

www.flashautomacaocomercial.com.br

(11) 2401-5000

94x98.png.65a5f1944d8dd7b62788114359cb715e.png

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

O que você mostrou no código é que o parâmetro também é passado para a função da classe PPLA. Mas isso não significa que esteja implementado para a PPLA. O parâmetro é passado e caso a classe PPLA tivesse a implementação poderia utilizá-lo. Mas pelo que você mostrou o parâmetro não é consultado em nenhum momento, certo?

Me parece que continua sendo necessário verificar o manual da linguagem PPLA se ela permite esse tipo de impressão (inverso | reverso | tarja) e depois implementar.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

Não estou encontrando o manual da linguagem PPLA. Utilizando o BarTender (que vem no cd de instalação) consigo imprimir (inverso | reverso | tarja).

Achei esse topico aqui abaixo falando da atualização do firmware, vou tentar mudar ela pra PPLB e ver o que acontece

 

 

Cristhian Massini - Programador

www.flashautomacaocomercial.com.br

(11) 2401-5000

94x98.png.65a5f1944d8dd7b62788114359cb715e.png

 

Link para o comentário
Compartilhar em outros sites

Elton, 

 

Pesquisando aqui vi que a PPLA emula a DPL (Datamax Programming Language),

no manual da DPL encontrei referencia ao (inverso | reverso | tarja) , não se se ajuda alguém, mas vou tentando aqui também

Pag 112

 

https://www.honeywellaidc.com/en/-/media/en/files-public/technical-publications/printers/1common/DPL_88-2360-01_B.pdf

DPL_88-2360-01_B.pdf - Google Chrome_2.jpg

Editado por Cristhian Massini

Cristhian Massini - Programador

www.flashautomacaocomercial.com.br

(11) 2401-5000

94x98.png.65a5f1944d8dd7b62788114359cb715e.png

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Olá Christian,

   Eu não tenho aqui uma impressora dessas para testar. Talvez a alteração seja algo do tipo:

procedure TACBrETQPpla.ImprimirTexto(Orientacao: TACBrETQOrientacao; Fonte, MultiplicadorH,
  MultiplicadorV, Vertical, Horizontal: Integer; Texto: String;
  SubFonte: Integer = 0; ImprimirReverso : Boolean = False);
var
   eixoY, eixoX, Smooth: String;
   ReversoInicia, ReversoTermina: String;
begin

  Cmd := '';

  if (Fonte < 0) or (Fonte > 10) then
     Raise Exception.Create(ACBrStr('Informe um valor entre 0 e 10 para Fonte'));

  if (SubFonte < 0) or (SubFonte > 999) then
     Raise Exception.Create(ACBrStr('Informe um valor entre 0 e 999 para SubFonte'));
  if ImprimirReverso then
  begin
    ReversoInicia  := 'A5' + CRLF;
    ReversoTermina := 'A1' + CRLF;
  end;
{ Multiplicador Horizontal, Multiplicador Vertical:
 De 0 a 9 e de A até O representa as escalas de multiplicação (A=10, B=11,..., O=24)}

  Vertical := ConverterUnidade(Vertical);
  if (Vertical > 9999) then
     Raise Exception.Create(ACBrStr('Vertical deve ter no máximo 4 dígitos'));
  eixoY := IntToStrZero(Vertical, 4);

  Horizontal := ConverterUnidade(Horizontal);
  if (Horizontal > 9999) then
     Raise Exception.Create(ACBrStr('Horizontal deve ter no máximo 4 dígitos'));
  eixoX := IntToStrZero(Horizontal, 4);

  if Length(Texto) > 255 then
     Raise Exception.Create(ACBrStr('Tamanho maximo para o texto 255 caracteres'));

  if Fonte < 9 then
    Smooth := '000'
  else
    Smooth := IntToStrZero(SubFonte, 3);

  Cmd := IntToStr(Integer(Orientacao) + 1)    +
         Chr(48+Fonte)                        +
         MultiplicadorToStr( MultiplicadorH ) +
         MultiplicadorToStr( MultiplicadorV ) +
         Smooth + eixoY + eixoX + Texto;
  if ImprimirReverso then ListaCmd.Add(ReversoInicia);
  ListaCmd.Add(Cmd);
  if ImprimirReverso then ListaCmd.Add(ReversoTermina);
end; 

  Se quiser testar, mas é bem possível que eu tenha esquecido de alguma coisa.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...
Em 21/06/2017 at 11:26, EMBarbosa disse:

Olá Christian,

   Eu não tenho aqui uma impressora dessas para testar. Talvez a alteração seja algo do tipo:


procedure TACBrETQPpla.ImprimirTexto(Orientacao: TACBrETQOrientacao; Fonte, MultiplicadorH,
  MultiplicadorV, Vertical, Horizontal: Integer; Texto: String;
  SubFonte: Integer = 0; ImprimirReverso : Boolean = False);
var
   eixoY, eixoX, Smooth: String;
   ReversoInicia, ReversoTermina: String;
begin

  Cmd := '';

  if (Fonte < 0) or (Fonte > 10) then
     Raise Exception.Create(ACBrStr('Informe um valor entre 0 e 10 para Fonte'));

  if (SubFonte < 0) or (SubFonte > 999) then
     Raise Exception.Create(ACBrStr('Informe um valor entre 0 e 999 para SubFonte'));
  if ImprimirReverso then
  begin
    ReversoInicia  := 'A5' + CRLF;
    ReversoTermina := 'A1' + CRLF;
  end;
{ Multiplicador Horizontal, Multiplicador Vertical:
 De 0 a 9 e de A até O representa as escalas de multiplicação (A=10, B=11,..., O=24)}

  Vertical := ConverterUnidade(Vertical);
  if (Vertical > 9999) then
     Raise Exception.Create(ACBrStr('Vertical deve ter no máximo 4 dígitos'));
  eixoY := IntToStrZero(Vertical, 4);

  Horizontal := ConverterUnidade(Horizontal);
  if (Horizontal > 9999) then
     Raise Exception.Create(ACBrStr('Horizontal deve ter no máximo 4 dígitos'));
  eixoX := IntToStrZero(Horizontal, 4);

  if Length(Texto) > 255 then
     Raise Exception.Create(ACBrStr('Tamanho maximo para o texto 255 caracteres'));

  if Fonte < 9 then
    Smooth := '000'
  else
    Smooth := IntToStrZero(SubFonte, 3);

  Cmd := IntToStr(Integer(Orientacao) + 1)    +
         Chr(48+Fonte)                        +
         MultiplicadorToStr( MultiplicadorH ) +
         MultiplicadorToStr( MultiplicadorV ) +
         Smooth + eixoY + eixoX + Texto;
  if ImprimirReverso then ListaCmd.Add(ReversoInicia);
  ListaCmd.Add(Cmd);
  if ImprimirReverso then ListaCmd.Add(ReversoTermina);
end; 

  Se quiser testar, mas é bem possível que eu tenha esquecido de alguma coisa.

Boa tarde Elton, desculpa a demora na resposta!!!

Com as alterações que você passou funcionou perfeitamente!!!!!!

Só precisei passar o parâmetro ImprimeReverso como true na procedure TACBrETQ.ImprimirTexto. 

Anexei o fonte do ACBrETQPpla.pas e o fonte do exemplo do ACBr UPrincipal.Pas

 

Muito obrigado pela atenção!!!!! E espero que esta alteração sirva pra mais alguém ai!!

 

 

WinMerge - [UPrincipal.pas  Working Base, Revision 8116 - UPrincipal.pas  Working Copy].jpg

ACBr.rar

20170727_133143.jpg

  • Curtir 1

Cristhian Massini - Programador

www.flashautomacaocomercial.com.br

(11) 2401-5000

94x98.png.65a5f1944d8dd7b62788114359cb715e.png

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2456 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.