FoxPro/Visual FoxPro - Boton Siguiente

   
Vista:

Boton Siguiente

Publicado por Rafael (51 intervenciones) el 13/02/2009 15:07:25
tengo un formulario que cuando carga o se activa, abre una tabla y se posiciona en el primer registro, en el mismo formulario tengo un boton de comando "BtnSiguiente" en el cual tengo el siguiente codigo

"BtnSiguiente al hacer Click"

IF !EOF()
thisform.command3.Refresh
thisform.Refresh
SKIP 1
ENDIF

IF EOF()
thisform.command3.Refresh
thisform.Refresh
GO bottom
WAIT WINDOW "Ultimo Registro" NOWAIT
ENDIF
thisform.Refresh
RETURN

ahora no entiendo porque tengo que darle dos (02) veces al boton para que se ubique en el siguinte registro? le doy un clik y se ubica como en un registro en blanco, porque sera..... ?

saludos, gracias de antemano..... acepto cualquier sugerencia!
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:Boton Siguiente

Publicado por Plinio (7771 intervenciones) el 13/02/2009 19:18:01
Algo de logica.
El primer grupo de codigo, pregunta si no esta esta en fin de archivo, avanza un registro (prefiero el refresh luego del skip) y mas abajo sigue ejecutandose el codigo preguntandose si esta en fin de archivo y lo envia al ultimo registro. Pon un SET STEP ON y mira como se desarrolla tu codigo.
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:Boton Siguiente

Publicado por alex (1 intervención) el 13/02/2009 19:53:32
Hola Rafael,

Puedes hacer lo que dice plinio y asi te daras cuenta que es lo que esta haciendo el programa segun el codigo que escribiste. Con el pasar del tiempo y sumandole lineas de codigo a la experiencia como programador se van desarrollando habilidades que permiten simplificar el codigo para que con menos lineas haga lo mismo o inclusive mas. Puedes hacer algunas modificaciones a tu codigo para que haga lo mismo en menos lineas.

IF !EOF()
SKIP 1
ELSE
GO bottom
WAIT WINDOW "Ultimo Registro" NOWAIT
ENDIF
thisform.command3.Refresh
THISFORM.REFRESH
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