• Domingo 22 de Diciembre de 2024, 19:37

Autor Tema:  Problemas Con Fecha  (Leído 2443 veces)

UserCode

  • Miembro MUY activo
  • ***
  • Mensajes: 338
    • Ver Perfil
Problemas Con Fecha
« en: Martes 18 de Octubre de 2005, 01:05 »
0
aqui yo con un nuevo problemilla en esto con respecto a la fecha

En una ventana aparece la fecha pero no en un solo TextBox sino en 3, es decir, asi: TxtDia, TxtMes, TxtAño, se encuentra compuesto de esa forma por la exigencia de la ventana y cuestiones para su impresion.

Lo que hice fue poner Date en cada TextBox pero usando Mid lo cual se carga en el Load de la ventana asi:

TxtDia.Text = Mid(Date, 1, 2)
TxtMes.Text = Mid(Date, 4, 2)
TxtAño.Text = Mid(Date, 9, 2)

Esto saca por ejemplo el dato en cada TextBox algo asi: [17] [10] [05]
([ ] => TextBox ejemp)

El problema es que para mi gran sorpresa, en mi PC con WinXP el año sale bien: 05

Pero probe en una pc con win98 y para que el 05 salga debo cambiar las cosas asi: TxtAño.Text = Mid(Date, 7, 2)

Probablemente el la PC con Win98 la fecha esta configurada a 17/10/2005 y en la otra a 17/10/05 en realidad es una suposición.

Con TxtAño.Text = Mid(Date, 7, 2) en mi PC con WinXP donde antes salia el 05 ahora sale 20.

Qué debo hacer con respecto a capturar la Fecha del sistema para que siempre salga bien los digitos de la Fecha sin importar sea Win98, 2000, Me o XP.
De igual forma me preocupa que pueda estar en otras PC: mm/dd/yy y en otras dd/mm/yy (ó /yyyy y no /yy).

Como podría crear una especie de standar fijo de recolección con respecto al dato de la fecha, gracias.
Si esto es Leído por accidente, induzca al vomito

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Problemas Con Fecha
« Respuesta #1 en: Martes 18 de Octubre de 2005, 03:23 »
0
El problema se presenta principalmente en Windows 98.
Tengo una rutina que encontré en la red y la adapté para mis programas. Te la adjunto.
En un pequeño programa que demuestra como elaborar por medio de programación una base de datos en dao. La rutina que te interesa se encuentra en el módulo modSystem.
Espero te sirva.

 :comp:  :smartass:
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

Nogard

  • Miembro activo
  • **
  • Mensajes: 27
    • Ver Perfil
Re: Problemas Con Fecha
« Respuesta #2 en: Martes 18 de Octubre de 2005, 04:25 »
0
Mi estimado Usercode...

La solucion es la siguiente:

La funcion DATE ya kontiene las propiedades para obtener la parte ke kieras de la fecha...

Para el dia es DAY
Para el mes es MONTH
Para el Anio es YEAR

Por ejemplo si kieres ke la variable A kontenga el dia de la fecha entonces seria:

   A=DAY(DATE)

y listo...

Para el anio unikamente valida la kantidad de karakteres kontenidos y usas el mid para rekortar la kadena en kaso de ke sea el formato largo.

Aki te pongo esta rutinita ke espero te sirva de ejemplo


textdia.txt=DAY(DATE)

textmes=MONTH(DATE)

textanio=YEAR(DATE)  
     if len(textanio.text=4) then   ** En kaso de ke sean 4 karakteres

        textanio.text=mid(textanio.text,3,2)  ** rekorta tomando solo los ultimos 2
     End if
       

Listo...

Espero haber ayudado en algo

Suerte...

Solo hay 10 tipos de personas... Las ke entienden kodigo binario y las ke no.[/size]

UserCode

  • Miembro MUY activo
  • ***
  • Mensajes: 338
    • Ver Perfil
Re: Problemas Con Fecha
« Respuesta #3 en: Martes 18 de Octubre de 2005, 04:38 »
0
Muchisimas gracias a ambos, estoy viendo el modulo que me indicaste cpmario

Gracias Nogard mira aqui tengo ese nuevo codigo puesto pero me sigue apareciendo 20 en TxtAño, al llegar al IF indica que es =20
El Year(Date) me arroja 20 tambien.

El problema con esto es precisamente el Año, si lo muevo de 20 a 05 al ver en win98 no saldra nada en TxtAño porque debo bajarle a Mid(Date,7,2) para que en Win98 salga en TxtAño=05
Claro al volver a mi PC con WinXP saldra TxtAño=20 :(

Código: Text
  1.  
  2.     TxtDia.Text = Day(Date)
  3.     TxtMes.Text = Month(Date)
  4.     TxtAño.Text = Year(Date)
  5.     
  6.     If Len(TxtAño.Text) = 4 Then
  7.         TxtAño.Text = Mid(TxtAño.Text, 3, 2)
  8.     End If
  9.  
  10.  
Si esto es Leído por accidente, induzca al vomito

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Problemas Con Fecha
« Respuesta #4 en: Martes 18 de Octubre de 2005, 14:11 »
0
Salu2.  

   Yo siempre he utilizado lo que te comenta nogard: Day, Month y Year. Tanto en win98 como en cualquier otro, y hasta ahora no me ha dado ningun problema.

   Hace alrededor de un año he empezado a utilizar DtPicker mas que nada por presencia, y la verdad es que merece la pena. Pruebalo, te gustara su manejo.

   Añade a tu programa el componente : Microsoft Windows Common Controls 2 6.0 (SP6)

Agur.   :smartass:  :comp:  :smartass:
Mi mujer tiene un físico bárbaro!!!. Einstein.

UserCode

  • Miembro MUY activo
  • ***
  • Mensajes: 338
    • Ver Perfil
Re: Problemas Con Fecha
« Respuesta #5 en: Martes 18 de Octubre de 2005, 14:57 »
0
No puedo usar ese control, debe ser TxtDia, TxtMes y TxtAño porque la data aparece y se imprime en unas guias prediseñadas :(
Si esto es Leído por accidente, induzca al vomito

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Problemas Con Fecha
« Respuesta #6 en: Miércoles 19 de Octubre de 2005, 00:25 »
0
Yo también me quebré la cabeza con esto, ya que la fecha en las bases de datos da este problema.
La mejor solución que encontré es cambiar en la configuración regional de Win98 la fecha, para que quede "dd/mm/aaaa", puedes hacerlo manualmente o con el código que te adjunté anteriormente.

 :whistling: