Calcular idade
E ai pessoal Blz!
Bom estou com uma duvida simples, coloquei um campo chamado Data de nascimento e quero fazer o calculo para eleme dar a idade quero
fazer algo do tipo - 22/04/2006 - 22/06/1982 = 23 anos, apenas colocar a data de nascimento e a dai ele calcula pelo dia atual e me da a idade em numeros inteiros. Acho que isto é possivel só não sei como :?:
Valeu pela ajuda !!!!!!!
Bom estou com uma duvida simples, coloquei um campo chamado Data de nascimento e quero fazer o calculo para eleme dar a idade quero
fazer algo do tipo - 22/04/2006 - 22/06/1982 = 23 anos, apenas colocar a data de nascimento e a dai ele calcula pelo dia atual e me da a idade em numeros inteiros. Acho que isto é possivel só não sei como :?:
Valeu pela ajuda !!!!!!!
Alecsandro Moura
Curtidas 0
Respostas
Edilcimar
22/04/2006
Idade := Date() - Diadonascimento vai te dar algo tipo 23,4563
Idade := RoundTo((Date() - Diadonascimento), -2) vai ter 23,45
Idade := Round(Date() - Diadonascimento) vai ter 23
Se quiser mudar a fração para meses, tem que fazer um processo de divisao por 12 e se quiser dias pega esta última fração e transforma em dias
Idade := RoundTo((Date() - Diadonascimento), -2) vai ter 23,45
Idade := Round(Date() - Diadonascimento) vai ter 23
Se quiser mudar a fração para meses, tem que fazer um processo de divisao por 12 e se quiser dias pega esta última fração e transforma em dias
GOSTEI 0
Dbergkamps10
22/04/2006
esta procedure me retorna a idade em inteiros:
Espero q funcione.
var idade : integer; DataNasc,DataAtual : TDate ; begin DataNasc:=DataMod.ZTPacientepac_data_nasc.Value; DataAtual:=Now; Idade:=(trunc(DataAtual) - trunc(DataNasc)); IdadeCalculada:=StrtoInt(Formatfloat(´00´, Idade div 365)); end
Espero q funcione.
GOSTEI 0
Alecsandro Moura
22/04/2006
:? Bom eu usei este exemplo para calcular a idade só que invés de calcular a idade como ela é a idade é arredondada. Eu fiz este comando se tiver algo errado gostaria de saber qual o erro?
var
idade:real;
Dtnasc:tdate;
begin
Dtnasc:=StrToDate(Enasc.Text);
idade:=Round((date-Dtnasc)/365);
eidade.Text:=FloatToStr(idade);
end;
Como posso resolver isto?
Valeu pela ajuda!
var
idade:real;
Dtnasc:tdate;
begin
Dtnasc:=StrToDate(Enasc.Text);
idade:=Round((date-Dtnasc)/365);
eidade.Text:=FloatToStr(idade);
end;
Como posso resolver isto?
Valeu pela ajuda!
GOSTEI 0
José Henrique
22/04/2006
function IdadeEmAnos(const DataNascimento : TDateTime) : integer; var AnoNasc , MesNasc, DiaNasc : Word; Ano, Mes, Dia : Word; intAno : integer; begin DecodeDate (DataNascimento, AnoNasc , MesNasc, DiaNasc); DecodeDate (Now, Ano, Mes, Dia); intAno := Trunc(Ano- AnoNasc); if (MesNasc > Mes) or (Mes = MesNasc) and (Dia < DiaNasc) then Dec(intAno); Result := intAno; end; end;
GOSTEI 0