Ver Mensaje Individual
  #2  
Antiguo 02-12-2005
piccolo2101 piccolo2101 is offline
Miembro
 
Registrado: oct 2005
Posts: 63
Reputación: 19
piccolo2101 Va por buen camino
Exacto. otra opcion es separa febrero de los demas de la siguiente forma:
Código Delphi [-]
var
   auxMes : Word;
 
// Si es febrero
if Mes = 2 then
begin
   result := 28;      // En principio tiene 28 dias
   if AñoBisiesto(Año) then  // Salvo que sea bisiesto que le sumamos 1
      result := Result + 1;   
end
// Si es otro mes
else
begin
   // Con esto conseguimos hacer que a partir del mes 8 auxMes vuelva a ser
   //1,2,3 para el 8,9,10 respetivamente.
   auxMes := (Mes mod 8) + (Mes div 8);
   // Una vez hecho esto, si te fijas, los impares tendrán 31 días y los pares 
   // 30
   if (auxMes mod 2) = 0 then   // Si es par 
      Result := 30
   else
      Result := 31;
end;

Este podría ser otro procedimiento válido para calcular los días. La ventaja del anterior con respecto a este es la disposición precalculada de los valores de los días pero como los ordenadores trabajan muy rápido con este tipo de operaciones no tiene importancia. Por otro lado, la ventaja de este es que evitamos tener espacio en memoria ocupada por la constante aunque tampoco es que sea drástico.

Última edición por vtdeleon fecha: 02-12-2005 a las 16:15:41. Razón: Encierra los codigo en Etiquetas[Delphi][/delphi]
Responder Con Cita