Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 731

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
В компоненте TValueListEditor пользователь должен редактировать значения разных типов. Как правильно задать маску для целого и вещественного числа?
Получается что в центре целого числа можно оставить не заполненный символ, так же нет ограничения отдельно для вещественной и дробной части.

Roman Novikov Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Roman Novikov (статус: Посетитель)
Вопрос отправлен: 15 ноября 2010, 18:36
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Вадим К

Здравствуйте, Roman Novikov!
по моему опыту, делать подобные ограничения - очень плохо. Пользователь все равно найдет способ вставить запрещенные символы. И часто он это сделает не специально, а совершенно случайно.
Мой опыт говорит, что лучше делать так:
- по мере ввода пользователем данных, делать их верификацию и подсказынвать ненавязчиво (например, справа от поля ввода показывать красный флажок или зеленый)
- делать мелкие исправления, которые логичны (например, если пользователь должен ввести число, то можно исключить пробелы, если дробное, то можно запятую и точку подменять на "правильный" символ (например, если это для Украины, России, то на запятую, а для США - на точку). Но нужно помнить, что в США абсолютно нормальна запись 3,000,000 - это три миллиона, а не просто три.
- выводить пользователю в подсказке как следует вводить данные.
- разрешать пользователю несколько форматов ввода
- не в коем случае на выводить на не правильно введенный символ кучу ShowMessage, которые говорят "ошибка ввода", но не рассказывают, что же не так.

И не нужно будет никаких масок.


Есть ещё один очень удобный способ вводить данные - это подобие инспектора объектов. В библиотеке JVCL есть парочка таких. Вся прелесть этих компонентов в том, что можно просто создать свой класс и все. Инспектор объектов сам подхватит все publised поля и создаст для них неплохой редактор. А для своих типов можно даже дописать редакторы.

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 15 ноября 2010, 18:52
Оценка за ответ: 5

Комментарий к оценке: Отличный ответ!

Мини-форум вопроса

Всего сообщений: 3; последнее сообщение — 16 ноября 2010, 12:28; участников в обсуждении: 1.
Roman Novikov

Roman Novikov (статус: Посетитель), 15 ноября 2010, 18:39 [#1]:

Либо нужен хороший совет как редактировать атрибуты объекта.

15 ноября 2010, 19:01: Вопрос перемещён из тематического раздела Delphi » Общие вопросы по программированию в раздел Delphi » Работа с компонентами и библиотеками модератором Ерёмин А.А.

Roman Novikov

Roman Novikov (статус: Посетитель), 16 ноября 2010, 10:40 [#2]:

Вадим, нормально ли будет на OnValidate проверять введенное значение на сответствие типу и в случае ошибки выдавать ShowMessage с затиркой значения?
Roman Novikov

Roman Novikov (статус: Посетитель), 16 ноября 2010, 12:28 [#3]:

Возможно ли в TValueListEditor задать цвет нефиксированной ячейки?

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 16:46
Выполнено за 0.02 сек.