Problemas con DtPicke

Problemas con DtPicke

Postby fgondi » Fri Feb 08, 2013 10:43 am

El problema viene derivado de la visualización de fechas en formato dd/mm/aaaa.

Al mostrar el campo dtpicke por defecto muestra a fecha del sistema, que normalmente suele ser la fecha que hay que usar.
Pero a veces hay que poner una fecha anterior.

Todo funciona correcto, salvo cuando estamos en un mes de 30 días y se quiere poner como fecha el día 31 del mes anterior.

Ejemplo:
Hoy es 08/02/2013 y por tanto por defecto esa es la fecha que muestra el dtpicke. Que además es lo que tiene que hacer.
Si se quiere introducir como fecha el 31/01/2013 no lo permite porque el mes activo es febrero.
Hay que cambiar primero el mes y luego el día.

Entiendo el funcionamiento. Pero se podría cambiar de alguna forma para que:
O bien no valide la fecha hasta que me intente salir del campo
O bien autocambie el mes al inmediatamente anterior. Al igual que hace si teniendo la fecha 31/01/2013 introduces el mes 02, el sólo cambia el día a 28
Un saludo
Fernando González Diez
ALSIS Sistemas Informáticos
User avatar
fgondi
 
Posts: 694
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España

Re: Problemas con DtPicke

Postby Antonio Linares » Fri Feb 08, 2013 11:29 am

Fernando,

La clase TDatePick utiliza el control estandard de Windows "SysDateTimePick32", luego en principio el comportamiento que comentas esta controlado por el propio Windows, y no controlamos el proceso de validación de fechas salvo que se pueda hacer algo via las noticiaciones que se reciben (Method Notify()).

Puesto que es un control propio de Windows podrias probarlo desde un editor de recursos como el PellesC, mostrando un dialogo en modo test, y asi ver si el control (sin la clase de FWH) hace lo mismo en el propio editor de recursos.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42068
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Problemas con DtPicke

Postby fgondi » Fri Feb 08, 2013 1:37 pm

Antonio,

Antonio Linares wrote:La clase TDatePick utiliza el control estandard de Windows "SysDateTimePick32", luego en principio el comportamiento que comentas esta controlado por el propio Windows, y no controlamos el proceso de validación de fechas salvo que se pueda hacer algo via las noticiaciones que se reciben (Method Notify()).

Ya he probado a colocar "?" en Method Notify() y ni si quiera pasa por ahí.
Intentaba que se si pasaba por Notify(), controlarlo cambiando el mes.

Antonio Linares wrote:Puesto que es un control propio de Windows podrias probarlo desde un editor de recursos como el PellesC, mostrando un dialogo en modo test, y asi ver si el control (sin la clase de FWH) hace lo mismo en el propio editor de recursos.

Uso como editor de recuros PellesC y si, en el modo test, también lo hace.

Buscando en internet por los foros de visual basic, tampoco encuentro nada. Es lógico, el sistema de fecha inglés es año/mes/dia o mes/dia/año por lo que no tienen problemas y que por otra parte es mucho mas lógico.
Aquí en España, ni me planteo decir a la gente que las fechas que introducen en el sistema van en otro formato.

Si no hay solución, tendré que dejar de usar el dtpicker, y pasar a usar la captura de fechas en un get normal. Aunque buscaré la forma de poder incluir el botón para poder abrir el calendario igual que hace el dtpick.
Un saludo
Fernando González Diez
ALSIS Sistemas Informáticos
User avatar
fgondi
 
Posts: 694
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot], russimicro and 41 guests