![]() |
cual le corresponde a cual?
Tengo el siguiente problema, al hacer un programita que me diga el caracter ascii de las teclas que se presionan, en especial con las teclas flecha hacia la izquierda <-,flecha derecha ->y la tecla delete, yo quiero que el programa haga lo siguiente.
yo presiono la tecla 'enter'y que imprima #13,luego ESC y diga #27,luego Bakspace y diga #8 y asi sucesivamente pero no encuentro por ningun lado esa informacion es decir ¿como hago para saber cual le corresponde a cada tecla? |
Tu pregunta no es muy aclaratoria, pero si lo que quieres es capturar cada tecla que se precione en el formulario, lo primero que debes hacer es asignar la propiedad KeyPreview:=True en el formulario, para que todos los eventos de teclado realizados sean capturados primero por el formulario y despues por los demas controles, a menos que quieras capturar dichos eventos en un determinado control del form....
Ya aclarado esto, los eventos que puedes utilizar para capturar las teclas precionadas pueden ser o o Donde la variable Key para KeyDown y KeyUp representa el codigo virtual de la tecla precionada o soltada. Ejem: enter=13, F1=112, etc En el evento KeyPress Key devuelve el caracter precionado. Espero sirva a tus propositos. Saludos |
No me entendieron
Lo que yo quiero hacer es lo siguiente:tengo un formulario y en el medio de el un cuadro de texto(tedit)y en el evento onkeypress del cuadro de texto meter el siguiente codigo.
case key of #8 :showmessage('se presiono tab'); #13 :showmessage('se presiono enter'); #27 :showmessage('se presiono escape'); end; estos codigos yo los saque de los foros ,pero los otros de las otras teclas no las se, como hago para saber cual le corresponde a la ->,<-,tecla delete y todas las teclas restantes. |
Los códigos de las teclas se manejan como constantes VK_DELETE, VK_RETURN, VK_F1, etc. Busca en el índice de la ayuda de Delphi acerca de Virtual Key Codes para que veas todas las constantes.
// Saludos |
Eso no me sirve
Yo se que existen esos codigos virtuales, pero no me sirven por que, si al presionar la tecla * o la tecla delete yo no quiero que aparesca nada en la cajita de texto y hago lo siguiente key:='';y me salta un error de tipos no compatibles por que la variable key es de tipo word y le estoy asignando un string (esto pasa en keydown y keyup),yo se que estos codigos estan pero no los encuentro en la ayuda de delphi, pero en algunos casos citan ejemplos lo cual quiee decir que existen.
Si alguien los conoce me podria ayudar? |
hola....
Cita:
saludos.... |
No Parese Pero Es Muy Dificil O No?
Ayer mande un nuevo hilo y nadie me supo contestar,pero la solucion parece ser sencilla a simple vista, lo que quiero hacer es lo siguiente.
En este procedimiento quiero hacer lo siguiente procedure TForm1.Edit7KeyPress(Sender: TObject; var Key: Char); begin case key of #8 :se showmessage('se presiono backspace'); #27 :se showmessage('se presiono escape'); #13:se showmessage('se presiono enter'); . . . . y asi seguir con varias teclas mas end; end; yo se que existen codigos virtuales de teclas(vk_enter)pero estos no me sirven, yo nesecito saber cual es el codigo de la ->,<-,de la tecla delete ,en realidad de todasd las teclas para un futuro,por que las teclas virtuales no me sirven. El hilo anterior que mande ayer es Cual le corresponde a cual ? por si quieren chequearlo. |
Hola. busca en el histórico del foro. hace poco mande bastantes.
Saludos |
Hola. Por lo que veo lo que deseas es utilizar el valor generado por cada tecla al ser pulsada para reconocerlas. He visto por ahi en algún lado (perdona si no te digo donde, pero es que no me acuerdo) las tablas de códigos de cada tecla.
Para obtener sus valores una solución seria que hicieras algo asi para saber cual es el valor original de cada tecla: - Revisa el teclado para ver si se ha pulsado una tecla. - Si se ha pulsado una: toma su valor e imprimelo en un label. Asi obtendrás el valor numérico de cada tecla. Es lo único que se me ocurre, pero sé que si buscas por aqui en el foro algo encontrarás. Saludos |
Pruba esto:
Saludos |
La franja horaria es GMT +2. Ahora son las 00:11:26. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi