Ver Mensaje Individual
  #4  
Antiguo 04-08-2007
eldiegofg eldiegofg is offline
Miembro
 
Registrado: mar 2007
Ubicación: Colón - Entre Ríos
Posts: 54
Reputación: 20
eldiegofg Va por buen camino
Problemita

Hola, estuve leyendo este hilo y me fue de gran ayuda debido a que estaba queriendo usar el mismo componente. Pero me encontre con un problema, yo quiero resaltar todos los dias que en una base de datos se encuentran bajo el campo FECHA. El problema es que no me marca ninguno de los dias. Aqui el codigo.

Código:
var dia:tdatetime; strdia,strd,strm,stra:string; d,m,a:byte;
begin
  table1.Open;
  table1.First;
  while table1.Eof=false do
  begin
    dia:=table1.FieldByName('fecha').AsDateTime;
    strdia:=datetostr(dia);
    strd:=midstr(strdia,1,2);
    strm:=midstr(strdia,4,2);
    stra:=midstr(strdia,7,4);
    d:=strtoint(strd);
    m:=strtoint(strm);
    a:=strtoint(stra);
    if ADate = encodeDate(a, m, d) then
      Acolor := clRed;
    table1.Next;
  end;
end;
Tambien probe de esta forma:
Código:
begin
  table1.Open;
  table1.First;
  setlength(ar,4);
  i:=0;
  while table1.Eof=false do
  begin
    dia:=table1.FieldByName('fecha').AsDateTime;
    strdia:=datetostr(dia);
    strd:=midstr(strdia,1,2);
    strm:=midstr(strdia,4,2);
    stra:=midstr(strdia,7,4);
    d:=strtoint(strd);
    m:=strtoint(strm);
    a:=strtoint(stra);
    ar[i]:=encodedate(a,m,d);
    i:=i+1;
    table1.Next;
  end;
  for i:=0 to 2 do
  begin
    if ADate = ar[i] then
      acolor:=clred;
  end;
end;
Lo raro es que haciendo una simple comparacion del estilo siguiente, sí funciona y marca el dia

Código:
if ADate = encodeDate(2007, 08, 20) then
begin
   Acolor := clAqua; 
end;
Espero no molestarlos con mi consulta y sepan disculpar mi ignorancia pero soy muy nuevo en esto. Agradezco de antemano su tiempo, saludos.
Responder Con Cita