Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-01-2005
ramonibk ramonibk is offline
Miembro
 
Registrado: may 2004
Posts: 193
Poder: 21
ramonibk Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 12-01-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Código Delphi [-]
    begin
   if DataCol=TStringGrid(Sender).LeftCol-0 then
     if (qryPendientesFechaActivacion.AsDateTime < =Now)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;
 end;
 
Código Delphi [-]

 

Un Saludo.


__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.

Última edición por marcoszorrilla fecha: 12-01-2005 a las 14:37:07.
Responder Con Cita
  #3  
Antiguo 13-01-2005
ramonibk ramonibk is offline
Miembro
 
Registrado: may 2004
Posts: 193
Poder: 21
ramonibk Va por buen camino
Bueno he probado lo que me comentas

Código:
if
Código:
 (qryPendientesFechaActivacion.AsDateTime < =Now)
Pero me sigue dando problemas
en este caso me marca en rojo las fechas del dia aunque la hora sea posterior a la actual.
Responder Con Cita
  #4  
Antiguo 13-01-2005
ramonibk ramonibk is offline
Miembro
 
Registrado: may 2004
Posts: 193
Poder: 21
ramonibk Va por buen camino
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;
Por cierto la variable Uncolor es una bariable global de tipo TColor
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 11:22:26.


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
Copyright 1996-2007 Club Delphi