Ver Mensaje Individual
  #4  
Antiguo 12-09-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Reputación: 21
gluglu Va por buen camino
Creo que se podría optimizar de esta manera :

Código Delphi [-]
var
   fechaIni, fechaFin : TDateTime;
   i : Integer;
begin

  i := 1;
 
  while true do begin
 
    fechaIni := EncodeDate(2007, 08, i);
    if DayOfTheWeek(fechaIni) <> 1 then begin
      fechaFin := EncodeDate(2007, 08, 8-DayOfTheWeek(fechaIni))
      i := 8-DayOfTheWeek(fechaIni) + 1;
    end
    else begin
      i := i + 7;
      if i > DaysInAMonth(2007,8) then 
        fechafin := EndOfTheMonth(fechaIni)
      else
        fechaFin := DayInc(fechaIni,7);
    end;

    showmessage(DateToStr(fechaIni)+'-'+DateToStr(fechaFin));
 
    if i > DaysInAMonth(2007,8) then Break;
 
  end;
 
end;

No lo he probado, por lo que no te puedo asegurar si funciona correctamente.
__________________
Piensa siempre en positivo !
Responder Con Cita