Ir para conteúdo
  • Cadastre-se

dev botao

ACBrETQ com etiqueta continua


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

Recommended Posts

Bom dia 

    eu li já no fórum que o ACBrETQ não é compatível com etiqueta contínua (sem o gap), porém estou conseguindo imprimir em uma Argox com linguagem PPLA. 

 

    Somente tive que fazer duas alteração, uma adição de comando <STX>cxxxx<CR> dizendo o tamanho da etiqueta e retirar o comando <STX>fxxx<CR> que informa o backfeed. Estive lendo o componente TACBrETQPpla.ComandosFinalizarEtiqueta que diz que é obrigatório passar o comando <STX>fxxx<CR> e vi em tópico no forum que outros usuários tiveram problemas sem esse comando <STX>fxxx<CR>. 

function TACBrETQPpla.ComandosFinalizarEtiqueta(NumCopias: Integer;
  aAvancoEtq: Integer): AnsiString;
var
  wAvanco: Integer;
begin
  if (aAvancoEtq < 0) or (aAvancoEtq > 779) then
    raise Exception.Create('Avanço de Etiquetas deve ser de 0 a 779');

  // Valor mínimo para Back-feed é 220 (Manual "PPLA&PPLB.pdf" ... pág. 18)
  wAvanco := aAvancoEtq + 220;
  Result  := Inherited ComandosFinalizarEtiqueta(NumCopias, wAvanco);
end;

Mas sobre esse assunto tem dois pontos

  1º pelo manual no avanço o mínimo é 220 e não o avanço mais 220

  2º no componente tem o campo backfeed e pelo que eu vi não está sendo usando em nenhum momento e o correto não seria ser usado com o seguir ?

function TACBrETQPpla.ComandosFinalizarEtiqueta(NumCopias: Integer;
  aAvancoEtq: Integer): AnsiString;
var
  wAvanco: Integer;
begin
  if (aAvancoEtq < 0) or (aAvancoEtq > 779) then
    raise Exception.Create('Avanço de Etiquetas deve ser de 0 a 779');

  // Valor mínimo para Back-feed é 220 (Manual "PPLA&PPLB.pdf" ... pág. 18)
  if BackFeed = bfOn then
    if aAvancoEtq < 220 then
      wAvanco := 220
    else
      wAvanco := aAvancoEtq;
  Result  := Inherited ComandosFinalizarEtiqueta(NumCopias, wAvanco);
end;

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Experimente implementar o método ComandoDimensoes, na classe PPLA, ele foi introduzido, para EscLabel e é chamado em TACBrETQClass.ComandosIniciarEtiqueta

function TACBrETQEscLabel.ComandoDimensoes: AnsiString;
begin
  Result := '';
  if (Dimensoes.Largura > 0) then
    AdicionarComandos('^S(CLS,P,' + IntToStr(ConverterUnidade(etqDots, Dimensoes.Largura)), Result);
  if (Dimensoes.Altura > 0) then
    AdicionarComandos('^S(CLS,L,'+IntToStr(ConverterUnidade(etqDots, Dimensoes.Altura)), Result);
  if (Dimensoes.EspacoEntreEtiquetas > 0) then
    AdicionarComandos('^S(CLS,C,'+IntToStr(ConverterUnidade(etqDots, Dimensoes.EspacoEntreEtiquetas)), Result);
  if (Dimensoes.EspacoEsquerda > 0) then
    AdicionarComandos('^S(CLS,G,'+IntToStr(ConverterUnidade(etqDots, Dimensoes.EspacoEsquerda)), Result);
end;

 

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

2 horas atrás, Daniel Simoes disse:

Experimente implementar o método ComandoDimensoes, na classe PPLA, ele foi introduzido, para EscLabel e é chamado em TACBrETQClass.ComandosIniciarEtiqueta

function TACBrETQEscLabel.ComandoDimensoes: AnsiString;
begin
  Result := '';
  if (Dimensoes.Largura > 0) then
    AdicionarComandos('^S(CLS,P,' + IntToStr(ConverterUnidade(etqDots, Dimensoes.Largura)), Result);
  if (Dimensoes.Altura > 0) then
    AdicionarComandos('^S(CLS,L,'+IntToStr(ConverterUnidade(etqDots, Dimensoes.Altura)), Result);
  if (Dimensoes.EspacoEntreEtiquetas > 0) then
    AdicionarComandos('^S(CLS,C,'+IntToStr(ConverterUnidade(etqDots, Dimensoes.EspacoEntreEtiquetas)), Result);
  if (Dimensoes.EspacoEsquerda > 0) then
    AdicionarComandos('^S(CLS,G,'+IntToStr(ConverterUnidade(etqDots, Dimensoes.EspacoEsquerda)), Result);
end;

 

Eu tenho q procurar o manual desse EscLabel mas pelo visto ele está fazendo o cálculo do tamanho da etiqueta? 

 

Vou tentar replicar ele dentro do ACBrETQPpla 

 

e sobre o TACBrETQPpla.ComandosFinalizarEtiqueta você consegue dar uma analisada. 

Link para o comentário
Compartilhar em outros sites

  • Fundadores
2 minutos atrás, chico_lopes disse:

Eu tenho q procurar o manual desse EscLabel mas pelo visto ele está fazendo o cálculo do tamanho da etiqueta? 

Citei a Unit do EscLabel, apenas como exemplo, de como implementar uma Sobrecarga, no método ComandoDimensoes

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 620 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.