Ver Mensaje Individual
  #11  
Antiguo 31-10-2006
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Reputación: 28
jachguate Va por buen camino
He hecho esto, aunque no lo he probado, estoy seguro que te ayudará.

Con respecto de las semanas, hará falta saber cómo se delimitan las semanas para hacer algo que te sirva, pero con lo que te he dado, seguro lo sacas en un abrir y cerrar de ojos.

Código Delphi [-]
procedure TForm1.QuincenasDelAnio(Anio: integer);
var
  FechaIni, FechaFin: TDateTime;
begin
  FechaIni := EncodeDate(Anio, 1, 1);
  FechaFin := EncodeDate(Anio, 1, 15);
  while YearOf(FechaIni) = Anio do
  begin
    Memo1.Lines.Add(DateToStr(FechaIni) + ' - ' + DateToStr(FechaFin));
    FechaIni := FechaFin + 1;
    if DayOf(FechaIni) = 1 then
      FechaFin := FechaIni + 14
    else
      FechaFin := EncodeDate(YearOf(FechaIni), MonthOf(FechaFin), DaysInAMonth(YearOf(FechaIni), MonthOf(FechaIni)));
  end;
end;

procedure TForm1.MesesDelAnio(Anio: Integer);
var
  FechaIni, FechaFin: TDateTime;
begin
  FechaIni := EncodeDate(Anio, 1, 1);
  FechaFin := IncMonth(FechaIni, 1) - 1;
  while YearOf(FechaIni) = Anio do
  begin
    Memo1.Lines.Add(DateToStr(FechaIni) + ' - ' + DateToStr(FechaFin));
    FechaIni := FechaFin + 1;
    FechaFin := IncMonth(FechaIni, 1) - 1;
  end;
end;

Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate

Última edición por jachguate fecha: 31-10-2006 a las 03:34:32.
Responder Con Cita