Ver Mensaje Individual
  #2  
Antiguo 05-11-2010
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 DavidSG4.

Como cada mes del año tiene cuatro semanas se me ocurre que podría hacerse de este modo:
Código Delphi [-]
uses DateUtils;

function Semana(Date: TDate): Integer;
var
  dd: Integer;
begin
  dd:= DayOf(Date);
  Result := (MonthOf(Date)-1) * 4;  // N° semanas transcurridas hasta la fecha
  // Evaluar N° de semana actual y sumar al total
  if (dd > 0)and(dd < 8) then          
    Inc(Result, 1)                              
  else if (dd > 7)and(dd < 15) then
    Inc(Result, 2)
  else if (dd > 14)and(dd < 22) then
    Inc(Result, 3)
  else
    Inc(Result, 4);
end;

Ejemplo de llamada:
Código Delphi [-]
   ShowMessage(Format('Semana: %d',[Semana(Now)]));

Saludos.

Última edición por ecfisa fecha: 05-11-2010 a las 15:39:16.
Responder Con Cita