Calcular Idade a partir da data armazenada na tabela.
19/06/2008
0
Estou precisando de uma ajuda pra conseguir colocar meu aplicativo pra calcular a idade dos alunos cadastrados.
O campo esta armazenado numa tabela chamada CADASTRO e nome do campo é [b:3cfc9a9ae5]CAD_DATANASC[/b:3cfc9a9ae5] q esta como Alpha.
Eu estou precisando conseguir fazer o sistema calcular a idade atual de acordo com a data, ou seja, se no dia [b:3cfc9a9ae5]01/Jan/08[/b:3cfc9a9ae5] eu verificar o cadastro de um aluno que faz aniversário no dia [b:3cfc9a9ae5]02/Jan/08[/b:3cfc9a9ae5], a idade dele deve aparecer como 18, e se eu verificar este cadastro novamente no dia [b:3cfc9a9ae5]03/Jan/08[/b:3cfc9a9ae5], a idade tenha se atualizado, ou seja, apareça como 19. Isso é possível?
Eu até tentei criar uns Edits, mas ta complicado.
Preciso desta informação para poder gerar um Relatório de acordo com a idade das pessoas cadastradas e um outro com a Relação dos aniversariantes do Mês, mostrando a idade de cada um.
Se alguém tiver alguma dica de como fazer, ficaria muito grato pela ajuda.
Grande abraço e muito obrigado.
Rogerhot1
Posts
19/06/2008
Edilcimar
19/06/2008
Altingon
procedure TForm1.Button1Click(Sender: TObject); var ano_ini, mes_ini, dia_ini, ano_fim, mes_fim, dia_fim:word; begin DecodeDate(strtodate(´30/05/1982´), ano_ini, dia_ini, dia_ini); DecodeDate(now, ano_fim, mes_fim, dia_fim); ShowMessage(inttostr(ano_fim-ano_ini)); end;
19/06/2008
Altingon
http://forum.devmedia.com.br/viewtopic.php?t=86413&highlight=
Codigo do usuario andersongaucho
function CalcIdade(DataMenor, DataMaior: TDateTime): String; var vAno1, vAno2, vDia1, vDia2, vMes1, vMes2: Word; vAnos, vMeses, vDias: Integer; begin DecodeDate(DataMenor, vAno1, vMes1, vDia1); DecodeDate(DataMaior, vAno2, vMes2, vDia2); vAnos := vAno2 - vAno1; vMeses := vMes2 - vMes1; vDias := vDia2 - vDia1; if (vDias < 0) then begin Dec(vMeses); vDias := vDias + 30; end; if (vMeses < 0) then begin Dec(vAnos); vMeses := vMeses + 12; end; Result := InttoStr(vAnos) + ´a, ´ + InttoStr(vMeses) + ´m, ´ + InttoStr(vDias) + ´d´; end;
Clique aqui para fazer login e interagir na Comunidade :)