Funcao para gerar (ano-mes-dia)

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

CCA
Usuário Nível 1
Usuário Nível 1
Mensagens: 16
Registrado em: 07 Set 2005 14:30
Localização: Rio Verde
Contato:

Funcao para gerar (ano-mes-dia)

Mensagem 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...
Saúde e Paz!!!
Carlos Castro
Analista de Sistemas
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Mensagem 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.
Sem mais
Wagner Nunes
www.vagucs.com.br
Responder