Ú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