Fórum Calcular em delphi.. #442512

09/05/2013

0

tenho a seguinte aplicação em Delphi:

procedure TForm1.Button1Click(Sender: TObject);
var
DataIni: TDateTime;
DataFim: TDateTime;
Ano: integer;
Mes: integer;
Dia: integer;
begin
DataIni := StrToDate(MaskEdit1.Text);
DataFim := StrToDate(MaskEdit2.Text);
if DataIni > DataFim then
ShowMessage('A data inicial é maior que a data final')
else
begin
Ano := YearsBetween(DataIni, DataFim);
DataIni := IncYear(DataIni, Ano);
Mes := MonthsBetween(DataIni, DataFim);
DataIni := IncMonth(DataIni, Mes);
Dia := DaysBetween(DataIni, DataFim);
ShowMessage('Anos: ' + IntToStr(Ano) + sLineBreak +
'Meses: ' + IntToStr(Mes) + sLineBreak +
'Dias: ' + IntToStr(Dia));
end;
end;


só que quando eu coloco as datas que começam com 01/01/2009
01/01/2011 (a maior diminuindo da menor), o resultado ao invés sair 02 anos 00 mes e 00 dia, está saindo 1 ano 11 meses e 31 dias.

alguem pode dar uma dica de como consertar isso?
Paulo

Paulo

Responder

Posts

09/05/2013

William

Colega talvez a resposta para esse problema esteja nesse tópico, o colega de moderação Marco Antonio Salles explanou com profundo conhecimento problemas de comparações entre datas no delphi.

link:
[url]https://www.devmedia.com.br/forum/calcular-idade-da-pessoa-/422689[/url]
Responder

Gostei + 0

10/05/2013

Paulo

Colega talvez a resposta para esse problema esteja nesse tópico, o colega de moderação Marco Antonio Salles explanou com profundo conhecimento problemas de comparações entre datas no delphi.

link:
[url]https://www.devmedia.com.br/forum/calcular-idade-da-pessoa-/422689[/url]


Willian! eu vi o link, fiz algumas tentativas, mais não deu certo
Responder

Gostei + 0

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

Aceitar