function LastDayOfCurrentMonth: TDate;
var
y, m, d: Word;
begin
DecodeDate(now, y, m, d);
m := m + 1;
if m 12 thenbegin
y := y + 1;
m := 1;
end;
Result := EncodeDate(y, m, 1) - 1;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(DateToStr(LastDayOfCurrentMonth));
end;
Here is the translation of the Delphi code into Russian:
Код на Делфи, который рассчитывает последний день текущего месяца и отображает его в виде сообщения.
Разбивка каждого части кода:
Функция LastDayOfCurrentMonth не принимает параметров и возвращает значение типа TDate, которое представляет дату.
Внутри функции она использует функцию DecodeDate для извлечения текущего года (y), месяца (m) и дня (d) из системной даты с помощью константы now.
Она увеличивает месяц на 1, чтобы переместиться к следующему месяцу. Если новый месяц - январь (12), она увеличивает год на 1 и сбрасывает месяц до 1.
Функция затем использует функцию EncodeDate для создания новой даты с рассчитанным годом, месяцем и днём, а затем вычитает 1 из неё, чтобы получить последний день текущего месяца.
В процедуре Button1Click, когда кнопка нажата, она вызывает функцию LastDayOfCurrentMonth и отображает результат в виде сообщения с помощью функции DateToStr, которая конвертирует значение типа TDate в строку в формате "dd/mm/yyyy".
Альтернативное решение, использующее встроенные функции расчета дат Delphi:
function LastDayOfCurrentMonth: TDate;
begin
Result := DateLastDayOfMonth(Date());
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(DateToStr(LastDayOfCurrentMonth));
end;
В этом коде используется функция DateLastDayOfMonth для получения последнего дня текущего месяца, а затем конвертирует его в строку с помощью функции DateToStr.
В статье описывается программный код на языке Delphi, который определяет последний день текущего месяца и выводит его в сообщении.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS