In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

monthcalendar

Foro de Xailer profesional en español
Responder
Francisco Sanchez
Mensajes: 532
Registrado: Mié Feb 09, 2005 6:20 pm

monthcalendar

Mensaje 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 -
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5706
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

monthcalendar

Mensaje 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
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Francisco Sanchez
Mensajes: 532
Registrado: Mié Feb 09, 2005 6:20 pm

monthcalendar

Mensaje por Francisco Sanchez »

OK Por mi bien.
Atentamente : Francisco Sanchez GERENTE GRUPO ST -Software TOTAL -
Responder