FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
DbGrid en color
Bueno os cuento.
Tengo una pequeña aplicación que tira de un motor Access, el programa lo que hace es controlar fechas y horas para dar avisos. Tengo montado un sistema para cuando los avisos no han sido atendidos que me los pone en rojo dentro de un dbGrid. Código:
begin if DataCol=TStringGrid(Sender).LeftCol-0 then if (qryPendientesFechaActivacion.AsDateTime < =Date) And (qryPendientesHoraActivacion.AsString <= Hora) then UnColor:=clRed else UnColor:=clBlack; with (Sender As TDBGrid).Canvas do begin Font.Color:=UnColor; FillRect(Rect); TextOut(Rect.Left, Rect.Top, Column.Field.AsString); end; end; El problema que me presenta este código es que solo me marca en rojo cuando coincida la fecha y la hora pero si la fecha es antigua y la hora no lo es no me lo marca. Como podría hacer para que me lo marcase en todos los casos. |
#2
|
||||
|
||||
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
Última edición por marcoszorrilla fecha: 12-01-2005 a las 14:37:07. |
#3
|
|||
|
|||
Bueno he probado lo que me comentas
Código:
if Código:
(qryPendientesFechaActivacion.AsDateTime < =Now) en este caso me marca en rojo las fechas del dia aunque la hora sea posterior a la actual. |
#4
|
|||
|
|||
Bueno al final lo que he echo es intentar poner todas las posibilidades
y lo he montado de esta manera Código:
begin if DataCol=TStringGrid(Sender).LeftCol-0 then if (qryPendientesFechaActivacion.AsDateTime < Date) then UnColor:=clRed else UnColor:=clBlack; if (qryPendientesFechaActivacion.AsDateTime = Date) And (qryPendientesHoraActivacion.AsString < Hora) then UnColor:=clRed else UnColor:=clBlack; with (Sender As TDBGrid).Canvas do begin Font.Color:=UnColor; FillRect(Rect); TextOut(Rect.Left, Rect.Top, Column.Field.AsString); end; end; |
|
|
|