Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 06-07-2004
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Poder: 24
andres1569 Va por buen camino
Hola:

Por lo que parece, el problema no lo tienes con el Calendar sino con la consulta que lanzas para obtener las fechas. ¿No bastaría con un
Código SQL [-]
SELECT extract (month from FECHACUMPLE) as mes,
           extract (day from FECHACUMPLE) as dia             
FROM CLIENTS
ORDER BY mes, dia
?

Luego recorres la consulta, y para cada mes (están agrupados) creas una matriz de números con los días encontrados, que es la que le pasas al TCalendar correspondiente:

Código Delphi [-]
procedure AsignaCumpleañosCalendario;
var
  Dias : array of Integer;
  m : Integer;

  function AsignaDiasMes;
  var
     MiCalendar : TMonthCalendar;
  begin
     Case m of
        1 : MiCalendar := MonthCalendar1;
        2 : MiCalendar := MonthCalendar2;
        ...   
       12 : MiCalendar := MonthCalendar12;
        else EXIT
        end; 
     if Length(Dias) > 0 then MiCalendar(BoldDays(Dias, MonthBoldInfo)); 
  end;

begin
  m := -1;
  Query1.First;
  while NOT Query1.EOF do
  begin
     with Query1.FieldByName('Mes') do
        if AsInteger <> m then
        begin
           AsignaDiasMes;  
           m := AsInteger;
           SetLength(Dias, 0);
        end;
     SetLength(Dias, Length(Dias) + 1);     
     Dias[High(Dias)] := Query1.FieldByName('Dia').AsInteger;
     Query1.Next;
  end;
  AsignaDiasMes;
end;
ufff ! Menudo código, me he tirado un ratito haciéndolo, espero que te sirva, me queda la duda de si almacenas la fecha como DATE y no como dices literalmente "10 de Diciembre", eso sería más problemático, pero sería culpa tuya,
__________________
Guía de Estilo

Última edición por andres1569 fecha: 06-07-2004 a las 13:46:51.
Responder Con Cita
 



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 05:48:02.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi