FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Cambiar Color a Panel
Buenas tardes amigos, soy nuevo en este foro y en Delphi 2007, mi problema es el siguiente:
Me encargaron hacer un pequeño sistema para un hotel, tengo todo los cuartos visualizados en paneles y toda su programacion pare hacer la reservacion y todo lo que ocupa. Cuando se hace la reservacion cambia el color del panel para visualizar directamente que ya tiene reservacion ese cuarto, el problema es cuando se sale del sistema y entra de nuevo el cuarto que tenia hecha la reservacion aparece nuevamente como si no tiene ninguna reservacion... De antemano les agradesco a quien me pueda ayudar!!! |
#2
|
||||
|
||||
Hola
Hay muchas formas de hacer lo que necesitas. 1- me imagino que usas una base de datos para guardar la reservacion, si es asi, simplemente crea un campo para ese fin y dependiendo de su estado cambie el color o no. 2- puedes usar un archivo INI y guardar ese dato. saludos
__________________
Siempre Novato |
#3
|
||||
|
||||
Se trata de que los componentes, cuando vuelves a abrir el programa están como los diseñaste, no como los dejaste la última ejecución.
Lo que debes hacer, al abrir el programa, es volver a refrescar todos los paneles (al estado correcto) según los datos que tengas de las reservas. Como dice Caral, lo normal es que esos datos los tengas en la Base de Datos.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#4
|
||||
|
||||
Hola, sin tener que usar bases de datos, una forma sencilla sería guardarlo en un txt, podrías poner un objeto memo con visible=false y utilizarlo para cargar y guardar el archivo txt de la siguiente forma.
Faltaría, claro está, un paso intermedio antes de guardar el archivo con los datos contenidos en el memo, que sería introducir en el memo el estado de cada panel, "ocupado/libre" para luego poder rescatar ese estado al abrir el programa. Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta. |
#5
|
|||
|
|||
Cita:
Te muestro una imagen (que data de 2007) pero que muestra exactamente lo que quieres aunque yo lo hago con un TStringGrid y con imagenes incrustadas dependiendo de los servicios que tiene asignados. Saludos
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#6
|
|||
|
|||
egostar tienes algo parecido a lo que necesito... la cuestiones que yo los agarro con panel, segun el estado de la habitacion es el color que debe de tener el panel... si la habitacion esta ocupada debe tener color rojo y desocupada color verde... solo que no se como poner ese estado al abrir la ventana donde se encuentra los paneles...
|
#7
|
|||
|
|||
Cita:
Por ejemplo algo así:
Aquí lo único es asignar el panel correspondiente dependiendo de la habitación. Saludos
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#8
|
|||
|
|||
Cita:
Aqui te muestro el codigo que estoy poniendo para mandar llamar los datos de la base de datos...
Pero no me está funcionando!!! |
#9
|
|||
|
|||
Bueno, me parece que el problema es mas de concepto que de otra cosa, estás intentando que cambie el color del panel cuando haya un cambio en el registro, pero yo lo haría en el evento OnShow de la forma para que se "actualice" cuando se muestra la pantalla, y claro, dejaría el proceso que tienes para que se ejecute cuando se registre otra reservación.
Saludos
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#10
|
|||
|
|||
Cita:
|
#11
|
||||
|
||||
Hola rotsen26.
Otra opción puede ser usar el evento OnDataChange del TDataSource: Asigno el evento por código para darle mayor claridad al ejemplo. Pero lo podés hacer desde el Object Inspector, en tiempo de diseño, diréctamente desde la pestaña Events del componente TDataSource relacionado al DBGrid. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#12
|
|||
|
|||
Cita:
Parecido a esto, tengo un sistema de combis que llevan pasajeros entre 2 ciudades, y los asientos pueden estar libres, reservados o vendidos. En la pantalla que muestro los asientos tengo un procedimiento que "revisa" los asientos en la base de datos para pintarlos del color correspondiente. Cuando abro la ventana llamo a este procedimiento para mostrarlos... y cuando reservo o vendo un pasaje, primero inserto la operacion correspondiente en la base de datos y luego vuelvo a llamar a ese procedimiento para que me vuelva a actualizar la pantalla. Espero te sirva, abrazo! |
#13
|
||||
|
||||
Cita:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#14
|
|||
|
|||
Como hacerlo???
Cita:
Bueno, perdón por preguntar tanto... Pero como puedo hacerlo, tengo una tabla llamada Checin, en donde tengo el campo llamado estatus, y en se guardan los estados Reservado=RES, Check=OCU y Desocupado=DES, pero no se como llamarlos para que cuando esten según el estado se pongan los páneles en el color correspondiente, RES=Amarillo, OCU=Rojo y Des=Verde... Se le agradece la ayuda!!! |
#15
|
||||
|
||||
Es de suponer que cada panel que tienes en pantalla corresponderá con uno de los registros que tienes en la tabla. El panel se llamará de alguna forma concreta y en la propiedad TAG habrás puesto algo (entero) que permita "identificarlo" y hacerlo "cuadrar" con uno de los registros de la tabla.
¿Es así? ¿Me explico? ¿Puedes explicar cómo lo has hecho? Si es así, basta con que hagas un recorrido por la tabla y para cada registro, identifiques el panel que le corresponde y según el valor le asignes el color. Para ser más concreto debes: 1) Poner las estructura de la tabla (para que veamos los campos) 2) Decirnos cómo llamas o identificas los paneles para que "cuadren" con los registros de la tabla. P.D: Si la respuesta a la pregunta es que NO (es decir, que no tienes forma de identificar los paneles con los registros de la tabla), esto es lo primero que hay que hacer.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#16
|
||||
|
||||
Hola rotsen26.
A diferencia de los compañeros, yo había interpretado mal lo que estabas buscando, pensé que mostrabas una habitacion por vez. Si son mostradas todas, podrías usar un procedimiento para actualizar los estados y llamarlo cuando sea necesario:
Un ejemplo de llamada: Otro: Para simplificar, en el procedimiento ActualizarPaneles, asumo que los paneles se llaman: Panel1, Panel2, Panel3, ... (*) Saludos. (*) Edito, me falto agregar: y el órden de los Paneles se corresponde al órden de las habitaciones en la tabla
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 13-02-2013 a las 20:30:17. |
#17
|
|||
|
|||
Solucionado
Buenas tardes amigos, les comento que ya solucioné el problema del cambio de colores en los paneles... Gracias a todos los que se dieron tiempo para poder ayudar!!!
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Panel con color degradado | NEG1414 | C++ Builder | 8 | 15-12-2010 19:26:09 |
Cambiar el color de un panel de TStatusBar | fide_uci | Gráficos | 4 | 03-02-2009 15:43:08 |
Duda. Cambiar Color del Panel con Xpmanifest | ekstase | Gráficos | 2 | 07-04-2008 05:22:38 |
Cambiar color en panel de DBCtrlGrid segun valor de un atributo | akinom38 | Varios | 4 | 23-01-2006 14:25:30 |
Panel color blanco | xxxFALKORxxx | Varios | 2 | 27-05-2005 18:26:37 |
|