Galera eu não tenho nenhuma experiência em DELPHI, e num aplicativo Java que estou fazendo precisa de uns comandos que eu não faço a mínima ideia de como fazer, entrei em contato com o suporte da empresa do terminal que estou usando e eles me passaram o seguinte código:
EDIT - Aham, fiz a conta errado, 27 = 0x1B, não 1F
B
bezier_curve
Note que depois do “\u” você tem de pôr EXATAMENTE 4 dígitos hexadecimais.
Yago_Ernandes
e esses [H e [J são char ou string?
GusMcCart
Bom, no pouco conhecimento que tenho… acredito que ficaria assim:
privatestaticfinalStringESC="\u001B";privatestaticfinalStringSTX="\u0002";privatestaticfinalStringETX="\u0003";publicvoiddisplayEnviar(Stringtexto){StringstrTemp="";switch(Protocolo){casetpV100:strTemp=sTexto;break;casetpSTX:strTemp=STX+"D"+sTexto+ETX;}// ... Testa e envia pro terminal a informação}publicvoiddisplayLimpar{StringstrTemp="";switch(Protocolo){casetpV100:strTemp=ESC+"[H"+ESC+"[J";break;casetpSTX:strTemp=STX+"L"+ETX;}// ... Testa e envia pro terminal a informação}
Mas testa ae, não manjo mto de Delphi mas acho que já ajuda… Quando der certo posta aí a solução.
E eu fui na onda… CTRL + C / CTRL + V no unicode do ESC…
Yago_Ernandes
esse código é o que faz limpar a tela do microterminal, no caso eu passaria um código hexadecimal e ele reconheceria?
GusMcCart
Você pergunta por causa dos “\u001F” ??
Isso é pq é caractere de controle, essa é apenas a representação do caractere em unicode…
Yago_Ernandes
olha, fazendo umas treta aqui, consegui mostrar o que esse código tá enviando, isso aí
[] = aquele quadradinho de caractere inválido, não sei escrever ele
Yago_Ernandes
o terminal ta inserindo o comando na tela ao invés de executar o comando referente…
GusMcCart
Posta o código aí, e modelo / marca desse terminal que talvez fica melhor pro pessoal te ajudar…
P
pbnf
A representação do comando ESC que está incorreto!
GusMcCart
private static final char ESC = '\u001B';
private static final char STX = '\u0002';
private static final char ETX = '\u0003';
Tenta novamente assim…
B
bezier_curve
Fiz a conta errado, é 1B, não 1F
Yago_Ernandes
O marca do microterminal é WillTech, nesse site http://www.willtech.com.br/downloads/ tem os programas de emulação e servidor, da pra ter uma ideia…
Yago_Ernandes
Ah sim cara, eu não tinha tentado com 1B…
Agora funcionou… Muito obrigado, você me ajudou pacas