Delphi DatetimePicker не записывает дату - PullRequest
0 голосов
/ 10 мая 2019

При выходе из формы Delphi, если пользователь вводит числа Datetimepicker, значение даты (DateTimePicker1.Date) не изменяется в следующем сценарии: 1.) Формат даты Windows - MM / dd / yy,2.) значение даты по умолчанию в DateTimePicker имеет двухзначный день как «11» для 11 мая (например, «05/11/19»), 3) в форме есть «ОК» BitBtn, и это значение по умолчаниюКнопка, 4). Пользователь вводит 2 в области для дня и нажимает клавишу «Ввод».Код для кнопки «ОК»: procedure TMyForm.BitBtn1Click(Sender: TObject); var testDate: TDateTime; begin MessageDlg('My date is '+DateToStr(DateTimePicker1.Date),mtInformation,[mbOK],0); end; Все вышеперечисленные условия, к сожалению, общие для многих моих пользователей, необходимы для того, чтобы это не удалось.Например, если пользователь вводит «02» для 2-го мая, хорошо, или если пользователь нажимает на кнопке ОК, или если пользователь отходит от ввода дня или вкладок из поля ввода даты, затем они могут нажать «ввод» и по умолчанию запускает кнопку отлично.

Я пробовал много свойств в форме и кнопку, но безрезультатно.Обойти пари, что у меня пока есть, сделать кнопку «ОК» не кнопкой по умолчанию, но я должен быть в состоянии сделать этого пользователя дружественным ??

1 Ответ

1 голос
/ 11 мая 2019

Одной цифры в DateTimePicker недостаточно, чтобы 2 необходимые цифры были установлены в переменную даты во многих форматах даты Windows. Этот кредит должен перейти к @SertekAkyuz за то, что он просто добавил «SetFocus» перед доступом к измененной дате. Это был не просто «SetFocus», но BitBtn1.SetFocus или какой-то другой компонент, в начале BitBtn.Click.

...