TiagoNormando Postado 9 Março Compartilhar Postado 9 Março Boa tarde, estou tendo um problema ao enviar o texto para o diplay do terminal depois que le as repostas(estou me baseando no exemplo do ACBrMTer) Exemplo: Quando a pessoa digita um codigo do Item: faço uma consulta no banco, se nao existir jogo para o display: ACBrMTer.PosicionarCursor(IP, 1, 1); ACBrMTer.EnviarTexto(IP, 'Item: 1'); ACBrMTer.PosicionarCursor(IP, 2, 1); ACBrMTer.EnviarTexto(IP, 'Nao foi encontrado'); ate ae tudo bem.. acontece que que o processo e muito rapido, nao da tempo de le, eu gostaria que na tela do terminal desse uma pausa e continuasse o processo.. tentei mudar a propriedade WaitInterval.. tbm tentei usar uum Sleep.. mas pecebi que n funciona pos ele trava a app.. nao o processamento no display.. alguem teria uma sujestao como resolver isso? Grato. Link para o comentário Compartilhar em outros sites More sharing options...
TiagoNormando Postado 11 Março Autor Compartilhar Postado 11 Março Alguem sabe alguma funcao para um sleep dentro do procesamento do terminal? Grato. Link para o comentário Compartilhar em outros sites More sharing options...
Fundadores Daniel Simoes Postado 14 Março Fundadores Compartilhar Postado 14 Março Em 09/03/2024 at 17:29, TiagoNormando disse: tentei mudar a propriedade WaitInterval.. tbm tentei usar uum Sleep.. mas pecebi que n funciona pos ele trava a app.. nao o processamento no display.. Em que momento você inseriu o Sleep ? Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Link para o comentário Compartilhar em outros sites More sharing options...
TiagoNormando Postado 14 Março Autor Compartilhar Postado 14 Março Numa primeira tentativa eu coloquei o código assim Dento de AvaliarReposta... ..Leu o que foi digitado. ACBrMTer.PosicionarCursor(IP, 1, 1); ACBrMTer.EnviarTexto(IP, 'Item: 1'); ACBrMTer.PosicionarCursor(IP, 2, 1); ACBrMTer.EnviarTexto(IP, 'Nao foi encontrado'); Sleep(2000): LimparDisplay: Alterar Status do terminal .. Nisso no display..depois que digitei o código..ele pausou 2 segundos e apareceu os dois textos que enviei chamou próximo Status.. Numa segunda tentativa crei uma função MostrarMensagem ..dentro dela monto as duas linhas de texto para enviar e usei o Timer..onde ativo ele..com 2 segundos e coloquei nesse o comando de limpar display..mas teve o mesmo efeito do Sleep.. .. 10 minutos atrás, Daniel Simoes disse: Em que momento você inseriu o Sleep ? Desculpa.. esqueci de marcar 10 minutos atrás, Daniel Simoes disse: Em que momento você inseriu o Sleep ? Desculpa.. esqueci de marcar Link para o comentário Compartilhar em outros sites More sharing options...
Fundadores Daniel Simoes Postado 20 Março Fundadores Compartilhar Postado 20 Março Desculpe pela demora na resposta... Faz muito tempo, que implementamos o componente MTER, e o Demo dele... Lembro que algumas coisas ocorriam de forma Assincrona.. então Sleeps não são uma boa técnica... Notei no Demo que tem o Evento: procedure TForm1.ACBrMTer1RecebeDados(const IP: AnsiString; const Recebido: AnsiString; var EchoMode: TACBrMTerEchoMode); que acaba chamando o método: procedure AvaliarRespostaTerminal(aIP: String; const aResposta: String); Repare que ele tem estados que só pintam uma msg e saem, e que ele fica aguardando um "Enter", para buscar um Item, caso contrário, apenas adiciona o caractere digitado, no Buffer anterior if (aString[1] <> #13) then begin // Grava Resposta Edit; FieldByName('RESPOSTA').AsString := FieldByName('RESPOSTA').AsString + aString; Post; Exit; end; Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Link para o comentário Compartilhar em outros sites More sharing options...
TiagoNormando Postado 25 Março Autor Compartilhar Postado 25 Março Em 20/03/2024 at 16:25, Daniel Simoes disse: Desculpe pela demora na resposta... Faz muito tempo, que implementamos o componente MTER, e o Demo dele... Lembro que algumas coisas ocorriam de forma Assincrona.. então Sleeps não são uma boa técnica... Notei no Demo que tem o Evento: procedure TForm1.ACBrMTer1RecebeDados(const IP: AnsiString; const Recebido: AnsiString; var EchoMode: TACBrMTerEchoMode); que acaba chamando o método: procedure AvaliarRespostaTerminal(aIP: String; const aResposta: String); Repare que ele tem estados que só pintam uma msg e saem, e que ele fica aguardando um "Enter", para buscar um Item, caso contrário, apenas adiciona o caractere digitado, no Buffer anterior if (aString[1] <> #13) then begin // Grava Resposta Edit; FieldByName('RESPOSTA').AsString := FieldByName('RESPOSTA').AsString + aString; Post; Exit; end; Bom dia, tudo bm? Obrigado pela repsota, sao nesses eventos que estou trablahando mesmo, mas a ideia era nao esperar enter mas sim a msg aparecer..esperar..sumir, por isso tentei usando o sleep. Link para o comentário Compartilhar em outros sites More sharing options...
Recommended Posts
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 contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora