FoxPro/Visual FoxPro - cancelar procdimiento de evento

 
Vista:

cancelar procdimiento de evento

Publicado por JOD (12 intervenciones) el 07/02/2007 01:08:38
Hola, quiero saber como cancelar un procedimiento de evento si se cumple una condicion IF, por ejemplo en Visual Basic se hace con Exit Sub pero aqui en VFoxPro ya me canse de usar IF , else endif para encerrar las muchisimas lineas de codigo de un Procedimiento de evento, lo que quiero hacer es poe ejemplo...

****EVENTO LOAD DEL FORMULARIO****

IF Condicion
SALIRME
Thisform.Release
ENDIF

BLA
BLA
BLA
BLA
BLA
BLA
BLA

Esto es para que no se ejecuten los BLA BLA BLA
Para ser mas especifico tengo un formulario que consulta el contenido de una tabla por medio de arrays, pero si la tabla aun no tiene registros me sale el error que dice que la referencia al subindice no es valida, por eso..

IF LaTablaNoTieneRegistros
SALIRME
ENDIF
BLA
BLA
BLA

Espero que me ayuden, creo que es algo muy simple, Un EXITSUB o un ExitProc o algo que tenga VFP por ahi.
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
sin imagen de perfil

RE:cancelar procdimiento de evento

Publicado por neo (1604 intervenciones) el 07/02/2007 01:33:13
Saludos..

trabajas con una grid?

Si es asi.. entonces valida la tabla primero, especificamente un campo si tiene valor, si no es asi, entonces...Ejemplo:

If Tabla.campo="" && si se trata de caracter
Messagebox("No existen datos por el momento",0+48,"Atencion")
Wait window "Cerrando pantalla" timeout .8
Thisform.Release
else
BLA
BLA
BLA
BLA

ENDIF
Thisform.Refresh

Espero sea de ayuda...

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:cancelar procdimiento de evento

Publicado por Roman Suazo (2723 intervenciones) el 07/02/2007 03:29:12
Usa el comando RETURN. El return te da la opcion de devolver un valor X...Checar la ayuda para ver otros detalles...
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
sin imagen de perfil

RE:cancelar procdimiento de evento

Publicado por Ernesto Hernandez (4623 intervenciones) el 07/02/2007 05:37:01
IF EOF()
mESSAGEbOX("nO EXISTEN REGISTROS",64,"mI SISTEMA")
THISFORM.RELEASE
RETURN TO MASTER
ELSE
BLA
BLA
BLA
ENDIF


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:cancelar procdimiento de evento

Publicado por jorge (423 intervenciones) el 07/02/2007 17:36:46
Como consultas la tabla ?
Select ?
en lugar de usar arrays (los cuales consumes demasiados recursos y te bajan el performance) usa mejor cursores.
ahora bien puedes checar antes si tienes registros en tu tabla o no
IF EOF().... o BOF().....
incluso, RECCOUNT()
puedes salir con RETURN, obien con ThisForm.Release.

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:cancelar procdimiento de evento

Publicado por Luis Lujan (16 intervenciones) el 07/02/2007 18:36:13
Lo que debes probar es utilizar ese script pero en el EVENTO ACTIVATE. Inicialmente el formulario lo inicias como VISIBLE=.F. y si encuentras data VISIBLE=.T. de los contrario THISFORM.RELEASE
Espero haberte ayudado.
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