Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema para generar fechas automaticamente (https://www.clubdelphi.com/foros/showthread.php?t=76215)

Vales08 17-10-2011 14:36:44

Problema para generar fechas automaticamente
 
Buen dia!!! voy directo al grano ja..
Tengo que generar una agenda de turno para un profesional, con la fecha y hora y luego se le asigna el paciente al que se le va a asignar el turno (pero eso es tema aparte que no voy a tratar ahora).

Lo que yo realizo es, primero cargar los horarios que trabaja por dia, por ej: dia lunes trabaja de tal hora a la mañana (maniana_desde) hasta tal hora de la mañana (maniana_hasta), lo mismo por la tarde, de tal hora a la tarde (tarde_desde) hasta tal hora a la tarde (tarde_hasta) y tambien la duracion que van a tener los turnos, por ej, media hora.
Despues de realizar eso, genero los turnos. cada media hora me genera uno, desde la hora que comienza a trabajar el profesional hasta la hora que finaliza. doy ejemplo: mañana (08:00hs a 10:00hs) y tarde (16:00hs a 18:00hs)
08:00
08:30
09:00
09:30
16:00
16:30
17:00
17:30

lo que yo quiero hacer con esto es que a cada turno generado se le asigne una fecha que corresponda al dia cargado, en este caso lunes. entonces que quede asi:
10/10/2011 08:00
10/10/2011 08:30
10/10/2011 09:00
10/10/2011 09:30
10/10/2011 16:00
10/10/2011 16:30
10/10/2011 17:00
10/10/2011 17:30
El dia 10 de octubre cayo lunes.. y que me realice lo mismo con el resto de los dias que trabaja. pero que genere solo los meses que yo necesito. en este caso podria ser todos los turnos de un solo mes, octubre. pero yo tendria un boton en el cul elijo como quiero generar los turnos, por un mes, dos meses, tres meses etc.

Trabajo con Delphi 7, en windows 7, con motor de bases de datos firebird y con sql manager.

Espero me puedan ayudar y que no les haya hecho mucho lio en la explicacion, lo necesito para avanzar con una tesis.
desde ya muchas gracias. espero sus respuestas...

Vales08 17-10-2011 14:38:49

Por favor necesito la ayuda, aunque sea lo basico, porque eh buscado por todos lados pero no eh conseguido lo que quiero... Lo que si me han recomendado trabajar con la unit DateUtils y sus funciones, me seria de gran ayuda que me expliquen aunque sea algo de lo que necesito... MUCHAS GRACIAS!!!

Casimiro Notevi 17-10-2011 14:43:53

Amigo, ¿Has leído nuestra guía de estilo?, deberías hacerlo, gracias.

No has dado tiempo ni a leer el mensaje y ya estás metiendo prisa :eek:

Vales08 17-10-2011 16:21:30

Mil disculpas, no quise dar esa impresion, no estoy pidiendo prisa..

Les estaba aclarando que no hace falta que me hagan una explicacion de todo, sino que con que solo me hagan un aporte con lo basico, me es suficiente para avanzar.. Solamente eso

Y realice el comentario sobre usar la unit DateUtils y sus funciones porque me lo han recomendado..

Muchas gracias tambien por tu aporte sobre leer la guia, pero ya la lei cuando me inscribi en este sitio..

Muchas gracias por tu aporte, sere mas cuidadosa para la proxima..

Casimiro Notevi 17-10-2011 16:24:30

Cita:

Empezado por Vales08 (Mensaje 415826)
Muchas gracias por tu aporte, sere mas cuidadosa para la proxima..

Muchas gracias.

oscarac 17-10-2011 16:54:16

pero tienes algo definido? alguna idea? de como quieres hacerlo

Vales08 17-10-2011 18:30:25

Primero quiero aclarar que yo al cargar las horas primero selecciono el dia (lunes, martes, miercoles, jueves, viernes, sabado, domingo) mediante un checkbox y luego le cargo sus horarios correspondientes al dia y doy de alta, asignandole esos horarios al profesional correspondiente. Pero para formar la agenda, necesito ponerles fechas, para que luego el administrador ingrese a la agenda del profesional, busque la fecha que necesite el paciente y verifique si existe algun turno disponible para tal dia.

Lo que yo quiero es primero cargar las horas y luego tener por ejemplo tres opciones para elegir, generar turnos por semana o por mes o por trimestre, yo pense en elegir por boton.. Entonces yo te muestro un ejemplo de como quiero que me quede:

fecha hora paciente
10/10 08:00 xxx (lunes)
10/10 08:30 aaa (lunes)
10/10 09:00 bbb (lunes)
10/10 09:30 qqq (lunes)
10/10 10:00 cccc (lunes)
10/10 10:30 zzzz (lunes)
10/10 11:00 pppp (lunes)
-------------------------------------------
12/10 09:00 xxx (miercoles)
12/10 09:20 qqq (miercoles)
12/10 09:40 cccc (miercoles)
12/10 10:00 zzzz (miercoles)
12/10 10:20 pppp (miercoles)
12/10 10:40 zzzz (miercoles)
-------------------------------------------
13/10 08:00 xxx (jueves)
13/10 08:30 aaa (jueves)
13/10 09:00 bbb (jueves)
13/10 09:30 qqq (jueves)
13/10 10:00 cccc (jueves)
------------------------------------------
------------------------------------------
17/10 08:00 xxx (lunes)
17/10 08:30 aaa (lunes)
17/10 09:00 bbb (lunes)
17/10 09:30 qqq (lunes)
17/10 10:00 cccc (lunes)
17/10 10:30 zzzz (lunes)
17/10 11:00 pppp (lunes)
------------------------------------------
19/10 09:00 xxx (miercoles)
19/10 09:20 qqq (miercoles)
19/10 09:40 cccc (miercoles)
19/10 10:00 zzzz (miercoles)
19/10 10:20 pppp (miercoles)
19/10 10:40 zzzz (miercoles)
------------------------------------------
20/10 08:00 xxx (jueves)
20/10 08:30 aaa (jueves)
20/10 09:00 bbb (jueves)
20/10 09:30 qqq (jueves)
20/10 10:00 cccc (jueves)

Este ejemplo son turnos generados para la segunda y tercera semana de octubre, donde el dia 10/10 cae lunes, el dia 12/10 cae miercoles y el dia 13/10 cae jueves y asi sucesivamente, observando que los dias lunes tienen un horario totalmente diferente al dia miercoles y jueves.
Ahora si por ejemplo yo quiero que me genere los turnos pero para el mes de noviembre completo, quiero que me haga esto mismo pero en todo el mes. no se si me explico??


La franja horaria es GMT +2. Ahora son las 21:47:01.

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