FoxPro/Visual FoxPro - Help... ¿Cómo evitar salir de un formulario?? =)

   
Vista:

Help... ¿Cómo evitar salir de un formulario?? =)

Publicado por Andrea (325 intervenciones) el 09/02/2009 21:21:26
Hola a todos !!

En el evento KEYPRESS de un TEXTBOX de un FORMULARIO, puse esto:

- si el usuario presiona la tecla [ ESC] aparece un MESSAGEBOX preguntando si volver a empezar o si sigue.

Hasta ahí todo bien.

El problema es que si el usuario Acepta (Si), vuelve al comienzo y se posiciona en el campo inicial pero se nota que internamente guarda el valor del Esc porque directamente se va del formulario

(en el primer campo, lo definí para que si presiona Esc, salga del formulario)

¿COMO HACER PARA QUE DESAPAREZCA EL VALOR DE LA TECLA APRETADA ANTES DE QUE HAGA FOCO EN OTRO OBJETO???

Probé con CLEAR TYPEAHEAD pero es como si no lo hubiera puesto.

Espero que se entienda. SI no lo explico un poco mejor
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Help... ¿Cómo evitar salir de un formulario?? =

Publicado por Ernesto Hernandez (4632 intervenciones) el 09/02/2009 22:06:07
en el Evento KeyPrees puedes asignar un valor antes de que tengas el foco del otro objeto

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Help... ¿Cómo evitar salir de un formulario?? =

Publicado por kong (681 intervenciones) el 09/02/2009 22:06:20
hola.
no entendi por completo tu consulta pero

NODEFAULT
es para borrar el buffer del teclado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Help... ¿Cómo evitar salir de un formulario?? =

Publicado por Ernesto Hernandez (4632 intervenciones) el 09/02/2009 22:16:36
pero ten en cuenta que estas utilizando una misma tecla para 2 funciones diferentes asi que limpiar el buffer con NODEFAULT te puede afectar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauricio

RE:Help... ¿Cómo evitar salir de un formulario?? =

Publicado por Mauricio (1368 intervenciones) el 09/02/2009 22:37:35
- si el usuario presiona la tecla [ ESC] aparece un MESSAGEBOX preguntando si volver a empezar
IF MESSAGEBOX("Quiere reiniciar?",16+0+1,"Reiniciar") = 1
****** PROCESO DE REIINICIO
RETURN
ENDIF
************
O si sigue.
IF MESSAGEBOX("Quiere continuar?",16+0+1,"Continuar") = 1
****** PROCESO DE CONTINUAR
RETURN
ENDIF
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Help... ¿Cómo evitar salir de un formulario?? =

Publicado por Andrea (325 intervenciones) el 10/02/2009 00:42:59
Gracias por las sugerencias... Voy a tratar de simplificar la consulta.

Tengo un FORM con 2 TEXTBOX

1) En el primero debo ingresar el código de cliente => si el usuario presiona ESC, el formulario desaparece (En el Keypress de este objeto puse

IF nKeyCode=27 &&Esc
___Thisform.release
endif

2) En el otro TEXTBOX debo ingresar el código de producto.
Acá, si el usuario presiona ESC debe dar la alternativa de seguir o de volver al primer TEXTBOX.
En el Keypress de este objeto puse:

IF nKeyCode=27 &&Esc
___ rta=MESSAGEBOX("¿Desea salir de esta factura?",4+32+0,"Presionó ESC")
___IF rta=6 &&si
______ CLEAR typeahead
______(procedimiento donde limpio las variables y hago foco en el TEXT1)
___endif
Endif

SI PRESIONO ESC EN EL TEXTBOX2, SALE CORRECTAMENTE, PERO AL HACER FOCO EN EL TEXTBOX1, ME CIERRA EL FORMULARIO, COMO SI HUBIERA APRETADO ESC.

¿Adonde está el problema??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Help... ¿Cómo evitar salir de un formulario?? =

Publicado por kong (681 intervenciones) el 10/02/2009 03:24:16
hola otra vez.

intenta esto.

ponga NODEFAULT justo antes de la linea donde mandas THISFORM.TEXT1.SETFOCUS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Help... ¿Cómo evitar salir de un formulario?? =

Publicado por Andrea (325 intervenciones) el 10/02/2009 13:10:22
Gracias Kong, pero sigue haciendo lo mismo: sigue de largo y no para en el Textbox1, por lo que me borra el formulario.

Desde ya les agradezco cualquier idea

Andy
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Me olvidaba.... Un dato más que puede servir

Publicado por Andrea (325 intervenciones) el 10/02/2009 13:38:21
Utilizando la instrucción WAIT WINDOW puse carteles en todos los eventos que uso, me manera de saber si pasa o no pasa por alguno de ellos

Una vez que presiono ESC en el TEXTBOX2, cumple todo y pasa por los eventos WHEN y GOTFOCUS del TEXTBOX1 pero ahí se termina todo

No pasa por el evento VALID, KEYPRESS o el LOSTFOCUS del TEXTBOX1

Es como si le costara estacionar en TEXTBOX1.... ja ja ja (perdonen el ejemplo)

Recorrí el código pero no hay nada raro.¿Que puede ser???

Andy
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Me olvidaba.... Un dato más que puede servir

Publicado por enrique (1041 intervenciones) el 10/02/2009 15:11:40
proba de poner en el keypress del textbox2

IF nKeyCode=27 &&Esc
___ rta=MESSAGEBOX("¿Desea salir de esta factura?",4+32+0,"Presionó ESC")
___IF rta=6 &&si
______ CLEAR typeahead
______(procedimiento donde limpio las variables y hago foco en el TEXT1)
else
keyboard "{ctrl+0}"
___endif
Endif
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Me olvidaba.... Un dato más que puede servir

Publicado por Mario (199 intervenciones) el 10/02/2009 15:17:10
Hace un seguimiento con el Debug porque tenés algo mal en el código.
Fijate cuando limpias los values de los textbox.
Tenés código en el Gotfocus del Textbox1?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Help... ¿Cómo evitar salir de un formulario?? =

Publicado por enrique (1041 intervenciones) el 10/02/2009 15:18:12
relei el codigo que posteaste y note que si RTA=6 (si) borras todo y queres volver al TEXT1, no es que por SI te vas del formulario?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Help... ¿Cómo evitar salir de un formulario?? =

Publicado por Andrea (325 intervenciones) el 10/02/2009 16:54:29
Hola a todos

Enrique tenés razón: me equivoqué al poner el Post. El el MESSAGEBOX real dice si quiere cancelar la factura y volver a empezar.

En cuanto al Text1, tiene código en el gotfocus porque lo cambio de color porque el usuario se quejó que no se veía el que tenía el foco.

No creo que el problema esté en Text2, porque funciona bien. Lo raro en que en el TEXT1 no quede el foco.

Trataré de utilizar el depurador, aunque no sé como hacer para ir viendo qué hace después de que el TEXT1 tiene el foco
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Help... ¿Cómo evitar salir de un formulario?? =

Publicado por Ernesto Hernandez (4632 intervenciones) el 10/02/2009 17:07:47
solo inicia el depurador de manera independiente antes que la aplicacion y podras checarlo por aparte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Help... ¿Cómo evitar salir de un formulario?? =

Publicado por kong (681 intervenciones) el 10/02/2009 18:53:31
hola,
por un acaso tienes algo en el KeyPress del Form?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Help... ¿Cómo evitar salir de un formulario?? =

Publicado por Ernesto Hernandez (4632 intervenciones) el 10/02/2009 18:52:30
Andrea te envie un ejemplo a ver si eso es lo que quieres lograr

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar