# ¿Como puedo detectar que se pulsa la tecla Enter?

**URL:** <https://foros.velneo.com/t/como-puedo-detectar-que-se-pulsa-la-tecla-enter/5479>\
**Category:** Velneo\
**Created:** [5 Septiembre, 2012 14:39 UTC](https://foros.velneo.com/t/como-puedo-detectar-que-se-pulsa-la-tecla-enter/5479 "2012-09-05T14:39:21Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![JMVA](https://avatars.discourse-cdn.com/v4/letter/j/47e85d/32.png) [@JMVA](https://foros.velneo.com/u/JMVA)\
**Post date:** [5 Septiembre, 2012 14:39 UTC](https://foros.velneo.com/t/como-puedo-detectar-que-se-pulsa-la-tecla-enter/5479/1 "2012-09-05T14:39:21Z")

</div>

Tengo abierto un formulario de MODIFICACIÓN e intento detectar errores del operador usuario. Un campo sólo puede tomar valor “A” o “B”. Pongo controles mediante un “manejador de eventos” y una “conexion de eventos” de manera que cuando ese campo pierde foco y su contenido no es válido, aparece un mensaje y el campo vuelve a recibir foco por lo que, teóricamente, no se podría abandonar el campo sin poner los valores correctos. Pero descubrí que si pones un valor incorrecto y si pulsas “Enter” se cierra el formulario de modificación con ese valor. ¿Como puedo detectar que se pulsa la tecla Enter y hacer que no se pueda salir del formulario sin poner los valores correctos?

---

<div class="post-metadata">

**Author:** ![ViperNET](https://avatars.discourse-cdn.com/v4/letter/v/f17d59/32.png) [@ViperNET](https://foros.velneo.com/u/ViperNET)\
**Post date:** [5 Septiembre, 2012 16:21 UTC](https://foros.velneo.com/t/como-puedo-detectar-que-se-pulsa-la-tecla-enter/5479/2 "2012-09-05T16:21:38Z")

</div>

Estimado ares

Me supongo que debes tener un botón “Aceptar”, el mismo que se activa cuando presionas la tecla “Enter”.

Lo que yo usualmente hago, es que en el botón “Aceptar” le asigno un evento, el mismo que a su vez valida la información del formulario antes de aceptar los cambios. Si pasa la validación, entonces se acepta, caso contrario, se rechaza y despliega un mensaje de error.

Espero haber ayudado.

Saludos,

Victor

---

<div class="post-metadata">

**Author:** ![jose1](https://avatars.discourse-cdn.com/v4/letter/j/dec6dc/32.png) [@jose1](https://foros.velneo.com/u/jose1)\
**Post date:** [5 Septiembre, 2012 17:01 UTC](https://foros.velneo.com/t/como-puedo-detectar-que-se-pulsa-la-tecla-enter/5479/3 "2012-09-05T17:01:38Z")

</div>

Prueba esto en un evento del formulario:

Define 2 variables:  
KEY = Alfabetica  
EVENT\_PARAMS = Alfabetica de tipo Array y 1 dimension

Luego en un evento: EVENTO\_INTRO

Set KEY , EVENT\_PARAMS[1]  
if ((KEY=16777220) | (KEY=16777221))

y dentro del IF ya sabes si se ha pulsado INTRO o RETURN

Crea una conexion de evento en un control de edición:  
Control: EDIT\_NOM  
Señal: Tecla soltada  
Slot: EVENTO\_INTRO

un saludo  
José Luis  
[http://www.ascsl.com](http://www.ascsl.com)

---

<div class="post-metadata">

**Author:** ![JMVA](https://avatars.discourse-cdn.com/v4/letter/j/47e85d/32.png) [@JMVA](https://foros.velneo.com/u/JMVA)\
**Post date:** [6 Septiembre, 2012 18:15 UTC](https://foros.velneo.com/t/como-puedo-detectar-que-se-pulsa-la-tecla-enter/5479/4 "2012-09-06T18:15:18Z")

</div>

Hola: Ante todo, José Luis, quería darte las gracias a por tu respuesta a mi problema.  
No obstante tengo que comentarte una cosa relacionada con el tema, cosa que puede ser interesante para otra gente a la que se le presente este problema  
Al hacer el evento (EVENTO\_INTRO), al intentar incluir en él la instrucción- Set KEY, EVENT\_PARAMS (1) -, al intentar incorporar la variable local EVENT\_PARAMS en el casilleto correspondiente de la instrucción Set, aparece un error de sintaxis, tanto si incorporo la variable con el Buscador de variables del Editor de fórmulas como si tecleo a mano, letra a letra, el texto EVENT\_PARAMS(1)  
Sin embargo esto no ocurre si la defino como variable global pero poniendo, en el editor de fórmulas de la instrucción Set, el nombre de la variable EVENT\_PARAMS y no EVENT\_PARAMS(1), que también da error de sintaxis.  
Aún no probé si funciona. Mañana será otro día

---

<div class="post-metadata">

**Author:** ![jordan-rene-pacheco](https://avatars.discourse-cdn.com/v4/letter/j/ebca7d/32.png) [@jordan-rene-pacheco](https://foros.velneo.com/u/jordan-rene-pacheco)\
**Post date:** [13 Junio, 2016 22:40 UTC](https://foros.velneo.com/t/como-puedo-detectar-que-se-pulsa-la-tecla-enter/5479/5 "2016-06-13T22:40:17Z")

</div>

hola,podrian decirme si existe algun equivalente para el “keypreview” para el formulario principal en velneo, de ante mano muchas gracias

---

<div class="post-metadata">

**Author:** ![tic-software](https://avatars.discourse-cdn.com/v4/letter/t/c4cdca/32.png) [@tic-software](https://foros.velneo.com/u/tic-software)\
**Post date:** [14 Junio, 2016 07:12 UTC](https://foros.velneo.com/t/como-puedo-detectar-que-se-pulsa-la-tecla-enter/5479/6 "2016-06-14T07:12:09Z")

</div>

Hola JMVA

Para un array debes usar corchetes, no paréntesis.

EVENT\_PARAMS[1]

Como variable global dudo que te funcione, por ser una variable local predefinida que maneja el propio formulario.

De todas formas, el problema de que se te cierre el formulario es porque tiene la propiedad botón por defecto a True en algún botón (el de aceptar o el de cancelar) por lo que captura la tecla enter dicho botón, quitándo esa propiedad evitarás ese comportamiento sin necesidad de capturar el Enter por evento.

Jordan, que yo sepa no existe la propiedad keypreview como tal.
