La Web del Programador: Comunidad de Programadores
 
    Pregunta:  437 - FOXPRO FOR DOS 2.6 Y AÑO 2000
Autor:  Jose Miguel
nesito informacion del True comportamiento del foxpro for dos en cambio de siglo, ya que he efectuado pruebas con el set century on/off, pero no me convencen.
atte muchas gracias.

  Respuesta:  Leo Aramendi
Hola amigo la unica manera de solucionar este problema es activando el comando SET CENTURY ON &&&& 4 DIGITO AÑO Y CON SET DATE TO FRENCH activas formato de fecha DD/MM/AAAA por defecto foxpro trae MM/DD/AAAA

bye

  Respuesta:  manuel medina jimenez
Hola Amigo, soy Dominicano.

Tu problema se solucina solo con poner SET CENTURY ON en tu programa principal, luego todos los campos tipo fecha tanto de memoria como de base de datos tomaran el formato. Es tu solucion.
cualquier cosa sobre foxpro me la puede pedir directamente.
A tus ordenes

  Respuesta:  Juan Carlos Flores
Amigazo, yo trabajo como programador para sistemas en Foxpro 2.6 y VFP 6.0, cuando se acerco el fin de milenio tuve muchas dudas, pero como a estas alturas ya te habras dado cuenta, la cláusula SET CENTURY ON resuelve el conflicto, y todos los consejos que te han dado son muy acertados. Respecto a lo del uso de 00 en vez de 2000 en la escritura de datos, es dificil acostumbrar a los usuarios a no hacerlo, máxime si lo hacen a menudo en otros programas de Wndows, asi que escribi la siguinete rutina:

IF YEAR(M.FECHA) < 1980
Anio=ALLTRIM(STR(YEAR(M.FECHA)))
Anio=ALLTRIM(Anio)
Anio=SUBSTR(Anio,3,2)
FECHA2=DTOC(M.FECHA)
FECHA2=SUBSTR(FECHA2,1,6)+"20"+Anio
M.FECHA=CTOD(FECHA2)
SHOW GETS && Actualiza campos gets del Screen
ENDIF

M.fecha representa la variable de fecha.

Esto te da un Roll Over desde 1980 al 2079

  Respuesta:  Foxito
Hola: te sugiero
1.- Crear un campo adicional SIGLO donde guardaras el prefijo del año del actual registro.
2.- Convertir el actual campo fecha a Caracter de 10 para almacenar las fechas en formato texto.
3.- Migrar a una version superior (Visual FoxPro 3,5 o 6).

  Respuesta:  JVG_FOX
Al inicair el programa tienes que activar SET CENTURY ON, lo que habilita las tablas para 4 digitos en el año, Además debes modificar todos los programas en los picture a 99/99/9999. Y listo.
Puedes seguir utilizando tu aplicación.
Obviamente la actualización a Viusual es lo ideal, pero se necesita recursos

  Respuesta:  Miguel Pena
Hola colega, en el web de Microsof hay informacion que te pueden ayudar bastante. Ahi encontrara una quia de los comando que no puedes utilizar para el proximo milenio.

El CENTURY ON funciona perfectamante, siempre y cuando no utilice los comandos (UPDATE,etc.) no autorizado por MS para el 2000. Espero encuentre la solucion en el web.


  Respuesta:  Fredy
Una alternativa puede ser activar el prefijo del siglo con set century on, aparte de esto almacenar la fecha no como un campo fecha sino como caracter, haciendo la conversion con la funcion (ctod(fecha)), puesto que los campos en formato fecha solo almacenan ocho caracteres, omitiendo el prefijo del siglo, lo cual aparentemente es controlado por Set Century On, pero en realidad el campo fisicamente sigue teniendo ocho caracteres, entonces una alternativa, incluso para facilitar futuras migraciones, es manipular las fechas como campos tipo caracter de 10 caracteres, y hacer la conversion de la fecha, para efectos de validacion, la captura del dato fecha se puede seguir haciendo en una variable fecha, puesto que asi se facilitan las validaciones, pero al pasar la informacion a la tabla se realiza la conversion. ahora, si en un futuro se piensa migrar, pues facilmente como la nueva version de fox ya tiene corregido el problema de la fecha, pues simplemente se crea un c!
Campo tipo fecha y se convierte la que estaba en formato caracter a fecha con la funcion (ctod(cadena)). Espero que te sirva de algo. chaoo.

  Respuesta:  Jorge Alvarado
Puedes empesar por abrir las tablas con set century on y comiensas a meter años del siglo 2000, en versiones anteriores si no me equivoco solo soporta hasta el año 2006, pero son para tablas del tipo dbase, las que todavia sobreviven son las de Foxpro 2.5 para arriba y acuerdate que dependiendo del programa que estes utilizando podras hacer un UPGRADE  a tus Tablas!!!!

Mejor piensa en emigrar a VFP 5.0 !!!!


  Respuesta:  Ahmed Bustamante
Desde Huaraz -Perú, me parece interesante tu preocupación y como bien lo señalaban anteriormente colocando SET CENTURY ON y luego ingresar las fechas a las bases de datos aparentemente es la solución correcta, pero para salvar posibles inconvenientes te recomendaría que a tus bases de datos aumentes un campo siglo el cual al ordenarse con tu campo fecha (SIGLO+FECHA) lógicamente salvarías cualquier problema ....
suerte !!!

  Respuesta:  Samuel Angel herbas Bonza
Por la largada de la respuesta, esta en el archivo resp437.txt