Página 1 de 1
Funcao para gerar (ano-mes-dia)
Enviado: 06 Out 2006 22:48
por CCA
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...
Enviado: 07 Out 2006 01:14
por vagucs
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.
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"
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.