Último dia do mês

 

A dica deste artigo irá mostrar uma função que retorna o último dia do mês de uma determinada data. Darei uma pequena explicação como é a execução do projeto: Primeiro digitamos a data no Edit, no formato ("dd/mm/aaaa") e em seguida clicamos no botão e será mostrado no ShowMessage o último dia do mês digitado.

Vamos a construção do exemplo. Inicie um nova aplicação no Delphi e adicione os seguintes controles no formulário: um Lable, um Edit, um StatusBar e um Button. Arrume o formulário conforme a figura abaixo:

 

Na seção implementation, vamos adicionar nossa função:

 

function UltimoDiaMes(Mdt: TDateTime) : TDateTime;

//retorna o ultimo dia o mes, de uma data fornecida

var

  ano, mes, dia : word;

  mDtTemp : TDateTime;

begin

  Decodedate(mDt, ano, mes, dia);

  mDtTemp := (mDt - dia) + 33;

  Decodedate(mDtTemp, ano, mes, dia);

  Result := mDtTemp - dia;

end;

 

No evento OnClick vamos adicionar o código que irá mostrar o último dia do mês digitado:

 

procedure TForm1.Button1Click(Sender: TObject);

var

  texto:Tdate;

begin

  texto := UltimoDiaMes(strtodate(Edit1.Text));

  ShowMessage(datetostr(Texto));

end;

 

No exemplo acima, criamos uma variável do tipo Tdate que irá receber o valor retornado pela função "UltimoDiaMes". Convertemos o valor do Edit para Date, através da função StrToDate e em seguida será mostrado em uma caixa de menssagem o valor da variável Texto, que foi convertida para string através da função DateToStr. Veja a aplicação em execução através da figura abaixo:

 

Esta função pode ser útil para pessoas que nunca sabem se um determinado mês termina em 30 ou 31. E ainda pode mostrar quando o mês de fevereiro teve 29 dias.

 

Lenine Ribeiro

Lenine@globo.com