FoxPro/Visual FoxPro - ¿Se puede seguir porqué Evento va el programa???

   
Vista:

¿Se puede seguir porqué Evento va el programa???

Publicado por Andrea (325 intervenciones) el 23/07/2010 21:44:54
Hola a todos!!

Necesitaría saber si VFP tiene alguna forma de saber la secuencia de los eventos por los que va pasando un objeto (Seguimiento)

Algo como

Objeto.setfocos
Objeto.when
Objeto.keypress.
Objeto.valid..... etc, etc, etc

El orden teórico lo saqué de la ayuda, pero tengo un textbox que hace cosas inesperadas y necesitaría hacer un seguimiento.

Sé que puedo poner una bandera en cada evento (Wait window, por ejemplo) pero la pregunta es si hay algo más adecuado.

Muchas gracias =)
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:¿Se puede seguir porqué Evento va el programa??

Publicado por es_binario (757 intervenciones) el 23/07/2010 22:32:23
Foxpro cuenta con el debugger o depurador te vas a herramients (tools) depurador (debugger) y luego ahi abres el form que deseas depurar dando le clicn en archivo(file) Abrir(open) y ahi en tipo escoger form luego siemplemente lo buscas dentro de tu programa y le puedes dar seguimiento paso a paso

Saludos.
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:¿Se puede seguir porqué Evento va el programa??

Publicado por Andrea (325 intervenciones) el 23/07/2010 23:00:02
Gracias Es_Binario!!!

¡TAL VEZ ME PUEDAN AYUDAR!!

En un Textbox tengo definido 4 eventos

- WHEN (Define si puede entrar, depende de una condición inicial)

- GOTFOCUS (Cambia el color cuando hace foco)

- VALID (Verifica que el valor sea correcto)

- LOSTFOCUS (depende el valor del TEXTBOX hace foco en 2 o 3 objetos distintos)

El LOSTFOCUS lo definí así porque en VALID no me deja usar SETFOCUS

(Recordar que va a uno o a otro objeto, dependiendo del valor del Textbox)

EL PROBLEMA QUE TENGO ES QUE SE EJECUTA 2 VECES EL EVENTO VALID Y EL EVENTO LOSTFOCUS
Seguimiento:
objeto.valid
objeto.lostfocus
objeto.valid
objeto.lostforeacus

y por eso, aparecen 2 veces algunos carteles
EJ: ¿Está seguro que el valor es negativo??

Muchas gracias!!
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:¿Se puede seguir porqué Evento va el programa??

Publicado por es_binario (757 intervenciones) el 24/07/2010 01:20:18
Bueno desde un evento valid no puedes hacer un setfocus eso es claro, ahora la verdad y lo digo por esperiencia foxpro no es bueno con tantos eventos suele haber problemas pero la mayoria referentes a la planeacion logica de tu programa (error del programador), bueno sin ir muy lejos todo depende de que trates de hacer y a que otros objetos del form deses regresarle el enfoque si pasa esto u lo otro, tambien recuerda que cuentas con el return -1, return -2 etc. para dar enfoques despues de que una condicion no se cumpla

Te platico de una solucion que yo tengo por ejemplo en un punto de venta, en el evento valid tengo la validacion del codigo de barras y solo si este existe agrega un articulo al inventario pues bien en el assign assigninteractivily el siguiente textbox al txtcodbarra que tiene el valid antes mensionado tengo que cuando reciba enfoque lo pase de nuevo al txtcodbarra haciendo que siempre este el cursor en ese cuadro y asi poder ingresar codigo tras codigo sin hacer pausas con el escaner, pero obviamente esa solucion es un tanto creativa, pero tal vez no la adecuada.

Como te comente antes todo depende de que estes tratando de hacer por que tal vez la solucion sea mas sencilla de lo que parece y con uno o 2 metodos puedas validar las operaciones sin tanto codigo o demadiados metodos.

si puedes decir que es lo que realmente deseas hacer o que hace ese textbox y que deberia de esar en caso a que una clausula se compla te podamos apoyar mejor.

Saludos desde Mexico.
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

Se puede seguir porqué Evento va el programa???

Publicado por Mauricio (1367 intervenciones) el 23/07/2010 22:52:37
Tambien puedes usar el SET STEP ON y para terminar el SET STEP OFF.
Te dire que es trabajoso y se necesita de mucha paciencia!"!!!!!!!!!!!!!!!!!!!!!!
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:Se puede seguir porqué Evento va el programa???

Publicado por Andrea (325 intervenciones) el 24/07/2010 00:30:12
Gracias Mauricio.!!!

Paciencia hay de sobra ja ja

Ahí lo pude hacer andar, pero tengo un problema de recursividad con un Textbox que comenté en el Post anterior. (Respuesta a Es_Binario)

¿Se les ocurre alguna solución?

Gracias =)
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

Se puede seguir porqué Evento va el programa???

Publicado por Mauricio (1367 intervenciones) el 24/07/2010 00:47:35
Puedes poner el codigo del VALID y del GOSTFOCUS, sabes no existe recursividad a menos que uno lo programe de esa manera por un error de ingreso o cualquier otra cosa de lo contrario no hay repeticion de ciclos....
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:¿Se puede seguir porqué Evento va el programa??

Publicado por Andrea (325 intervenciones) el 24/07/2010 05:55:27
Gracias a todos por las sugerencias!

Es un Textbox donde se ingresa la cantidad de elementos facturados, en lo que sería el típico
código producto cantidad precio total

El código da artículo se ingresa por código de barra (es para un supermercado)

La cantidad puede ser:
- Automática: siempre 1
- Manual: para el caso que quiera cambiar la cantidad por defecto, el cajero debe presionar una tecla (F12/Botón) para que al pasar por el TEXTBOX cantidad, el cursor se pare para que ingrese un valor distinto
- Negativa: si se trata de una devolución o de un error de cajero
- Especial: si es un artículo por peso (está conectado a una balanza y la cantidad puede variar)
- De retorno: si el cajero ingresa 0 (en forma manual) es porque quiere volver a ingresar un código distinto.

Todo eso en VALID

En LOSTFOCUS
- Si es automatica, o manual positiva ->va a confirmar la línea
- Si es negativa -> avisa y sigue -> va a confirmar la línea
- Si es 0 -> limpia todo y vuelve al textbox del código
- Si el precio lo puede poner el cajero (casos especiales) va al textbox siguiente.

Ese es el panorama =)

Gracias
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

Te paso un ejemplo para darte una idea

Publicado por es_binario (757 intervenciones) el 24/07/2010 20:44:14
Esta algo raro tu forma de hacer un punto de venta, pero claro la verdad yo no tengo esperiencia con supermercados, y te comento la clave del punto de venta es su velocidad es decir que nada mas pasas los productos por el lector de codigo de barras y eso deberia de ser todo, por otra parte tu forzosamente haces que pase por la cantidad demorando en la captura cuando simplemente si pasan mas de una vez un producto por ahi eso deberia de actualizar los productos encuanto a cantidad por bascula mas bien tambien tener otro boton donde diga obtener cantidad de bascual y listo.

Mira te paso un codigo que tengo de un punto de venta en este caso no manejo lo de la bascula pero puedes ver lo del boton cantidad, yo lo tengo trabajando muy bien, este es una version vieja ya que la version definitiva termine haciendola en c#, sin embargo esta te mostrara mi punto de vista sobre el punto de venta

el formulario en cuestion se llama puntov

y la ruta del projecto es en la unidad c:\Farmacia ahi va todo el projecto o ejecutable y si lo descomprimes haves te una ruta algo asi c:\Farmaciai\Farmaciai

espero te sirba, sobre todo checa lo de como regresa el foco a textbox que captura el codigo de barra. en el evento valid, tambien checa que en el gofocus del total es donde esta la clave de todo el projecto es decir con respecto a el foco siembre en el codigo de barra

Saludos

Link
http://www.megaupload.com/?d=X59RV7KL
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

es_binario c#

Publicado por armando (3 intervenciones) el 26/07/2010 17:48:18
amigo

para los que estamos teniendo la intencion de migrar a C#

segun tu experiencia foxera y tu experiencia c#

es mejor el manejo de eventos en c# ?

con relacion a los cursores que uno trabaja en fox

en c # creo que son datasets

lleva mas codigo en c# que con fox ?

que ventajas tienes con c# que con fox

usas alguna herramienta case para desarrollar en c#
he escuchado de un DEVX (developer express que es bien poderoso)

gracias,
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