Delphi - Resultado para obtener la edad

   
Vista:

Resultado para obtener la edad

Publicado por sizne (3 intervenciones) el 25/01/2010 23:28:32
Hola. Ayuda por favor.
Estoy usando tablas donde el campo DBEdit1 ya esta definido con el formato para introducir fecha, ya lo configure y se puede introducir en este campo directamente de esta manera: 15/02/1989 es decir __/__/____
Una vez introducido la fecha de naciemiento, quiero que en otro campo DBEdit2 que esta definido como campo entero, quiero que aparezca ahi la edad actual.

La fecha de Nacimiento se introduce desde el formulario en delphi.

Agradeceré mucho.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Resultado para obtener la edad

Publicado por E.T. (1107 intervenciones) el 26/01/2010 02:10:55
La funcion Now, te da la fecha actual, si a esa le restas la de nacimiento obtienes la edad en diás (si mal no recuerdo), luego lo divides por 365 y así tienes la edad en años

Now-StrToDate('01/01/1995');

Aqui creo que ya se ha publicado algo similar, busca un poco en las notas más viejas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Resultado para obtener la edad

Publicado por Eva (484 intervenciones) el 28/01/2010 00:08:05
Entra en trucomanía que seguro que ya está hecho.

Si no haz lo que te dice ET o hazte tu una

Coges solo el año de nacimiento.
Coges el año actual (solo el año sacado de Naw o Date9
Restas
Luego lo tendrás que ajustar dependiendo del día y mes de nacimiento.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Resultado para obtener la edad

Publicado por BigLuis (13 intervenciones) el 31/01/2010 19:55:33
Busca las librerias NKLib que aunque son un poco antiguas a mi me han ahorrado mucho trabajo. De todas formas estas dos funciones son sacadas de la libreria NKDates.pas

// CopyRight: José Manuel Rodríguez (JMR)
// Autores: José Manuel Rodríguez, Rafael Barón y Mª José Izquierdo.

function YearsDiff(dStartDate, dEndDate: TDateTime): Integer;
var
lInverse: Boolean;
wYear1, wMonth1, wDay1: Word;
wYear2, wMonth2, wDay2: Word;
begin
lInverse := False;
if dEndDate < dStartDate then
begin
lInverse := True;
Swap(dStartDate, dEndDate);
end (*if*);
DecodeDate(dStartDate, wYear1, wMonth1, wDay1);
DecodeDate(dEndDate, wYear2, wMonth2, wDay2);
Result := wYear2 - wYear1;
if wMonth1 > wMonth2 then
Dec(Result)
else if wMonth1 = wMonth2 then
if wDay1 > wDay2 then
Dec(Result)
else if wDay1 = wDay2 then
if Frac(dStartDate) > Frac(dEndDate) then
Dec(Result);
if lInverse then
Result := -Result;
end (*YearsDiff*);

function Age(dBirthDate: TDateTime): Integer;
begin
Result := YearsDiff(dBirthDate, Now);
end (*Age*);

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar