Свой формат для TDateTimePickerDelphi , Компоненты и Классы , TDateTimePickerСвой формат для TDateTimePicker
Оформил: DeeCo uses ComCtrls; const DTM_SETFORMAT = $1005; procedure TForm1.Button1Click(Sender: TObject); var sFormat: string; begin DateTimePicker1.kind := dtkTime; // Don't show the seconds, Sekunden nicht anzeigen SendMessage(DateTimePicker1.Handle, DTM_SETFORMAT, 0, Longint(PChar('hh:mm'))); // To show AM/PM SendMessage(DateTimePicker1.Handle, DTM_SETFORMAT, 0, Longint(PChar('hh:mm tt'))); // 24-hour clock: Be sure to set Kind to dtkTime DateTime_SetFormat(DateTimePickerTest.Handle, pChar('H:mm:ss')); // To show Date and Time, Datum und Zeit anzeigen // Note that you can only edit the date or the time depending // on the Kind (dtkTime or dtkDate). SendMessage(DateTimePicker1.Handle, DTM_SETFORMAT, 0, Longint(PChar('dd/MM/yyyy hh:ss'))); // You could also use the DateTime_SetFormat macro: DateTime_SetFormat(DateTimePicker1.Handle, PChar('M/d/yyy')); // Instead of using the DateTime_SetFormat function, you can // send a message to the control directly: sFormat := 'dd-MMMM-yyyy'; DateTimePicker1.Perform(DTM_SETFORMAT, 0, DWORD(sFormat)); end; // Show the Week Number in a TDateTimePicker procedure DateToWeek(dtDate: TDateTime; var AWeek, AYear: Word); const FIRST_WEEKDAY: Integer = 2; FIRST_WEEKDATE: Integer = 4; var wMonth, wDay: Word; begin dtDate := dtDate - ((DayOfWeek(dtDate) - FIRST_WEEKDAY + 7) mod 7) + 7 - FIRST_WEEKDATE; DecodeDate(dtDate, AYear, wMonth, wDay); AWeek := (Trunc(dtDate - EncodeDate(AYear, 1, 1)) div 7) + 1; end; procedure TForm1.DateTimePicker1Change(Sender: TObject); var sFormat: string; wWeek, wYear: Word; begin DateToWeek(DateTimePicker1.date, wWeek, wYear); sFormat := 'dd/MM/yy Week:' + IntToStr(wWeek) + ''; DateTimePicker1.Perform(DTM_SETFORMAT, 0, DWORD(sFormat)); end; procedure TForm1.FormShow(Sender: TObject); begin DateTimePicker1Change(Self); end; Программный код на Delphi для настройки контрола TDateTimePicker! Код организован и легко понятен, но я добавлю некоторые дополнительные комментарии для лучшего понимания. Настройка формата В обработчике события Button1Click демонстрируются различные способы настройки формата контрола TDateTimePicker. Используется сообщение DTM_SETFORMAT для установки строки формата. Некоторые примеры:
Показ недели
Процедура DateToWeek calculates the week number for a given date. She uses the DayOfWeek function to determine the first day of the week, then adjusts the date accordingly.
В обработчике события DateTimePicker1Change вызывается эта процедура для расчета номера недели на основе текущей даты, выбранной в TDateTimePicker. Результат используется для форматирования новой строки, включая номер недели. Например: Инициализация Обработчик события FormShow вызывает обработчик события DateTimePicker1Change для настройки начального формата и отображения номера недели для текущей даты. Вот некоторые предложения:
В целом, код выглядит хорошо, и он организован. Вы можете улучшить его еще больше, добавив более комментариев и возможно рефакторинг некоторых логических частей. В статье описывается форматирование даты и времени в компоненте TDateTimePicker Delphi, а также примеры использования макроса DateTime_SetFormat и отправки сообщения DTM_SETFORMAT для настройки формата отображения. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: TDateTimePicker ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |