Jump to content

Vitor Cortinovis

Membros
  • Posts

    66
  • Joined

  • Last visited

Community Answers

  1. Vitor Cortinovis's post in ACBrMTer - Problema de conexão com múltiplos Micro Terminais was marked as the answer   
    Boa tarde. Outros desenvolvedores da minha equipe me auxiliaram nessa questão e aparentemente conseguimos obter resultados. Com isso, irei realizar e simular vários tipos de testes para serem feitos para verificar se o erro foi solucionado. Após finalizar os testes e verificar que realmente a solução obteve êxito, irei estar atualizando a Demo do projeto ACBrMTer e postando aqui no tópico para que possam verificar a lógica e futuramente estarem atualizando os fontes da Demo no projeto ACBr. Agradeço a atenção de todos que ajudaram de alguma forma nesse tópico. 
    Nesse tópico eu pedi algumas respostas imediatas mas não é assim que funciona, então peço desculpa caso algum integrante se sentiu pressionado a respeito, beleza? Obtive bastante informação pra estar explicando ate mesmo para meu colega de trabalho como o erro acontece e sendo assim achando a possível solução do problema.
    Irei aplicar a solução e realizar os demais testes e se a solução obtiver êxito, estarei disponibilizando os novos fontes da Demo do ACBrMTer.
    Valeu galera...  
    Obs: Não fechem ainda esse tópico pois daqui um tempo postarei os fontes atualizados da Demo nesse tópico!!
  2. Vitor Cortinovis's post in ACBrMTer - Problemas ao enviar texto para o display was marked as the answer   
    Boa noite. Resolvi meu problema criando uma procedure Delay para que o sistema fique esperando a mensagem ser exibida e fechada para continuar a ser executado.
    https://showdelphi.com.br/dica-como-implementar-a-funcao-delay-do-pascal-delphi/
    Para mais informações de como montar a função de "Delay", segue o link a cima da estrutura da função para quem estiver com o mesmo problema que o meu.
    Para aplicar a função, basta:
    procedure Esperar(dwMilliseconds: Longint); var iStart, iStop: DWORD; begin iStart := GetTickCount; repeat iStop := GetTickCount; Application.ProcessMessages; Sleep(1); until (iStop - iStart) >= dwMilliseconds; end; procedure CarregarVendedor(codVendedor: Integer; cIP: String); begin BuscaVendedor(codVendedor); ACBrMTer.LimparDados(cIP); ACBrMTer.EnviarTexto(cIP, 'Carregando'); ACBrMTer.PosicionarCursor(cIP, 2, 1); ACBrMTer.EnviarTexto(cIP, 'Vendedor'); Esperar(2000); // 2000 corresponde a 2 segundos, por exemplo CarregarComanda(cIP); end; Fica um exemplo de uso para quem precisar de ajuda para prosseguir com a implementação em seu projeto.
    Por meio de pesquisa e estudo do codigo-fonte, Demo do ACBr, fontes externas, consegui aplicar esse método.
    Tópico resolvido.
  3. Vitor Cortinovis's post in ACBrMTer - Problema ao enviar caracteres - WilborTech was marked as the answer   
    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.
    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
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.