viernes, 31 de enero de 2014

Evitar salir del control Text al presionar BackSpace (borrar)

Saludos. He estado un poco ausente... pero aqui otra vez con algunas nuevas entradas... nunca nos olvidamos de las personas que encuentran alguna utilidad en el blog.

Hoy proponemos una solución a una inquietud simple pero que aqueja a muchos programadores de Visual FoxPro: como evitar que el cursor de escritura salga del control text y regrese al control anterior text cuando borramos el contenido total del primer objeto al presionar BackSpace o tecla de borrado.

Agradezco mucho el aporte del usuario yondaime del dia 12 de mayo de 2016. Gracias a èl pude corregir un error en el retazo de codigo... agregando la "colita" THIS.SelStart = 0". Gracias a esta forma, se puede trabajar indistintamente del tipo de dato (sea numerico o caracter) del control... y se puede retornar eficientemente a la posicion inicial, es decir, que el valor del control sea = "" en el caso de tipo de dato texto ò = 0 en el tipo de datos numerico. Excelente aporte yondaime.. eres un capo! xDxD

**--
IF nKeyCode = 127 AND (THIS.SelStar = 0)
  NODEFAULT
ENDIF
**--//


Con ésto, cuando presiones 'BACKSPACE' el cursor de escritura no regresará al control text anterio, sino que permanece en el control actual.

Cualquier duda, sugerencia o comentario para mejorar es bienvenido siempre que no sea con fines ofensivos! :) :)

Saludos!
Desde Managua, Nicaragua!
Ravenn :D :D :D

4 comentarios:

  1. Buenas noches.
    Logré mejorar esta solución amigo, le copio el código:

    IF NKEYCODE = 127 AND (THIS.SELSTART = 0) THEN
    NODEFAULT
    ENDIF

    Funciona indistintamente del tipo de dato.
    Gracias por su aporte.

    ResponderEliminar
  2. Hola yondaime! Infinitas gracias por la correcion. Has de creer que hasta ahora, muchos años despues, detecte que con el codigo anterior... si dejaba espacios en blanco al inicio del control, no podia borrarlos con backspace...! Con tu forma, si he podido. Gran aporte. Gracias! Estamos en contacto. A ver que dia de estos meto nuevas entradas... el blog lo he tenido fuera de linea por cosas laborales desde hace mucho! Jeje! Suerte. Desde Managua, Nicaragua! Ravenn.

    ResponderEliminar
  3. Hola buena tarde, estoy algo confundido. En que parte se tiene que implementar este codigo??

    ResponderEliminar