agradezco su interes
Código:
bool esbisiesto(int a)
{
bool bisiesto=false;
if(a%4==0)
bisiesto=true;
if((a%100==0) && (a%400!=0))
bisiesto=false;
return bisiesto;
}
unsigned int CalcularEdad(Fecha birthdate)
{
int AnioActual, AA, MesActual, MM, DiaActual, DD;
int anio, Mes, Dia;
int MonthDays[2][12] = {
//{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
//{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{31, 28, 30, 31, 30, 31, 31, 31, 30, 31, 30, 31},
{31, 29, 30, 31, 30, 31, 31, 31, 30, 31, 30, 31},
};
SYSTEMTIME time;
GetLocalTime(&time);
AA=birthdate.getAnyo();
MM=birthdate.getMes();
DD=birthdate.getDya();
AnioActual=time.wYear;
MesActual=time.wMonth;
DiaActual=time.wDay;
anio = AA-AnioActual;
if( MesActual <= MM )
{
Mes = MM - MesActual;
}
else
{
Mes = MM+12-MesActual;
anio = anio -1;
}
if( DiaActual <= DD )
{
Dia = DD - DiaActual;
}
else
{
Dia=DD+MonthDays[esbisiesto(AA)][MM-1]-DiaActual;
Mes = Mes -1;
}
if( Mes < 0 )
{
anio = anio - 1;
Mes = 12 + Mes;
}
unsigned int Arreglo=anio*-1;
//Result = Format('Años: %.0f, Meses: %.0f, Dias: %.0f', [anio, Mes, Dia]);
return Arreglo;
}
el codigo fue sacado de u n codigo de visual basic en google y lo modifique pero necesito hacerlo andar bien :|