Ver idade
como posso fazer pra apartir de uma data digitada no edit, e ao click ´OK´ dar um showmessege com a idade da pessoa, ? na verdade eu queria o tempo de vida, integral, tem X anos, e y meses, a data referida era tal dia da semana, mas achei q era pedir demais... como veem sou muiito leigo no assunto, mas quero aprender... se resolver só a idade ja to louco de contente.
obrigadao
há quero agradecer as respostas das outras questoes. obrigado...
bah vcs sao rapidos né...
obrigadao
há quero agradecer as respostas das outras questoes. obrigado...
bah vcs sao rapidos né...
Sidnei
Curtidas 0
Respostas
4_olho
08/08/2003
Se você souber resolver isto com lápis e papel, fica fácil colocar em código.
Para calcular tempo de vida, reduza a data de nascimento da data de hoje, o que lhe retorna um número inteiro (portanto em dias).
Divida este número por 365,25 (o 0,25 acerta os anos bissextos) então uma coisa já tem, a quantidade de anos (a parte inteira).
Pegue a parte fracionária e multiplique por 365 e terá de novo um númeor de dias. Pegue este númeor e divida por 30 - a parte inteira é o númeor de meses e a parte fracionária x 30 o númeor de dias.
Existe uma função que te dá o dia da semana de qualquer data.
Esta e as outras funções você encontra no Help online do Delphi.
Para calcular tempo de vida, reduza a data de nascimento da data de hoje, o que lhe retorna um número inteiro (portanto em dias).
Divida este número por 365,25 (o 0,25 acerta os anos bissextos) então uma coisa já tem, a quantidade de anos (a parte inteira).
Pegue a parte fracionária e multiplique por 365 e terá de novo um númeor de dias. Pegue este númeor e divida por 30 - a parte inteira é o númeor de meses e a parte fracionária x 30 o númeor de dias.
Existe uma função que te dá o dia da semana de qualquer data.
Esta e as outras funções você encontra no Help online do Delphi.
GOSTEI 0
Sidnei
08/08/2003
bom pelo q entendi fiz como abaixo...
é normal a data ser mes/dia/ano
a dat de meu PC tá assim no norton por ex: 11/08/aaa
e no delphi qdo qdo uso:
Label1.Caption:=DateTimeToStr(Now)
a data no label fica assim
8/9/sábado 15:41:38
é normal ?
e aqui abaixo é a questao de minha outra dúvida..
procedure TForm1.Button1Click(Sender: TObject);
begin
//diminuir data-1 de data-2, exibindo numero de dias entre as duas
Edit3.Text := IntToStr(Trunc(StrToDate(Edit1.Text))-Trunc(StrToDate(Edit2.Text)));
//numero de anos
Edit4.Text:=FloatToStr(StrToFloat (Edit3.Text)/365.25);
//navamente numero de dias
// -> QUESTAO -> eu nao posso usar o resultado do Edit3 ?
//-> QUESTAO -> pq antes eu dividi por 365.25 e agora multiplico por 365 ?
Edit5.Text:=FloatToStr(StrToFloat(Edit4.Text)*365);
//numero de meses
//->QUESTAO e os meses com 31 dias ?
Edit6.Text:=FloatToStr(StrToFloat(Edit5.Text)/30);
há e os tais numeros fracionários como vou multiplica oq esta depois da virguta ?
assim: ser quero 0,5 do resultado anterior... entaum farei a mesma conta + a x q quero ex: 1/2*30, é isso mesmo ?
é normal a data ser mes/dia/ano
a dat de meu PC tá assim no norton por ex: 11/08/aaa
e no delphi qdo qdo uso:
Label1.Caption:=DateTimeToStr(Now)
a data no label fica assim
8/9/sábado 15:41:38
é normal ?
e aqui abaixo é a questao de minha outra dúvida..
procedure TForm1.Button1Click(Sender: TObject);
begin
//diminuir data-1 de data-2, exibindo numero de dias entre as duas
Edit3.Text := IntToStr(Trunc(StrToDate(Edit1.Text))-Trunc(StrToDate(Edit2.Text)));
//numero de anos
Edit4.Text:=FloatToStr(StrToFloat (Edit3.Text)/365.25);
//navamente numero de dias
// -> QUESTAO -> eu nao posso usar o resultado do Edit3 ?
//-> QUESTAO -> pq antes eu dividi por 365.25 e agora multiplico por 365 ?
Edit5.Text:=FloatToStr(StrToFloat(Edit4.Text)*365);
//numero de meses
//->QUESTAO e os meses com 31 dias ?
Edit6.Text:=FloatToStr(StrToFloat(Edit5.Text)/30);
há e os tais numeros fracionários como vou multiplica oq esta depois da virguta ?
assim: ser quero 0,5 do resultado anterior... entaum farei a mesma conta + a x q quero ex: 1/2*30, é isso mesmo ?
GOSTEI 0
4_olho
08/08/2003
Sidnei
Dê uma espiada na aplicação que criei. Acho que fica mais fácil. Usei Delphi 6. Se precisar, envio o executável.
[url]www.frank.com.br/info/down/idade.zip[/url]
Dê uma espiada na aplicação que criei. Acho que fica mais fácil. Usei Delphi 6. Se precisar, envio o executável.
[url]www.frank.com.br/info/down/idade.zip[/url]
GOSTEI 0