Ver Mensaje Individual
  #3  
Antiguo 13-02-2005
Jorge Taveras Jorge Taveras is offline
Miembro
 
Registrado: abr 2004
Ubicación: Santo Domingo
Posts: 68
Reputación: 21
Jorge Taveras Va por buen camino
Gracias Marcoszorrilla, la verdad que para lograr lo que queria, pues tuve que agregarle algunos pasos a tu función. Ahí te le dejo por si aca... la concluí hasta donde la queria... Siempre son mil veces agradecias sus colaboraciones.
Function Edad(FechaNacimiento : TDate) :string;
Var
an, mn, dn : Word;
ahoy, mhoy, dhoy : Word;
RAnos, Rmeses, Rdias:word;
resultado:string;
Begin
DecodeDate(FechaNacimiento, an, mn, dn);
DecodeDate(Now, ahoy, mhoy, dhoy);
If (mn > mhoy) or((mn = mhoy) and (dn > dhoy)) then
Ranos:=ahoy - an - 1
else
RAnos:=ahoy - an;
if (mn - mhoy) < 0 then
RMeses:= 12 + (mn - mhoy);
if (mn - mhoy) = 0 then
Rmeses:= 0;
if (mn - mhoy) > 0 then
RMeses:= mn - mhoy;
//
if ranos = 0 then
begin
case Rmeses of
0: Resultado := '';
1: Resultado := 'Un mes';
// else
// Resultado := inttostr(Rmeses) + ' meses';
end;
end
else
begin
if ranos = 1 then
resultado:= 'Un año'
else
resultado:= inttostr(ranos) + ' años'
end;
case Rmeses of
0: Resultado := Resultado + '';
1: Resultado := resultado + 'Un mes';
else
Resultado := resultado + ', ' + inttostr(Rmeses) + ' meses';
end;
result:=resultado;
end;
Esto me tira la edad con los meses, ejemplo 35 años, 3 meses
es +/- la edad exacta. Faltarian los días pero no los necesito por ahora.
Responder Con Cita