Ir para conteúdo
  • Cadastre-se

dev botao

ACBrMTer - Problema ao enviar caracteres - WilborTech


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

Recommended Posts

Boa tarde. Minha empresa adquiriu um novo cliente que possuem microterminais por sua loja. Com isso, tivemos que desenvolver um gerenciador de microterminais para que possa ser controlados os microterminais e fazer inserções de dadis diretamente no banco de dados.

O que acontece é que quando estou inserindo informações no microterminal, alguns caracteres não são entendidos e com isso o texto a ser passado para realizar a ação de incluir/alterar uma venda fica faltando caracteres ou até mesmo fica com caracteres NULL.

Se alguém já passou por essa situação, por favor, me explique como contorna-la.

Aguardo retorno.

Gerenciador.png

Link para o comentário
Compartilhar em outros sites

O protoclo VT100 utiliza a conexão Telnet. Necessariamente se o Telnet do computador que estiver sendo servidor do microterminal não estiver ativado, o protocolo pode não estar funcionando corretamente?

Link para informações do protocolo VT100 e seu funcionamente:

http://interno.totvs.com/mktfiles/tdiportais/helponlineprotheus/p12/portuguese/sigaacd_tecnologia.htm

 

Obs: Estou entendo ainda como funciona a questão dos protocolos, modelos, etc... Então se nesse link as informações não estiverem correta, por favor me corrija e me informe de sites que possa encontrar mais informações sobre o protocolo VT100 e suas programações.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

O VT100 é um antigo protocolo... muito usado em "terminais burros"... que é a característica de vários Micro Terminais... Ou seja... o ACBrMTER pode atuar como um Servidor, que compreende o protocolo VT100, e com isso permitir a conexão de Microterminais que suportem esse protocolo...

O que estou querendo confirmar, é se o equipamento que você citou, realmente "fala" o protocolo VT100, ou outro protocolo... Essa informação você pode obter no manual do equipamento...

Veja esse tópico, para compreender melhor como funcionam os Micro Terminais:

 

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

Boa tarde. Verifiquei em outro manual para ver as especificações do Micro Terminal Wilbor Tech e no manual o equipamento tanto de 16 quanto o de 44 teclas utilizam sim o protocolo VT100. 

Quando inicio o Micro Terminal, em seu display aparece as informações de protocolo e nela está mostrando que o protocolo configurado é o VT100.

Teria mais alguma configuração que eu possa estar verificando para que consiga resolver essa questão dos caracteres??

Estou utilizando o exemplo do proprio ACBr para verificar conexões e para estudar o código para desenvolver meu próprio gerenciador de Micro Terminais.

Link para o comentário
Compartilhar em outros sites

  • Fundadores
8 horas atrás, Vitor Cortinovis disse:

Entendi. Além dessa dúvida, como consigo tratar as teclas de BK e DEL/ESC direto no fonte? Qual função do componente faz o papel dessas duas ações?

Não compreendi sua pergunta...  não notei nada de estranho no seu Log...

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

  • Solution

Boa noite. Consegui resolver o problema dos caracteres se perderem em meio a digitação. Estava utlizando o Demo do próprio ACBr e percebi que a cada tecla pressionada no Microterminal, o gerenciador gravava essa sigla em um TClientDataSet, com isso quando o processo de gravação estava sendo executado, se apertasse outra tecla, de maneira mais rápida, a mesma não era reconhecida pelo gerenciador e passava como NULL, resultando em perda de caracter.

No gerenciador que estou desenvolvendo, eu não alimento um TClientDatSet a cada sigla pressionada. Eu retorno cada sigla pressionada em uma variável global onde ela só sera efetivamente gravada quando o ENTER for pressionado e a função designada precisar da junção das siglas.

Então, para melhor funcionamento da Demo do gerenciador de Microterminais, no evento OnRecebeDados não grave a cada sigla pressionada em um TClientDataSet, armazena todas as siglas em uma variável ou record e só retorne quando necessário para um BD ou um TClientDatSet.

Obrigado pelas dicas e sugestões anteriores! Consegui solucionar o mistério das teclas desaparecidas... hehe.

Caso queria, eu atualizo o fonte do ACBr e mando aqui nesse Post para que voces possam observar o que foi mudado e o porque da mudança.

31 minutos atrás, Daniel Simoes disse:

Não compreendi sua pergunta...  não notei nada de estranho no seu Log...

Nesse caso, eu me refiro aos eventos de BACKSPACE e DEL/ESC. O componente, no modelo VT100, não faz automaticamente as funções de BACKSPACE e nem de DEL. Queria saber o motivo e se é assim mesmo pois a configuração fica a gosto de quem estiver programando?

 

BS_DEL.bmp

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Esses aparelhos são chamados de Microterminais "burros"... por esse motivo... Eles não interpretam nada...

observe que mesmo os caracteres em tela (echo) são enviados pelo ACBrMtTer...

O Demo em Delphi pode estar defasado... eu desenvolvo em Lazarus....

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

Bom dia. Entendi. Então toda tecla deve ser interpretada pelo gerenciador e consequentemente atribuir uma função a ela.

11 horas atrás, Daniel Simoes disse:

Esses aparelhos são chamados de Microterminais "burros"... por esse motivo... Eles não interpretam nada...

observe que mesmo os caracteres em tela (echo) são enviados pelo ACBrMtTer...

O Demo em Delphi pode estar defasado... eu desenvolvo em Lazarus....

A Demo em Delphi provavelmente esta sim defasada mas agradeço pela atenção. Consegui descobrir o porque dos caracteres não serem interpretados e com sua ajuda, consegui me aprofundar um pouco mais no componente ACBrMTer para ter mais noção de como fazer as ações da maneira mais correta. Obrigado.

Tópico resolvido.

Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...