FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Te explico un poco lo del tema con modificaciones...
const MonthDays: array [1..12] of byte =(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); function DaysInAMonth(const AYear, AMonth: Word): Word; begin // Miramos si es febrero y año bisiesto, para ello usamos la función // del tema que te comento héctor isLeapYear if (AMonth = 2) and (isLeapYear(AYear)) then Result := MonthDays[AMonth] + 1 // De ser así se pone 29 días a feb. else Result := MonthDays[AMonth]; // En otro caso los días salen de la tabla. end; function IsLeapYear(Year: Word): Boolean; begin Result := (Year mod 4 = 0) and ((Year mod 100 <> 0) or (Year mod 400 = 0)); end; |
#2
|
|||
|
|||
ahora por ejemplo en el oncreate tengo ke tener una variable que sea fecha no?
y a esta fecha pasarle la sysdate. luego hacer un decode de la fecha y pasarle el mes a esa funcion no? jueeeee (no se puede ser novato pq andas mas pez xDDDD jajaja) muchas gracias |
#3
|
|||
|
|||
Exacto. otra opcion es separa febrero de los demas de la siguiente forma:
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] |
#4
|
|||
|
|||
Buenas!!
muchisimas gracias por ayudarme al final e conseguido solucionar el problema. saludos |
#5
|
||||
|
||||
Cita:
Con el fin de ayudar a otras personas que se encuentren con la misma situación, sería bueno que nos digas, cómo lo solucionaste finalmente. Un saludo. |
|
|
|