По нажатию кнопки "Дата" - текущую дату в формате "ДД, месяц_прописью, ГГГГ г." - Lazarus
Формулировка задачи:
По нажатию кнопки "Дата" - текущую дату в формате "ДД, месяц_прописью, ГГГГ г." (Пример, 15 марта 2018 г.").
Нужно вместо "3" поставить значение прописью, только не "15 Март 2018г.", а "15 МартА 2018г.
Вот что у меня:
procedure TForm1.Button1Click(Sender: TObject); var Year, Month, Day: Word; s: string ; // ... begin DecodeDate(Now, Year, Month, Day); Edit1.Text:=(' ' + IntToStr(Day) + #13 + ' ' + IntToStr(Month) + #13 + ' ' + IntToStr(Year) + 'p.'); // case Month of // 3: s:= 'березня'; // end; end;
14 3 2018г.
Думал через кейсы, но не получается... Решение задачи: «По нажатию кнопки "Дата" - текущую дату в формате "ДД, месяц_прописью, ГГГГ г."»
textual
Листинг программы
procedure TForm1.Button1Click(Sender: TObject); var fs : TFormatSettings; names : TMonthNameArray = ('января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря'); begin fs := DefaultFormatSettings; fs.LongMonthNames := names; // временно подменяем названия месяцев на нужные Edit1.Text := FormatDateTime('dd mmmm yyyy г.', Now, fs); // и форматируем стандартными средствами, но учитывая нужные названия месяцев end;
Объяснение кода листинга программы
- Создается процедура обработчика события кнопки с именем Button1Click
- Устанавливается переменная fs типа TFormatSettings равной значению по умолчанию
- Создается массив строк с именами месяцев на русском языке
- Временное изменение настроек формата даты на использование имен месяцев из массива
- Форматирование текущей даты в формате
ДД, месяц_прописью, ГГГГ г.
и вывод в поле ввода с именем Edit1 - Восстановление стандартных настроек формата даты
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д