Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Manejo de teclas en Borland C++

Estas en el tema de Manejo de teclas en Borland C++ en el foro de C/C++ en Foros del Web. Hola: Estoy desarrollando aplicaciones en Borland C++ 6 y tengo algunas dudas con el evento KeyPress. 1-) ¿Como hago para saber cuando se presionó la ...
  #1 (permalink)  
Antiguo 16/02/2007, 07:09
 
Fecha de Ingreso: febrero-2007
Mensajes: 12
Antigüedad: 17 años, 2 meses
Puntos: 0
Manejo de teclas en Borland C++

Hola:
Estoy desarrollando aplicaciones en Borland C++ 6 y tengo algunas dudas con el evento KeyPress.
1-) ¿Como hago para saber cuando se presionó la tecla enter (a que caracter eaquivale)?
2-) ¿Como hago para saber cuando se presionó un combinación de teclas, por ejemplo: Ctrl+< o Alt+S
Se que todo se hace mediante el evento KeyPress y en la variable Key (&Key) se almacena la tecla presionada, pero cuando presiono enter, la variable Key contiene un salto de linea, y no se como comprobar si ésta contiene un salto de linea.
Cualquier respuesta es útil.
Saludos.
  #2 (permalink)  
Antiguo 16/02/2007, 07:29
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Re: Manejo de teclas en Borland C++

Podes empezar probando con VK_RETURN.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 16/02/2007, 16:43
 
Fecha de Ingreso: febrero-2007
Mensajes: 28
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Manejo de teclas en Borland C++

El código ascii para la tecla entre me parece que es 13, pero lo mejor es hacer lo siguiente:

La tecla enter, como algunas otras del teclado (Cursores, F1, F2...) se componen de dos caracteres. Para el caso del Enter son '\0' y '\r'.
Lo que tienes que hacer es capturar un caracter y comparar con '\0'. Si el caracter leido es ese, capturamos otro caracter (Importante no vaciar buffers de lectura de teclado, pues al pulsar a enter, se leen los dos caracteres a la vez) y comparamos con '\r'. Si este segundo caracter es '\r', entonces se ha pulsado la tecla enter.
  #4 (permalink)  
Antiguo 16/02/2007, 16:46
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Re: Manejo de teclas en Borland C++

Cita:
Iniciado por Tilion Ver Mensaje
El código ascii para la tecla entre me parece que es 13, pero lo mejor es hacer lo siguiente:

La tecla enter, como algunas otras del teclado (Cursores, F1, F2...) se componen de dos caracteres. Para el caso del Enter son '\0' y '\r'.
Lo que tienes que hacer es capturar un caracter y comparar con '\0'. Si el caracter leido es ese, capturamos otro caracter (Importante no vaciar buffers de lectura de teclado, pues al pulsar a enter, se leen los dos caracteres a la vez) y comparamos con '\r'. Si este segundo caracter es '\r', entonces se ha pulsado la tecla enter.
¿Estas hablando de MS-DOS por casualidad? Tene en cuenta que esto es para Windows (por la version del compilador que menciona en la pregunta entre otras cosas) y el no lee el teclado directamente sino que le llega un evento con un parametro.

En cuanto a que sean dos caracteres un salto de linea ya dependera del S.O., puede ser \r o \r\n y el 0 es normalmente el terminador de una cadena en casi todos.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #5 (permalink)  
Antiguo 16/02/2007, 16:48
 
Fecha de Ingreso: febrero-2007
Mensajes: 28
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Manejo de teclas en Borland C++

Cita:
Iniciado por Eternal Idol Ver Mensaje
¿Estas hablando de MS-DOS por casualidad? Tene en cuenta que esto es para Windows (por la version del compilador que menciona en la pregunta entre otras cosas) y el no lee el teclado directamente sino que le llega un evento con un parametro.

En cuanto a que sean dos caracteres un salto de linea ya dependera del S.O., puede ser \r o \r\n y el 0 es normalmente el terminador de una cadena en casi todos.
Bueno. Eso lo usaba yo en el Borland 5.2 y funcionaba. No creo que sea tan diferente.
  #6 (permalink)  
Antiguo 16/02/2007, 16:50
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Re: Manejo de teclas en Borland C++

Cita:
Iniciado por Tilion Ver Mensaje
Bueno. Eso lo usaba yo en el Borland 5.2 y funcionaba. No creo que sea tan diferente.
Si era de 16 bits para MS-DOS seguro que es muy diferente al ser esto de 32 bits para Windows. De cualquier manera el esta usando un evento (KeyPress) a donde ya le llega un parametro (Key) con la tecla pulsada. En este caso debe buscar VK_RETURN que es efectivamente 13.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #7 (permalink)  
Antiguo 17/02/2007, 05:28
 
Fecha de Ingreso: febrero-2007
Mensajes: 12
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Manejo de teclas en Borland C++

Muchas gracias por todas las respuestas, pude solucionar la duda.
Saludos.
  #8 (permalink)  
Antiguo 17/02/2007, 06:16
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Re: Manejo de teclas en Borland C++

De nadas
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:59.