Ver Mensaje Individual
  #3  
Antiguo 25-10-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola borlandpablo.
Cita:
Buenas a todos, estoy un poco (por no decir bastante) perdido para crear con un StringGrid un calendario. El diseño en el que lo quiero hacer es que salga en el titulo de las columnas: 01/10/2012, 02/10/2012, 03/10/2012, 04/10/2012, etc. Pero que en la primera columna aparezca la fecha actual.
Usando un StringGrid:
Código:
...
#include <DateUtils.hpp>
...
void DoTitle(TStringGrid *Grd, TDate aDate) {
  int tDays = DaysInAMonth(YearOf(aDate), MonthOf(aDate));
  int dHoy = DayOf(aDate);
  /* tantas columnas como días tenga el mes */
  Grd->ColCount = tDays;
  /* poner fechas en título */
  TDate Fecha = aDate;
  Fecha = IncDay(Fecha,-DayOf(aDate));
  int cc = 1;
  for(int i=1; i <= tDays; i++) {
    Fecha = IncDay(Fecha);
    if (i == dHoy) /* si fecha actual a 1er columna */
      Grd->Cells[0][0] = FormatDateTime("dd/mm/yyyy", aDate);
    else
      Grd->Cells[cc++][0] = FormatDateTime("dd/mm/yyyy",Fecha);
  }
}
Llamada ejemplo:
Código:
   DoTitle(StringGrid1, StrToDate("21/04/2012"));
Por supuesto que si dispones del componente que menciona Lepe, con toda seguridad sea más sencillo de realizar lo que estas buscando.

Y por favor recuerda que el punto 8 de la guía de estilo, deja en claro que sólo se debe realizar una pregunta por hilo.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita