FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Código ascii de la tecla +
Hola,
no se si es que yo tenía un concepto equivocado o estoy haciendo algo mal, pero me he encontrado con el siguiente problema, cuando yo tengo que saber si se ha pulsado cierta tecla voy a mirar mi tabla ascii, veo el valor decimal que le corresponde a la tecla que quiero controlar y entonces me voy al keydown y compruebo. Hoy quería comprobar si se ha pulsado la tecla '+', en mi tabla ascii me dice que el valor es 43, pero el código no me respondía bien, entonces voy a comprobar porque no funciona y me encuentro con que si pulso el '+' del bloque numérico su valor es 107, que sería la 'k', y si pulso el '+' que hay al lado del intro me dice que el valor es 187 que correspondería con '╗', también me encuentro que las letras da igual que las pulse en mayúscula que en minúscula que me devuelve siempre el valor de mayúscula, ¿es que la comprobación no se hace como lo estoy haciendo yo?, gracias de antemano. Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta. |
#2
|
|||
|
|||
Hola: y si pones asi en el evento onkeypress te sirve??
|
#3
|
||||
|
||||
Hola,
el código lo tengo puesto en el evento onkeydown para saber si la tecla que estoy controlando se mantiene pulsada cuando hago otras cosas en el formulario, en el onkeyup pongo la variable pulsada:=0. Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta. |
#4
|
||||
|
||||
¿Que versión de Delphi estás utilizando? Porque con el soporte unicode de las nuevas versiones, creo que dá más de un problema con los Ascii, Ansi y widestring
Un saludo |
#5
|
||||
|
||||
Hola ElDioni.
Cada tecla tiene asociado dos valores, uno es el código interno de la tecla (código de rastreo) y el otro el código ASCII del caracter que tiene asignado. Por ejemplo, tanto la letra 'A' como la letra 'a' tienen un valor scan code igual a 65, sin embargo, el código ASCII de la letra 'A' es 65 y el de la letra 'a' es 97. El parámetro Key en los eventos OnKeyDown y OnKeyUp contiene el valor del código de rastreo del teclado, para obtener el código ASCII de la tecla presionada hay que evaluar el valor del parámetro Key en el evento OnKeyPress. El órden en que se disparan los eventos anteriores es OnKeyDown, OnKeyPress y OnKeyUp. Estos son los códigos de rastreo de un teclado estándard: Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#6
|
||||
|
||||
Hola, gracias por contestar,
mi versión de delphi es la 2005. he estado buscando con respecto a lo que me comentas ecfisa pero hay una cosa que no acabo de entender o no se de donde sale, como hemos comentado la 'A' y la 'a' aparecen como 65 en el evento OnKeyDown, pero si voy al dibujo que me has adjuntado no veo donde aparece ese 65 o de donde lo tengo que sacar, me lo podrías aclarar. Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta. |
#7
|
||||
|
||||
Hola ElDioni.
Los valores del scan code en la imágen estan en hexadecimal: (41)h = 65d. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#8
|
|||
|
|||
Hola...
Puedes usar la constante VK_ADD para detectar si se pulsó la tecla +. Esta y otras constantes las encuentras en la unidad Windows.pas. También en la ayuda de Delphi, bajo el tema Virtual Key Codes podrás encontrar una lista de todas estas constantes. Saludos... |
#9
|
||||
|
||||
Hola ElDioni.
Aquí conseguí una tabla completa de scan codes Si quisieras obtener el número de tecla (Hex Scan Code) podrías usar la función MapVirtualKey. Un ejemplo: Pero no se puede obtener código ASCII de forma directa a partir del valor recibido. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#10
|
||||
|
||||
Hola
Aqui esta este programa que genera lo de las techas entre otras cosas. Saludos
__________________
Siempre Novato Última edición por Caral fecha: 17-09-2012 a las 01:19:12. |
#11
|
||||
|
||||
Hola,
lo primero muchas gracias a todos por sus aportes, voy a hacer unas pruebas y ver como me queda pero con la información que me dieron tengo más que suficiente, de nuevo gracias. Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Sustituir Codigo ASCII Fichero texto | lacovera | Varios | 12 | 13-11-2009 14:38:28 |
Convertir caracter a codigo ASCII | Tecnic2 | OOP | 13 | 28-03-2009 15:07:09 |
Codigo ascii | Luli | Varios | 2 | 26-04-2005 10:11:13 |
código ascii | davidgaldo | Varios | 5 | 10-11-2004 23:16:07 |
Código ASCII estendido | rafita | Varios | 2 | 14-09-2004 14:01:10 |
|