GARANTIR DESCONTO

Fórum Cálculo de idade. #177893

27/08/2003

0

Tenho um sistema onde possuo um cadastro de clientes. Nesse cadastro exite dois campos TDateTime. Um deles eh a data do cadastro, o outro é a data de nascimento.

Quando é concluído o cadastro, dependendo da idade, esse cliente é aceito ou não. Então preciso fazer a verificaçãó da idade do cliente.

Por exemplo:

begin
if idade<65 then
//cadastro aceito
else
//cadastro não aceito
end

Certo, agora como faço para descobrir a idade do cliente?
Já tentei várias formas mas não funcionou.


Gdonati

Gdonati

Responder

Posts

27/08/2003

Dgpires

Para o formato de data dd/mm/yyyy
Você tem que verificar o dia e o mês também para saber se a pessoa já fez aniversário no ano atual.

var dia_atual, dia_nasc, mes_atual, mes_nasc, ano_atual, ano_nasc : String
idade : Integer
begin
dia_atual := copy(datetostr(now,1,2));
dia_nasc := copy(datetostr(table1.fieldbyname(´data_nasc´).asstring,1,2);
mes_atual := copy(datetostr(now,4,2));
mes_nasc := copy(datetostr(table1.fieldbyname(´data_nasc´).asstring,4,2);
ano_atual := copy(datetostr(now,7,4));
ano_nasc := copy(datetostr(table1.fieldbyname(´data_nasc´).asstring,7,4);

if mes_atual > mes_nasc then
idade := strtoint(ano_atual) - strtoint(ano_nasc)
else if mes_atual = mes_nasc then
begin
if dia_atual > dia_nasc then
idade := strtoint(ano_atual) - strtoint(ano_nasc)
else
idade := strtoint(ano_atual) - strtoint(ano_nasc) - 1; //ainda não fez aniversário
end
else
idade := strtoint(ano_atual) - strtoint(ano_nasc) - 1;
end;

-------------------------
Espero ter ajudado,

Douglas


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar