Programación General > Visual Basic 6.0 e inferiores
Problemas Con Fecha
UserCode:
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.
cpmario:
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:
Nogard:
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:
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 --- TxtDia.Text = Day(Date) TxtMes.Text = Month(Date) TxtAño.Text = Year(Date) If Len(TxtAño.Text) = 4 Then TxtAño.Text = Mid(TxtAño.Text, 3, 2) End If
Sagutxo:
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:
Navegación
[#] Página Siguiente
Ir a la versión completa