Ir para conteúdo
  • Cadastre-se

dev botao

exemplo MterTeste não tem a aba Balança


Ver Solução Respondido por jcryspin,
  • Este tópico foi criado há 2322 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Olá, baixei o ACBr pelo SVN, abri o MTerTeste, percebi que a versão Delphi não tem a aba Balança, somente a versão Lazarus, implementei esta aba na mão, com o mesmo fonte do lazarus, deu tudo certo.

image.png.2ed7b5f70e035047ada7ec244d09be8e.png

image.png.6fefa79d101fc715c29fd36dd54551cf.png

Outro problema que encontrei foi que ao ler o peso de uma balança Toledo prix 3 pelo microterminal Bematech Fit, esta apresentando o seguinte erro:

image.png.bf6f5d874518b7bcc11faf3120c956b5.png

a balança retorna um R junto ao peso, ocasionando o Exception, existe alguma forma de resolver esse erro?

 

 

Postado

Não sei se é a forma correta, mas consegui resolver alterando o fonte ACBrBALToledo.pas incluindo duas linhas na function InterpretarRepostaPeso.

image.thumb.png.2256af2baf0b037eb4a427d9e0c40bc5.png

 

  • Fundadores
Postado

Atualizei o Demo em Delphi... não usei seus fontes pois não são compatíveis com D7

 

Sobre o ACBrBALToledo.pas, favor anexar o Log do ACBrBAL e do ACBrMTER... aparentemente a modificação não é necessária... provavelmente é o microterminal que está inserindo as letras S, R... mas isso deveria ser limpo em TACBrMTer.DoRecebeDados, pela chamada a MTer.LimparConteudoParaEnviar

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.

Postado

Com as alterações que eu fiz.

Outro problema que encontrei:
qualquer posicionamento que eu faça do cursor na tela do microterminal dentro da procedure ACBrMTer1RecebeDados, assim que ele encerra essa procedure (finaliza ela) o cursor sempre fica na coluna 1,(a linha funciona, a coluna não).

Ex:

procedure TfrmPrincipal.ACBrMTer1RecebeDados(const IP: AnsiString;
  var Recebido: AnsiString; var EchoMode: TACBrMTerEchoMode);
begin

 ACBrMTer1.LimparDisplay(IP);
 ACBrMTer1.PosicionarCursor(ip , 1, 1);
 ACBrMTer1.EnviarTexto(IP, 'Produto:');

end;

* sempre que finalizar a procedure o cursor fica na linha 1 coluna 1 em cima da letra P de 'Produto:'

se eu colocar essas linhas abaixo em um botão o cursos fica na frente dos :_ (dois pontos ) (funcionando corretamente)

 ACBrMTer1.PosicionarCursor(ip , 1, 1);
 ACBrMTer1.EnviarTexto(IP, 'Prod:');

Ainda não consegui resolver isso, e esta sendo um grande problema pois ainda não achei outra forma de mudar o label de comanda: para produto: sem ser dentro desta procedure.

  • Solution
Postado

Resolvido, desculpe, não achei onde que exclui o post,

o problema acontecia pois o #13 (enter) era acionado após a execução da procedure.  fazendo o teste :

if (Recebido[1] = #13) then 

  Recebido := ''; 

anulou o enter após a execução da procedure posicionando o cursor no local correto. 

  • Curtir 1
  • Este tópico foi criado há 2322 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.