Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-10-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
Cita:
Empezado por lKinGl Ver Mensaje
aja delphius pero tu dices:
xaula tiene xhoras desocupadas verdad?

pero que horas?,por que puede ser q en el aula2 haya, clase el lunes de 7-9 y de 10-12 pero como detectar que el aula esta disponible de 9-10

esa es mi inquietud....

salu2
Bueno, lKinGl ¿Y acaso no puedes hacer una consulta que extraiga las clases que si están?

A lo que voy lKinGl es que la información está; Y en ciertos casos, la ausencia de información es una información muy valiosa. ¿Me explico?

Hay una frase que dice: "la falta de evidencias es una evidencia" En cuanto a este caso, la falta de ese dato de las horas libres es un dato... y como tal puede obtenerse.

Lo que deberías preguntarte es ¿que es detectar para ti? ¿Bajo que contexto deberíamos interpretarlo?

El diseño que yo te ofrecí es simple, pero como todas las cosas algo en contra tiene. Y como he dicho, guardar X y guardar Y-X es redundante. O lo uno u lo otro, ambos terminarían siendo lo mismo puesto que ofrecen la misma respuesta pero desde puntos de vista opuestos.

¿No se puede dejar a interpretación del usuario? Puesto que si se puede obtener datos sobre las horas ocupadas, es posible armar un diseño visual (por ejemplo) en donde se muestre el horario.

Y de hecho, lKinGl, se puede calcular. Como he dicho, cuestión de programación. Tal vez con un SQL resulte rebuscado, pero he aqui que con Delphi puede conseguirse. ¿Cómo?

Una opción: implementar un algoritmo que recorra el conjunto de datos (ordenado) devuelto por una Query e ir calculando los horarios en blanco. ¿Se puede? ¡Claro! ¡Si los datos están!

lKinGl, piensa... piensa. No es por malo, pero el dato está; de una u otra "forma" pero está.

Veamos como te lo puedo "graficar":

Supongamos que la tabla Aulas además de dichos campos mencionados anteriormente tiene dos campos más (necesarios):
HoraInicio
HoraFin

Teniendo estos dos campos se puede establecer un marco temporal.

Además la tabla Horarios tiene un campo HoraInicio, cuyo propósito es registrar la hora en que se da comienzo la actividad.

Con estos campos es posible ya, implementar un algoritmo que vaya examinando registro a registro y calculando la diferencias de horas, estas diferencias de horas puede proporcionar un conjunto con las horas libres.

Por ejemplo, supongamos que HoraIncio y HoraFin de un aula es 08:00 y 18:00 respectivamente.

Mantengo en una variable InicioClase el valor inicial:
InicioClase = Aula.HoraInicio
InicioClase = 08:00

El primer registro de los horarios nos dá estos datos:
Horarios.HoraInicio = 09:00
Horarios.Duracion = 1

Entonces, evaluamos:
Horario.HoraInicio > InicioClase
09:00 > 08:00

Como es verdadero, estamos en presencia de una hora libre:
HoraLibre = HoraLibre + 1

Creamos un "registro" y calculamos la duracion:
HoraLibres[HoraLibre].Duracion = Horario.HoraInicio - Aula.HoraInicio
HoraLibres[1].Duracion = 09:00 - 08:00 = 1

//Comentario: Yo hice, de manera simple que se trata de un array....

Calcula la nueva hora de inicio a clase
InicioClase = Horario.HoraInicio + Horario.Duracion
InicioClase = 09:00 + 1 = 10:00

Ahora me muevo al siguiente registro, y leo:
Horario.HoraInicio = 10:00
Horario.Duracion = 2

Al evaular tenemos:
Horario.HoraInicio > InicioClase
10:00 > 10:00

Al ser falso, es evidente que no estamos en una hora libre. Directamente calculo la siguiente hora de incio a clase:
InicioClase = Horario.HoraInicio + Horario.Duracion
InicioClase = 10:00 + 2 = 12:00

Me muevo al siguiente registro y vuelvo a evaluar...

Y asi se continua mientras haya registros, o en otro caso, se supere la hora de fin destinadas al aula.

¿Se entiende el algoritmo? ¿Está la información lKinGl?
Como vez, no todo es SQL, en ocasiones Delphi tiene que trabajar un poquito más

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #2  
Antiguo 25-10-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 20
lKinGl Va por buen camino
Ya entiendo hahaha lo que pasa es que tu dices

horainicio horafin
Dia: Horainicio - Horafin
ejemplo:

Lunes:8-9
Lunes:9-10
Lunes:10-11


yo lo estaba pensando de esta forma en 1 linea de registro de la bd tendria:

Lunes: Hora1: Hora2: Hora3....Hora17:
Martes: Hora1: Hora2: Hora3....Hora17:
Miercoles: Hora1: Hora2: Hora3....Hora17:
Jueves: Hora1: Hora2: Hora3....Hora17:
Viernes: Hora1: Hora2: Hora3....Hora17:

porsupuesto que de la forma que yo digo se lleva muchisimo mas trabajo.

Gracias delphius ya entendi tu modelo y es mucho mas fácil que la forma como yo lo habia pensado
__________________
Las cosas o son, o no son...
Responder Con Cita
  #3  
Antiguo 25-10-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
lKinGl,
Me alegro que entiendas, me evito una dosis de locura por buscar otro modo de explicarte.

Hay una tabla que no ha sido nombrada (no explícitamente), de igual modo también hay un campo en la tabla Horarios (también no nombrado) que lo relaciona a esta tabla "desconocida". A modo de exámen: ¿Cuál es dicha tabla?

Recuerda que yo prefiero hacerte pensar un poquito que estar dandote la solución.
Yo elaboré un esbozo, un tanto sencillo para que comprendas y tengas una alternativa. Yo espero que luego tu añadas lo que hace falta para conseguir tus objetivos.

Por cierto, ¿en que quedó lo de choferes y sitios?

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #4  
Antiguo 25-10-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 20
lKinGl Va por buen camino
la tabla o campo que no ha sido nombrada es MATERIAS

acerca de la rotacion de choferes, pues estuve 2 semanas sin hacer nada esperando por una desición sindicalista de choferes sino aprovecharon para solucionar ese proble ya es cosa de ellos, de todas maneras les quedó la solución para una distribución justa aunque no sirva de nada luego que se añada 1 sitio o un chofer, pero sino aprovecharonque se puede hacer....total borré los formularios que tenia relacionados con la rotacion de choferes y el sistema quedo como un sistema para el cálculo de viáticos....
__________________
Las cosas o son, o no son...
Responder Con Cita
  #5  
Antiguo 25-10-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
Cita:
Empezado por lKinGl Ver Mensaje
la tabla o campo que no ha sido nombrada es MATERIAS

acerca de la rotacion de choferes, pues estuve 2 semanas sin hacer nada esperando por una desición sindicalista de choferes sino aprovecharon para solucionar ese proble ya es cosa de ellos, de todas maneras les quedó la solución para una distribución justa aunque no sirva de nada luego que se añada 1 sitio o un chofer, pero sino aprovecharonque se puede hacer....total borré los formularios que tenia relacionados con la rotacion de choferes y el sistema quedo como un sistema para el cálculo de viáticos....
Bueno, entonces eso confirma que si se me entendió... Menos mal
Ahora, como tarea para la casa: ¿Y cuantos profes dan la misma materia? ¿Cuántas materias da un profesor?

OK. No más me lo preguntaba porque no volviste a pasarte por allí.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
dbexpress Error: unknown error Code '101' raorre Conexión con bases de datos 3 13-10-2008 07:53:49
Error General Sql Error lock conflict ...deadlock Patricio Varios 1 19-03-2008 14:52:14
error:[Fatal Error] Unit1.pas(7): Unit ZDbcConnection was compiled with a different.. karaoke Conexión con bases de datos 2 19-12-2007 10:22:36
¿Por qué me da este error?Error creating cursor manejador nuri SQL 2 01-08-2005 17:30:28
consuta dinamicas en report builder lledesma Impresión 5 26-04-2005 11:47:12


La franja horaria es GMT +2. Ahora son las 08:11:02.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi