Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   Linea de tiempo (https://www.clubdelphi.com/foros/showthread.php?t=80348)

NeoNew 20-09-2012 09:10:50

Linea de tiempo
 
Hola amigos,
Quisiera que me indicaran que debo usar o como puedo gráficar unos periodos de tiempo en una barra.
Muy parecido a la imagen del link, donde tengo en una tabla asi:

Código Delphi [-]
| Nombre | Fecha      | HE   | HSD   | HED   |HS
+--------+------------+------+-------+-------+------
| Juan   | 02/01/2012 | 7:30 | 13:00 | 13:30 | 17:00 
| Cesar  | 03/01/2012 | 7:45 | 12:50 | 13:00 | 17:30 
| Juan   | 03/01/2012 | 7:50 | 12:45 | 13:10 | 17:28 
| Pedro  | 07/01/2012 | 7:35 | 12:55 | 13:30 | 17:31 
| Cesar  | 02/02/2012 | 9:00 | 12:00 | 13:40 | 20:00

HE  = Hora entrada
HSD = Hora salida descanso
HED = Hora entrada descanso
HS  = Hora Salida

Deseo algo asi, logicamante grafico o una grilla, nose
Código Delphi [-]
| Nombre | Fecha      | 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
+--------+------------+--------------------------------------------
| Juan   | 02/01/2012 |    ▓▓▓▓▓▓▓▓▓▓▓▓▓▓   ▓▓▓▓▓▓▓▓▓▓  
| Cesar  | 03/01/2012 |     ▓▓▓▓▓▓▓▓▓▓▓▓   ▓▓▓▓▓▓▓▓▓▓▓▓
| Juan   | 03/01/2012 |      ▓▓▓▓▓▓▓▓▓▓▓    ▓▓▓▓▓▓▓▓▓▓▓
| Pedro  | 07/01/2012 |     ▓▓▓▓▓▓▓▓▓▓▓▓▓   ▓▓▓▓▓▓▓▓▓▓▓
| Cesar  | 02/02/2012 |       ▓▓▓▓▓▓▓▓▓▓    ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓

Una imagen vale mas



Gracias de antemano,

PD: no se de pronto es algo muy fácil.

movorack 20-09-2012 16:00:46

Buen día NeoNew

Que haz intentado hasta ahora?

Ya revisaste los componentes de TeeChart (Chart en la paleta Adicional)?
También podrias mirar su versión de pago en http://www.steema.com/.

Habrá mas posibilidades y con algunas busquedas puedes hallar posibilidads interesantes.

http://lmgtfy.com/?q=Delphi+Graph+Components
http://lmgtfy.com/?q=Delphi+Planner+Components

NeoNew 20-09-2012 19:09:07

Gracias movorack, efectivamente buscando encontré un componente "TimeLine" de un tercero y meto el objeto dentro de una celda de la grilla.

Ref: Insertar Boton en StringGrid

a trabajarrr....

NeoNew 21-09-2012 05:18:05

Insertar objeto en dbgrid
 
Hola amigos,
Quiero insertar un objeto dentro de cada celda de una dbgrid de tal forma que quede asi:
(El objeto es un TimeLine para mostrar periodos de tiempo en una barra)

Código:

                                Horas
| Nombre | Fecha      | 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
+--------+------------+--------------------------------------------
| Juan  | 02/01/2012 |    ▓▓▓▓▓▓▓▓▓▓▓▓▓▓  ▓▓▓▓▓▓▓▓▓▓ 
| Cesar  | 03/01/2012 |    ▓▓▓▓▓▓▓▓▓▓▓▓  ▓▓▓▓▓▓▓▓▓▓▓▓
| Juan  | 03/01/2012 |      ▓▓▓▓▓▓▓▓▓▓▓    ▓▓▓▓▓▓▓▓▓▓▓
| Pedro  | 07/01/2012 |    ▓▓▓▓▓▓▓▓▓▓▓▓▓  ▓▓▓▓▓▓▓▓▓▓▓
| Cesar  | 02/02/2012 |      ▓▓▓▓▓▓▓▓▓▓    ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓

Tome como referencia Insertar boton en Stringrid y logre insertar un objeto TDBAdvSmoothTimeLine y se repite muy bien, pero al hacer scroll para cambiar de registros el objeto se queda quieto es decir no se mueve con el registro.

Es relevante indicar que el objeto (TDBAdvSmoothTimeLine) cambia sus características en cada registro de acuerdo a la información de la tabla.

Mi duda es como puedo hacer que el objeto que esta en la celda se mueva acorde al hacer scroll vertical?

Espero me puedan colaborar y previamente muchas gracias.

Casimiro Notevi 21-09-2012 10:20:43

No crees nuevos hilos con el mismo tema, sigue con este, recuerda nuestra guía de estilo, punto 6.
Además de que te han contestado, si no lo has entendido o buscas otra solución entonces sigue preguntando aquí.

Cita:

Nadie me contesta

Si te encuentras en esta situación, te aconsejaría que en vez de abrir otro tema, con lo que podría perderse información previa sobre el tema que expusiste en un principio, siguieses el tema que tu mismo iniciaste en su día, escribiendo una nueva contestación. De esta manera el tema se actualizará y pasará a la cabecera del foro, y se marcará como no leido para el resto de usuarios. Así evitamos duplicar información innecesariamente.
Otro motivo por el que es posible que no te hayan contestado es porque puedes haberte explicado mal. Sería conveniente en este caso que trataras de ampliar la información que has escrito en el primer mensaje de tu tema. Así podrías ayudar al resto de usuarios a que respondan más claramente.

Lo que quieres, "dibujar" en una columna de un dbgrid es factible hacerlo, hay algunos hilos donde se ha hablado sobre ese tema, haz una búsqueda a ver si lo encuentras... y si no lo encuentras ¡¡¡no abras otro hilo!!!, vuelve a preguntar aquí explicando exactamente lo que quieres o buscas.

NeoNew 21-09-2012 15:09:38

Gracias Casimiro,
No he encontrado este tema por mas que busco, por eso he preguntado,
Si sabes del hilo que trate este tema te agradezco me lo indiques.
Nuevamente gracias.

Casimiro Notevi 21-09-2012 16:42:50

Puede que te sirva esto.

NeoNew 21-09-2012 17:22:47

Gracias casimiro,

Lo estaba mirando, definitivamante vuelvo al inicio, lo que mas se acerca a la solucion es el hilo Insertar Boton en StringGrid.
Ya me permite insertar el objeto en las celdas de la DBGrid lo que sucede es que no se como hacer para que al hacer scroll ya sea horizontal o vertical el objeto que esta en la celda se mueve junto con la celda y no se quede quieto donde inicialmente aparece.

Casimiro Notevi 21-09-2012 17:42:12

La verdad es que no entiendo. Si quieres poner unas barras ¿para qué miras lo de los botones?.
Lo que te he indicado ahora son barras, las pones a la longitud que quieras y listo, es eso lo que estás buscando.
Lo otro que comentas sobre scroll tampoco lo entiendo.

NeoNew 21-09-2012 18:26:17

Hola Casimiro,
que pena el malentendido, mira resumiendo es lo siguiente.
Tengo una DBGrid con unos datos de nombre,hora de entrada general, hora de salida a descanso, hora de entrada de descanso, hora de salida general.

La idea es poder graficar el tiempo en una celda, es decir colocar un componente TimeLine el cual me permita poner en una barra la hora de entrada general, la hora de salida a descanso, la hora de entrada de descanso y la hora de salida general, para que el usuario visualmente pueda ver en rangos de colores quien llega tarde o sale a las horas no permitidas.

Lo de graficar el tiempo lo solucione con un componente de TimeLine que me permite poner rangos de tiempo en colores en una barra de horas.
Ahora la idea es mostrarlos en una columna de la DBGrid, para que cada registro quede con su respectiva gráfica.

Tome el ejemplo de los botones el cual permite insertar botones en una columna, todo bien hasta aquí, pero al hacer scroll los botones se quedan en su lugar inicial, no se mueven con las celdas.

Cambiando los botones por el Objeto TimeLine que necesito insertar y funciona bien hasta que se quiere hacer scroll.

movorack 21-09-2012 18:41:30

Hasta donde recuerdo la JvDBGrid te permite agregar un control a una celda.

Mira a ver si ese componente te es util.

juanlaplata 25-09-2012 20:43:50

Hola, en el FTP del foro; hay un ejemplo de insertar una barra tipo Gauge (DBGridGauge.zip).
Debes de usar tiempo e ingenio para ver si adoptas a lo necesario.

Otra idea q se me ocurre, es q crees tantas columnas como horas tengas, y ahi si, vallas pintando las celdas segun corresponda.


La franja horaria es GMT +2. Ahora son las 13:02:14.

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