Опубликован: 13.09.2006 | Уровень: для всех | Доступ: свободно | ВУЗ: Тверской государственный университет
Лекция 7:

Организация диалога. Объект Assistant

< Лекция 6 || Лекция 7: 12345 || Лекция 8 >
Аннотация: Понятие Помощника. Объект Assistant, его свойства и методы. Объект Balloon. Применение "несерьезного" интерфейса.

Организация диалога. Объект Assistant

Помощник, ведущий диалог

Всякий раз, когда разработчик создает очередное решение, одна из серьезных проблем, стоящих перед ним, состоит в организации интерфейса своей системы. Хороший интерфейс, - привлекательный и понятный пользователю, во многом определяет успех предлагаемого решения. Диалог с пользователем - важная часть интерфейса. Во многих случаях для организации диалога достаточно обычных диалоговых окон, открываемых в нужный момент с выдачей подходящего сообщения. Зачастую для организации диалога предпочтительнее более выразительные средства и тут незаменим Помощник (объект Assistant ), хорошо знакомый пользователям Office 2000, поскольку именно он обеспечивает диалог со справочной системой, может организовать подсказки и выдачу советов. Давайте познакомимся с объектом Assistant поближе и научимся использовать его в своих решениях. Объект Assistant, задающий Помощника, появился в предыдущей версии Office 97. В новой версии он сохранил свои основные свойства и поведение.

Вначале несколько слов о Помощнике. Идея Помощников (Мастеров, Агентов) в программировании не нова. Сегодня эта технология приобрела широкую популярность. В любом достаточно сложном приложении, в котором пользователю отводится активная роль, полезно создать некоторую совокупность Помощников пользователя. Пользователь будет выбирать, какую задачу он хочет решить в тот или иной момент, а соответствующий Помощник поможет ему на этом пути, проводя пользователя через все этапы решения задачи, снабжая необходимой информацией, информируя о возникших ошибках, позволяя сделать откат и вернуться к предыдущему этапу. В программных продуктах Microsoft, например, подобные Помощники или Мастера (Assistants, Wizards) сопровождают нас на каждом шагу, начиная с этапа инсталляции приложения. Кроме того, что Помощники предназначены для обеспечения помощи в решении некоторой конкретной задачи и могут вести диалог с пользователем, они могут обладать еще двумя важными качествами:

  • Иметь видимый образ, возможно допускающий анимацию. Помощник с анимацией, делает приложение одушевленнее. Замечу, что из всех образов, в которых может предстать Помощник, заданный объектом Assistant, я предпочитаю Rocky и позволяю себе в минуты отдыха играться с ним, заставляя его выполнять различные движения. Жаль только, что его анимация не подчиняется голосовым командам, например, "Принеси палку".
  • Обладать определенной интеллектуальностью. Интеллектуальный" Помощник должен уметь собирать факты в процессе работы пользователя, иметь базу знаний, содержащую факты и правила, и иметь встроенную машину вывода. Такой Помощник может делать собственные выводы, брать на себя часть творческой работы, например, по заданию части параметров, или приходить на помощь в нужный, по его мнению, момент.

В последнем предложении я не поставил запятые в обороте "по его мнению". Интеллектуальный Помощник, каковым, несомненно, является встроенная в Word система проверки правописания, тут же выдала мне соответствующую подсказку.

Помощник, встроенный в справочную систему Office 2000, и построенный на основе объекта Assistant, обладает всеми тремя качествами, - выдает справки, имеет видимый образ, и не один, и обладает интеллектуальностью. Следует отметить, что его интеллектуальные способности оставляют желать лучшего, но, несомненно, улучшились в сравнении с предыдущей версией. Он теперь, по крайней мере, понимает запросы, сделанные не только на английском языке, но и на русском.

Программист, использующий объект Assistant для собственных целей, получает Помощника с анимацией, но, конечно, не обладающего никакой интеллектуальностью. Добавить интеллектуальность дело довольно не простое, хотя и возможное.

Начнем рассмотрение объекта Assistant и связанных с ним объектов, с формального изучения его свойств. Структура объекта Assistant довольно проста:

Структура объекта Assistant

Рис. 7.1. Структура объекта Assistant

В объект Assistant вложен объект Balloon. В свою очередь в объект Balloon вложены две коллекции - CheckBoxes (кнопки выбора) и Labels (метки) с элементами классов CheckBox и Label соответственно. Обратите внимание, коллекции называются именно так и не имеют приставки Balloon, как показано на рисунке, взятом из документации, и не изменившимся в новой версии.

Объект Balloon - это диалоговое окно специального вида. При его проектировании в нем можно создать до пяти элементов каждой коллекции. Метки задают текстовые сообщения, адресованные пользователю. Обычно они имеют вид нумерованного списка или списка-бюллетеня и определяют порядок действий пользователя или возможные причины ошибки. Вторая коллекция с кнопками выбора позволяет пользователю сделать тот или иной выбор. Анализируя полученную информацию, программа может выполнять действия, предписанные выбором пользователя.

Свойства объекта Assistant

Как это мы уже не раз делали, зададим сводку основных свойств таблицей:

Таблица 7.1. Основные свойства объекта Assistant
Свойство Назначение
Animation Возвращает или устанавливает тип анимации образа Assistant. Если свойство применяется к объекту Assistant, то он "оживает" сразу же при включении. Если же оно применяется к объекту Balloon, то анимация возникает только при появлении баллончика. Может быть значением одной из 34-х констант типа MsoAnimationType.
AssistWithAlerts, AssistWithHelp, AssistWithWizards Булевы свойства, имеющие значение True, если Assistant используется для выдачи предупреждений (заменяя окно MsgBox ), в ответ на нажатие клавиши F1 (Help), и при выдаче справочных сообщений, когда работают различные Мастера
BalloonError Возвращает значение, указывающее на тип последней ошибки объекта Balloon.
FeatureTips Булево свойство, которому дается значение True, когда желательно получать советы о наиболее эффективных способах использования свойств приложения.
FileName Возвращает или устанавливает имя файла, содержащего графический образ Assistant. Файл имеет уточнение act, например файл со скрепкой - Clippit.act. Заметим, что могут быть заданы только стандартные для Office 97 файлы. Собственные образы задавать нельзя, но число стандартных образов расширяется.
GuessHelp Это именно то булево свойство, установив значение которого, равным True, Вы получаете контекстную подсказку с именами разделов электронной документации при обращении за помощью. Хотите сами искать - отключите это свойство.
HighPriorityTips, KeyboardShortcutTips, MouseTips Советы имеют разный приоритет. Если свойство имеет значение True, то будут выдаваться советы только наивысшего приоритета. Следующие два булевы свойства включают возможность выдачи информации о горячих клавишах и наиболее эффективном использовании мыши.
NewBalloon Является по существу центральным свойством, поскольку позволяет создать новый объект Balloon. После чего можно нужным образом определить свойства этого объекта. Напомним, что баллончик определяет основные возможности Assistant.
Sounds Булево свойство, включающее звук в процессе анимации.
TipOfDay Булево свойство, включающее или отключающее "Совет дня" при открытии приложения Office 97.
Visible Делает видимым или невидимым объект Assistant, сворачивая его в кнопку на панели инструментов.
Новые свойства в Office 2000 Назначение
On Новое булево свойство позволяет включать и выключать Помощника.
< Лекция 6 || Лекция 7: 12345 || Лекция 8 >
Сергей Дмитриев
Сергей Дмитриев
Россия, Москва