|
Программирование >> Реализация целостности данных
ЧАСТЬ 3 Пр<:шеГиязввше тол8.зое8:тепьшгмв ннтерфейпй AutoNumber, ноле rsfOrder-тин /time, ноле CreditLimit - тин currency, а ноле Preferreomег содержит булевы константы (Yes/No). ап1 Iriln ErupJr.iUdKl hllld( . ;hs Ною See DshtllesBsn jBlondEl p4rs И fits....... 9ап app 3 BDMQm-Dol ИТ M<iT* Ms j;H.tj[ i. >162 K-.f J шшт. iiiiir к.\-.1И (IE 13171 aw iinnne.Qo iVt. 15-1. В таблица ени полей различн1х типов представлены как текстовые величины Когда разработчики выполняют аиии манипулирования данными, он ждс всего принимают но внимание домены, на которых определены эти данные. Например ации соединения, выполняемая над двумя полями, в одном из которых хранятся а в другом - булевы значения, даст бессмысленный результат. Тем не менее, существует немало систем, где для представления пользователю данных различных типов применяют один и тот же метод и одни и те же элементы интерфейса: как правило, текстовые поля (text boxes). Формально такой подход не является ошибочным: в конис концов, в текстовые ляч можно представлять данные любых типов. Однако он нисколько не облегчит работу пользователей с данными. Текстовое поле следует использовать, только когда никакие другие, более подходящие для этого типа данных элементы управления применить невозможно, Данные, определенные на домене Date/Time, представляют собой строку символов определенного формата. Но чтобы могли работать с ними, должны быть представлены в виде реальной даты. Однако представления пользователей о структуре и данных даты, отличаются от представле- ний о структуре и организации текстовых данных. Например, если пользователь допустит ошибку при вводе имени покупателя, он проанализирует и исправит ее таким образом: О! Похоже, имя Магу Smith (Мери Смит) введено неверно: .Тагу Smith. Нужно исправить ошибку, заменив букву J на букв М . Но если пользователь увидит ошибку при вводе даты в текстовое поле, то скорее всего, подумает: Наверняка эта буква М означает месяц . Выбрав для работы с датами мдяший элемент управления (например, позволяющийаыби- ГЛАВА 15 ShsSop алекшктов управления яояьзоаатеяьского ммте})фейса рать значения дат, автоматически вычисляя год, месяц и день недели), вы обеспечите большее соответствие интерфейса ментальной модели пользователя и существенно облегчите ему работу с системой. Ограничения на диапазон вводимых данных также позволяют заметно улучшить производительность системы и точность ввода. Эти ограничения не следует путать с методами проверки правильности введенных данных (о них речь пойдет в слелуюшс;; главе). Проверка правильности данных выполняется системой уже после того, как данные введены, и преследуем п. выяснить; осмысленны ли эти данные, и не противоречат ли они бизнес-правилам. Ограничения же допустимых значений данных при вводе позволяют автоматически отфильтровать недопустимые значения данных (например, данные в неверном формате) при вводе их в систему. Первое и наиболее жесткое ограничение налагается на тип вводимых С точки выбора подходящих элементов управления, все вводимые данные можно разделить на четыре типа: логические данные, множества значений, числовые данные и даты, текстовые данные. В этой главе мы уделим внимание типу. ПРИМЕЧАНИЕ Я не буду подробно останавливаться на разнообразных дополнительных элементах интерфейса: графических фрагментах и звуковых и графических клипах. Эти элементы, как правило, разработаны фирмами, занимающимися выпуском коммерческого программного обеспечения, в виде встраиваемых компонентов ActiveX. Наш обзор будет ограничен стандартными компонентами Microsoft Visual Basic и Access. Тем, кто хочет узнать, какие еше дополнительные элементы управления можно использовать при разработке пользовательского интерфейса, я рекомендую обратиться на Web-узел корпорации Microsoft, а также на Web-узлы других компаний - разработчиков программного обеспечения. Вполне возможно, что вы найдете там уже готовое решение. Логические значения Как и многие другие типы данных, логические значения можно представлять в пользовательском интерфейсе как текстовые поля, но я не рекомендую это делать. Рассмотрим пример: втаблице Customer есть поле определенное как булево значение (в Microsoft Access ему соответствует тип данных Yes/No), где хранятся данные о подтверждении кредита. Для представления данных, хранимых в поле CreditApprovedтаблиц omtv, можно использовать текстовое поле, значение которого пользователи будут изменять. Затем проверяется. ЧАСТЬ 3 Прое1гги ;!йванме лользовательсшго витерфейса действительно ли пользователь ввел одно из допустимых Yes или No - для Access, True или False для других механизмов баз данных. Но если при вводе данных не задано никаких дополнительных ограничений, весьма вероятно, что пользователи будут вводить в текстовое ноле произвольные значения, например Условно или Нерегулярно . Конечно, есть особые случаи, когда это целесообразно, и произвольные значения определенным образом обрабатываются и интерпретируются системой. Но чаше такая интерпретация гических величин в пользовательском интерфейсе к сниже- нию производительности. Гораздо лучше элемент интерфейса, нре-доставляющий пользователю возможность выбрать одно из двух возможных значений. Для этого весьма подходят два элемента управления, которые имеются и в Access, и в Visual Basic - флажки и кнопки-выключатели (рис. 15-2). 1- . . . Рис. 15-2, Для представление еских величин используются флажки и кнопки-выключатели Большинству пользователей хорошо знаком жки, и поэтому их чаще используют для представления логических величин в пользовательском интерфейсе. Кнопки-выключатели применяют реже. Они больше подходят для представления булевых значений, моделирующих переключение между процессами (например, при выборе режима) в пользовательском интерфейсе, чем для ситуаций, когда надо выбрать один из вариантов - истина или Однако кнопки- выключатели имеют один существенный недостаток: когда они находятся в состоянии выключено , их трудно отличить от обычных кнопок, при система выполняет определенные действия. Пользователей, привыкших к обычным кнопкам, может ввести в заблуждение кнопка-выключатель Credit Approved. Они скорее всего но-думают, что щелчок этой кнопки инициирует процесс дита, тогда как на самом деле положение включено этой кнопки что кредит подтвержден, а положение выключено - отказ в кредите. Поэтому я использую и кнопки-выключатели в груп-нах, и кнопки с зависимой фиксацией (radio buttons), которые также называют переключателями.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |