Preciso de uma funcao, que mostre a idade de um pessoa da seguinte forma.
ANO - MES - DIA
Exemplo : 29 anos 1 mes e 15 dias
Por favor, fico no aguardo...
Funcao para gerar (ano-mes-dia)
Moderador: Moderadores
- vagucs
- Membro Master

- Mensagens: 1480
- Registrado em: 10 Jul 2004 10:45
- Localização: Ipanema - MG
- Contato:
Fiz na correria aqui, sao 1:20 da manha e vi a questão e fiz um exemplo que acho ser um bom inicio para os amigos.
Fazer isto considerando o numero de dias é quase impossivel, pois nem todo mes tem 31 dias e nem todo ano tem 365 dias, entao com os recursos que o clipper dispoem acho que a rotina abaixo chega bem perto do proposito.
na instrucao dias+=30, este valor 30 deve ser o numero de dias que a data atual tem, neste mes mesmo temos 31 dias, so implementar uma rotina que retorne o numero de dias do mes, nao me lembrei de nenhuma agora, tem a LASTDAY mas fiquei com preguiça mesmo de usar ela agora, ela retorna o ultimo dia do mes e entao é só usar a DAY como acima para se obter quantos dias tem o mes, ai teria um resultado mais preciso. Mas acho que é por ai.
Fazer isto considerando o numero de dias é quase impossivel, pois nem todo mes tem 31 dias e nem todo ano tem 365 dias, entao com os recursos que o clipper dispoem acho que a rotina abaixo chega bem perto do proposito.
Código: Selecionar todos
set date french
set century on
clear
tdata=ctod([])
@ 10,10 say "Entre com sua data de nascimento:" get tdata
read
anos=year(date())-year(tdata)
meses=month(date())-month(tdata)
dias=day(date())-day(tdata)
iif(dias<0,(--meses,dias+=30),)
@ 13,0 say "Voce tem "+alltrim(str(anos))+" anos "+;
alltrim(str(meses))+" mes(es) e "+;
alltrim(str(dias))+" dias de vida"