FoxPro/Visual FoxPro - contador

   
Vista:

contador

Publicado por Sebastian (244 intervenciones) el 31/03/2011 23:43:47
Hola programadores tengo este codigo todo funciona bien cuando ingreso los primeros registros el problema cuando vuelvo a ingresar los datos para obterner los resultados, muestra este mensaje "Se ha encontrado el final del archivo", como puedo hacer para que no muestre este mensaje y me deje seguir registrando datos. Gracias.

IF empty(thisform.text4.value)
WAIT windows "Ingrese la fecha correspondiente"
thisform.text4.setfocus()
ELSE
SELEC Calendario
*
REPLACE Fec_Ini With thisform.text4.value
REPLACE Fec_Fin With Fec_Ini + thisform.text1.value
*
Contador = 1
DO While Contador < 54
W_Fec_Ini = Fec_Fin + 1
W_Fec_Fin = Fec_Fin + 7
Skip
REPLACE Fec_Ini With W_Fec_Ini
REPLACE Fec_Fin With W_Fec_Fin
Contador = Contador + 1

IF Contador >= 53
EXIT
ENDIF
ENDDO
endif
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
¿Conoces el concepto de BOF() y EOF() ?

Porque si no es así... no entiendo cómo estás programando en VFP.
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

contador

Publicado por rubert (9 intervenciones) el 05/04/2011 00:29:00
hermano usa la condicion if eof()
ejemplo

contador=1
do while contador<=54
replace fecha with mfecha
contador =contador+1
skip
if eof()
exit
endif
if contador>=53
exit
endif
enddo
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

contador

Publicado por sebastian (244 intervenciones) el 01/04/2011 15:58:45
Bueno pero puedes explicarme el concepto no hay problema y si fuera posible aporyarme con este 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

contador

Publicado por xx (378 intervenciones) el 02/04/2011 15:50:39
La funcion EOF() -> chequea que no se haya llegado al final de la tabla activa podrias replantear tu bucle usando la siguiente estructura


SELECT Calendario
DO WHILE !EOF()
REPLACE ....
SKIP +1
ENDDO

o
SCAN
REPLACE ...
ENDSCAN
que no requiere SKIP para avanzar en cada registro

Lamentablemente no se entiende que es lo que hace tu codigo, por eso no puedo ayudarte mas
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

contador

Publicado por sebastian (244 intervenciones) el 04/04/2011 19:24:40
Gracias voy a remplantearlo
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