Restar un dia a Datetimepicker sin contar fines de semana
Buenas amigos, tengo el siguiente problema...
Necesito que en un Datatimepicker se muestre el dia anterior al actual,
Hfecha es el Datetimepicker, todo bien, me coloca el dia anterior pero el problema es que solo quiero que me coloque los dias laborables (Lunes a Viernes) cuando llega el dia del lunes el Datetimepicker me muestra el dia Domingo, pero yo quiero que me muestre el dia Viernes que es el ultimo dia laborable! ¿Tienen alguna sugerencia?, Añado que el control se carga solo, no es un valor tomado de una base de datos ni algo por el estilo! Saludos |
Hola ZiriusB.
Según entiendo el problema lo vas a tener los días lunes y domingo, en el primer caso tenes que restar 3 a la fecha y en el segundo 2 ya que en ambos el último día laboral anterior es viernes, en los casos restantes restar 1:
Ejemplo de llamada:
Saludos. |
La verdad solo serian los Lunes, porque cuando llegue el dia Lunes el Datetimepicker me colocaria el dia anterior osea DOMINGO, ya de ahi no tendria problema!
Probare esto, gracias amigo |
Cita:
Esta es mi alternativa:
Saludos! |
Cita:
Saludos.:) |
Chris, ecfisa sus códigos se pueden mejorar.
Dentro del case simplemente establezco los días a restar, y directamente hago la operación afuera. Después de todo es una expresión común a todos los casos y puede estar fuera del case. Es como sacar factor común en una expresión matemática ;)
A mi parecer es un código más legible. Saludos, |
:)
Saludos |
¡Ah! pero, cómo gastan líneas :D
Por cierto: Cita:
// Saludos |
Saludos ROMAN gracias por responder
me suelta este error el ejemplo que tu me diste [DCC Error] PaseHoras.pas(154): E2066 Missing operator or semicolon
Me lo señala en esta linea
pero no veo que falte algun parentesis o corchete! |
Yo creo que es un problema que cargas desde alguna línea anterior. A mi me compila sin problemas.
// Saludos |
esta colocado en el Formcreate... no hay lineas antes de esas, de todas formas revisare a fondo! |
¡Ahí está el problema. No lo coloques dentro del FormCreate.
// Saludos |
En el Formactivate tambien me da el mismo error, la cuestion es que al abrir al formulario debe mostrarme de una vez el dia anterior...
|
A ver, se trata de una función suelta, no es para que la pongas dentro de ningún evento. Tal función la usarías en el momento que desees:
// Saludos |
Me da exactamente el mismo error...lo estoy colocando justo como me dices pero me salta el error que comente arriba...
ERROR: [DCC Error] PaseHoras.pas(105): E2066 Missing operator or semicolon justo en esa linea, pense que me faltaba algun parentesis o cerrar con ; pero lo copie tal cual como lo pasaste para ver! es decir esa linea pues |
Hola.
A mi no me dá error ni siquiera en el evento OnCreate... Este código funciona correctamente. Por otro lado el error : Missing operator or semicolon, se produce por que falta un operador entre dos expresiones o por que falta un punto y coma entre dos sentencias. Saludos. |
Cita:
Que ganas de destrozar la autoestima de los otros, ¡porqué no se me ocurrió antes! :p :D Saludos, |
desde otro form
interesante funcion esa.
oye ZiriusB y si la ejecutas desde el formulario donde mandas a llamar el formulario que contiene ese datetimepicker. algo asi como
saludos... |
Y bueno, si les parecen muchas líneas, también podemos hacer así la función:
:D // Saludos |
Cita:
Lo tuyo ya es de presumido :D:D:D Te voy a acusar con el profe porque nos estás haciendo quedar mal :p Yo me quedo con el case, definir el decremento y calcular. Saludos, |
La franja horaria es GMT +2. Ahora son las 13:36:38. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi