Ver Mensaje Individual
  #2  
Antiguo 16-03-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Reputación: 10
marcoszorrilla Va por buen camino
Prueba esta función, la acabo de crear, por lo que te pido que me digas si va correctamente:

Código:
Function HowManyWeeks(dFecha:Tdate):Integer;
var
nAnno,nMes,nDia:Word;
nDiaUno:Integer;
begin

DecodeDate(dfecha,nAnno,nMes,nDia);
nDia:=1;

nDiaUno:=DayOfWeek(Encodedate(nAnno,nMes,nDia))-1;
  if (nMes = 1) or (nMes = 3) or (nMes = 5) or (nMes = 7) or (nMes = 8) or (nMes = 10) or (nMes = 12) then
    if nDiauno > 5 then
    Result:=6
    else
    Result:=5
  else if (nMes = 4) or (nMes = 6) or (nMes = 9) or (nMes = 11)then
    if nDiaUno = 7 then
    Result:=6
    else
    Result:=5
  else if nMes = 2 then
    if Not IsLeapYear(nAnno) And (nDiaUno = 1) then
    Result:=4
    else
    Result:=5;


end;

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.

Última edición por marcoszorrilla fecha: 16-03-2004 a las 18:39:29.
Responder Con Cita