Блог Александра Божко
Архивы
Рубрики
Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

В предыдущих постах я начал рассказывать о некоторых проблемах перевода приложения на Delphi с поддержкой юникод (2009/2010/XE). Одним из проявившихся артефактов стало некорректный формат ввода даты в DevExpress компонентах, при языка.

Скажем, когда мы устанавливаем чешский, то при попытке ввести дату по средствам компонента TcxDateEdit получаем следующее:

incorrect_date

Соответственно, при попытке осуществить ввод данных в таком формате, получаем ошибку (Could not convert variant of type (Unicode string) to type (Date)).

При этом в Delphi 2007 все работало без проблем. Тем не менее, как следует из материалов на официальном сайте DevExpress, пользователи продукта сталкивались с подобными проблемами и при работе с младшими версиями Delphi. Например, при попытке изменить формат даты в процессе выполнения приложение. Решение довольно простое.

Подключаем модуль cxFormats и выполняем следующий код:

cxFormatController.BeginUpdate;
cxFormatController.UseDelphiDateTimeFormats := True;
cxFormatController.EndUpdate;
cxFormatController.GetFormats;
cxFormatController.NotifyListeners;

Все становится на свои места.

Другие статьи серии:

DevExpress. TIPS & TRICKS #0
DevExpress. TIPS & TRICKS #2
DevExpress. TIPS & TRICKS #3
DevExpress. TIPS & TRICKS #4
DevExpress. TIPS & TRICKS #5
DevExpress. TIPS & TRICKS #5.5
DevExpress. TIPS & TRICKS #6
DevExpress. TIPS & TRICKS #7


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

2 комментария: DevExpress. TIPS & TRICKS #1

  • 1) Заметил пару грамматических ошибок:
    “в DevExpress компонентах, при языка.” Не понятен конец фразы “при языка.”
    “вести дату по средствам компонента” – думаю тут должно быть слово “средством”

    2) По поводу даты. У меня например в каждой программе в основном модуле стоит так:

    initialization
    Application.UpdateFormatSettings := False;
    DateSeparator := ‘.';
    ShortDateFormat := ‘dd’+DateSeparator+’mm’+DateSeparator+’yyyy';

    То есть я сам задаю правильный формат даты и ни разу еще не было проблем с ее вводом.

    • Формат ввода даты должен совпадать с текущим форматом даты в Windows. А вы принуждаете пользователя – это моветон

Ответить на indapublic Отмена ответа

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Продукты DevArt
Купить онлайн:



Читай русскоязычные Delphi блоги
Каталог блогов Blogdir.ru
Яндекс.Метрика