Como saber o caracter pelo valor da VK Shift ?

Delphi

09/12/2006

Pessoal, tenho duas informações:
1-Valor da VK(Virtual Key) - Ex: 54
2-Shift pressionada - Ex: Sim

A partir daí tenho que retornar o caracter do teclado.
No exemplo acima citado, o usuário digitou Shift 6.

Como posso retornar o caracter correspondente?
Alguma idéia ?


Siam

Siam

Curtidas 0

Respostas

Martins

Martins

09/12/2006

Pessoal, tenho duas informações: 1-Valor da VK(Virtual Key) - Ex: 54 2-Shift pressionada - Ex: Sim A partir daí tenho que retornar o caracter do teclado. No exemplo acima citado, o usuário digitou Shift 6. Como posso retornar o caracter correspondente? Alguma idéia ?


Ainda não entendi o q vc deseja, mas lembres-se q para o teclado númerio a teclas númericas tem um valor, para o teclado alfa-numerico o valor das teclas de 1..0 são outros.

o 6 por exemplo no teclado alfa-numerico tem valor: 54 no teclado numerico tem valor: 102.

Vc deseja saber o caractere correspondente a uma tecla tipo o codigo Ascci, valor decimal, Hexadecimal, combinação de teclas?


GOSTEI 0
Siam

Siam

09/12/2006

Por exemplo: suponha o evento onKeyDown.
O valor da Key é 50
O Shift está [ssShift]

Logo o usuário teclou Shift 2 no teclado alpha.
Isso resulta no caracter ´@´.

Só que eu não tenho o evento onKeyPress que já me retornaria o caracter. Só tenho a informação como no evento onKeyDown e apartir dela preciso retornar o caracter correspondente daquele teclado.

Como existem teclados diferentes, gostaria de saber se existe via código algum meio de fazer isso.


GOSTEI 0
Martins

Martins

09/12/2006

Já tentou usar Chr(Key);


GOSTEI 0
Siam

Siam

09/12/2006

Já tentou usar Chr(Key);
O valor da VK não muda; Chr(50) retorna sempre ´2´ mesmo com o Shift pressionado.


GOSTEI 0
Martins

Martins

09/12/2006

[quote:18b2bfe34c=´Martins´]Já tentou usar Chr(Key);
O valor da VK não muda; Chr(50) retorna sempre ´2´ mesmo com o Shift pressionado.[/quote:18b2bfe34c]

Verei isso para vc em casa, depois posto aqui, estou no cyber agora, sem Delphi.


GOSTEI 0
POSTAR