Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Saber edad teniendo fech-Nac (https://www.clubdelphi.com/foros/showthread.php?t=6246)

kwan 26-12-2003 16:52:19

Saber edad teniendo fech-Nac
 
Hola estoy haciendo una aplicacion donde meto en un MaskEdit una fecha, y en un label me da la edad, hasta hay bien pero quiero que en otro MasEdit meta una nueva fecha en vez de la actual para obtener el resultado de la edad que tendra en esa fecha, osea que quiero saber que edad tendra en octubre del 2004 sabiendo la fecha de nacimiento, el que tengo ahora es este pero no me vale.

procedure TForm1.Button1Click(Sender: TObject);
function Edad(FechaNacimiento:string):integer;
var
iTemp,iTemp2,Nada:word;
Fecha:TDate;
begin

Fecha:=StrToDate(FechaNacimiento);
DecodeDate(Date,itemp,Nada,Nada);
DecodeDate(Fecha,itemp2,Nada,Nada);
if FormatDateTime('mmdd',Date) <
FormatDateTime('mmdd',Fecha)
then Result:=iTemp-iTemp2-1
else Result:=iTemp-iTemp2;
end;

begin
try
Label1.Caption:=intToStr(Edad(MaskEdit1.text));
except
showmessage('Debes introcudirlo de esta forma'#13'dd/mm/aaaa'#13'Gracias.');
end;

Gracias.
Kwan

delphi.com.ar 26-12-2003 16:58:54

Te recomiendo este hilo: http://www.clubdelphi.com/foros/show...&threadid=2468

Saludos!

kwan 26-12-2003 17:13:45

Gracias x contestar, busque pero no vi ese tema.

Gracias

Kwan.

Al González 27-12-2003 00:08:36

¡Buen día a todos!

Kwan:

En el grupo MSN Programadores Delphi de México se encuentra una útil biblioteca llamada Interfaz GH, que entre otras cosas cuenta con varias funciones para manejo de fechas y horas (unidad GHTiempo.pas).

Algunas de esas funciones son:
Código:

{ Años Completos Entre Fechas }
Function AosCompEntrFech (Const FechInic, FechFina :TDate)
                        :Word;

{ Años Cumplidos }
Function AosCump (Const FechInic :TDate) :Word;

{ Fecha Más Años }
Function FechaMasAos (Const Fecha :TDate;
                      Const Aos :SmallInt) :TDate;

{ Fecha Máxima para Años Cumplidos }
Function FechaMaxiAosCump (Const Aos :Word) :TDate;

{ Fecha Mínima para Años Cumplidos }
Function FechaMiniAosCump (Const Aos :Word) :TDate;

Para el caso que planteas, te sugiero utilizar la función AosCompEntrFech (Años Completos Entre Fechas) de la siguiente manera:
Código:

Var
  Aos :Integer;  { Años }
Begin
  Aos := AosCompEntrFech (Fech1, Fech2);

Donde Fech1 es la fecha de nacimiento y Fech2 es 1/oct/2004, según el ejemplo que mencionas.

Espero esto sea de utilidad. Seguimos en contacto.

Al González :).

Cabanyaler 09-01-2004 09:42:55

Te recomiendo tb la página de Trucomania www.q3.com, en ella encontraras trucos y utilidades además de más en concreto un ejemplo llamado ¿Que edad tendré cuando salga de la carcel?, o algo así.
Creo que es lo que buscas.
Un saludo y suerte.


La franja horaria es GMT +2. Ahora son las 21:15:53.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi