Ver Mensaje Individual
  #3  
Antiguo 12-09-2007
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Reputación: 22
Caro Va por buen camino
Muchisimas gracias Gluglu, asi me ha quedado con tu explicación, solo funciona para el mes de agosto, ya es facil aumentar para que funcione cualquier mes.

Código Delphi [-]
var
 fechaIni,fechaFin:TDateTime;
 i, diaIni,diaFin,dia31, cantSem, cantDias :Integer;
begin

 fechaIni := EncodeDate(2007, 08, 01);
 cantSem := WeekOfTheMonth(EncodeDate(2007, 08, 31));

 diaIni := DayOfTheWeek(fechaIni);
 diaFin := 7-diaIni;

 fechaFin := IncDay(fechaIni, diaFin);

 showmessage(DateToStr(fechaIni)+'-'+DateToStr(fechaFin));
 for i:=2 to cantSem do
 begin
  fechaIni:=IncDay(fechaFin,1);

  if i=cantSem then
  begin
   cantDias := DaysInAMonth(2007,8);
   dia31 := DayOfTheWeek(EncodeDate(2007, 08, cantDias));
   fechaFin := IncDay(FechaFin,dia31)
  end
  else
   fechaFin:=IncDay(fechaFin,7);
   
  showmessage(DateToStr(fechaIni)+'-'+DateToStr(fechaFin));
 end;


Dime que te parece o puedo mejorarlo.
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita