Página 1 de 1
monthcalendar
Publicado: Dom Mar 20, 2005 11:43 pm
por Francisco Sanchez
NO se podria hacer que si se ejecuta el setcursel a otra fecha, ejecute
automaticamente lo que tenga en el evento onchange del monthcalendar ? Ahora
no lo hace, al menos no me lo hace a mi, pero no estaria mal que lo
ejecutase el automaticamente si lo fuerzas a cambiar de fecha con el metodo
setcursel por ejemplo.
Atentamente : Francisco Sanchez GERENTE GRUPO ST - Software TOTAL -
monthcalendar
Publicado: Lun Mar 21, 2005 10:22 am
por jfgimenez
Paco,
> NO se podria hacer que si se ejecuta el setcursel a otra fecha, ejecute
> automaticamente lo que tenga en el evento onchange del monthcalendar ?
> Ahora no lo hace, al menos no me lo hace a mi, pero no estaria mal que lo
> ejecutase el automaticamente si lo fuerzas a cambiar de fecha con el
> metodo setcursel por ejemplo.
En mi opinión, es mejor como está. En la misma rutina donde cambias la fecha
siempre puedes añadir tú una llamada al evento OnChange; es sólo una línea:
::oMonthCalendar1:OnChange( dFecha )
En cambio, imagínate que quisieras controlar que cuando el usuario
seleccione un sábado o domingo, el programa automáticamente seleccione el
lunes siguiente. Pues sería algo así:
METHOD MonthCalendar1Change( oSender, dDate ) CLASS TForm1
IF DOW( dDate ) == 1 // Domingo
oSender:dValue := dDate + 1
ELSEIF DOW( dDate ) == 7 // Sabado
oSender:dValue := dDate + 2
ENDIF
RETURN Nil
En cambio, si al cambiar la fecha desde programa se disparara el evento,
entraría en recursividad, y aunque en este ejemplo concreto podría
funcionar, no siempre sería así.
Y lo mismo se aplica a otros controles, aunque es posible que quede algún
control que sí lo haga así, pero que corregiremos para que cuando se cambia
su valor desde programa no se dispare el evento.
--
Un saludo,
José F. Giménez
monthcalendar
Publicado: Mar Mar 22, 2005 4:16 pm
por Francisco Sanchez
OK Por mi bien.
Atentamente : Francisco Sanchez GERENTE GRUPO ST -Software TOTAL -