
I'm looking for a function that, with a date as param, would
return the date of the last day of the month, i.e.

function TForm1.LastDateOfMonth(Dt : TDateTime) : TDateTime;
var
   Year,Month,Day : Word;
begin
     DecodeDate(Dt,Year,Month,Day);
     {Make the date the first day of the next month}
     Day := 1;
     inc(Month);
     if Month = 13 then begin
        Month := 1;
        inc(Year);
     end;
     {Covert to TDateTime and minus 1 from it to give you the last day
      of the previous month}
     Dt := EncodeDate(Year,Month,Day);
     Result := Dt -1;
end;
