Уже давно обнаружена ошибка в tMaskEdit. Сделан соответствующий корректирующий модуль. Вот комментарий из него описывающий проблему и способ решения. Сам модуль приложен к сообщению.
| Код | //////////////////////////////////////////////////////////////////////////////// // // // В стандартном компоненте tMaskEdit в Delphi, имеется ошибка, из-за // // которой в шаблоне невозможно использование литералов '/' и ':' - они // // ВСЕГДА заменяются на TimeSeparator и DateSeparator соответственно. // // // // Это вызванно отсутствием разницы обработки mcLiteral, mcIntlLiteral в // // процедурах MaskDoFormatText и PadInputLiterals модуля MaskUtils. // // // // Для исправления этой ошибки, этот модуль, при инициализации подменяет // // процедуры MaskDoFormatText и PadInputLiterals в модуле MaskUtils на // // собственные, полученные копированием исходных, с внесением необходимых // // исправлений. // // // // Подмена корректно выполняется как при компиляции проекта с использованием // // пакетов, так и без их использования. // // // // Для использования, достаточно в любом из модулей проекта, или в самом // // проекте (.dpr), добавить в список используемых модулей (uses) этот модуль. // // // // Однако, на поведение tMaskEdit во время дизайна этот модель повлиять не // // может. Разве что подкомпоновать его в какой нибудь design-time пакет. // // // ////////////////////////////////////////////////////////////////////////////////
|
http://forum.vingrad.ru/index.php?act=module&module=vingradfaq&target=download_file&articleid=2939&attachid=1 |