Агенты среди нас. Где взять агента и что он может. |
впервые опубликовано: где-то в 2001 на сайте Hare.ru |
Давайте вспомним, почему пользователи повально и так охотно ставили Microsoft Office 97 поверх старого доброго офиса для Windows 95? Всем понравилась забавная «Мурка» (она же «Скрепыш», она же ешё много чего) – «помощник», который больше мешает и отвлекает, чем помогает в работе. Умные дядьки из Microsoft знают, чем привлечь пользователя, да и денег там на это не жалеют. Толстой тетеньке-бухгалтеру, которая из софта видела только 1С и Lines, тоже понравится «Мурка» и другие персонажи из офисной галереи. Думается, есть шанс купить пользователя 1С с помощью подобной фичи. Эта статья расказывает об использовании технологии Microsoft Agent в среде «1С:Предприятие». Для управления агентами из V7 не требуются внешние библиотеки, никаких там "AddIn.ЧтоТоТам" или "ЗагрузитьВнешнююКомпонету". Необходимым является установка самого Microsoft Agent'а, который является COM-сервером и предоставляет интерфесы управления персонажами. Microsoft Agent, возможно, уже есть на компьютерах ваших пользователей (входит в состав WinMe, Win2000, Office2000). Скачать установочный комплект можно с сайта Microsoft (бесплатно): Чтобы наши «агенты« разговаривали, нам потребуется Microsoft Text-To-Speech
(он также может быть уже установлен): А чтобы говорили по-русски, нужен голосовой движок Lernout&Hauspie
TTS3000: То же самое по-английски: Не забудьте про самих «помощников». Можно использовать персонажи из поставок различных офисов, однако разговорить Мурку вам не удастся, не умеет она этого – даже на родном английском языке. Microsoft распространяет бесплатно четыре полноценных персонажа:
Есть в Рунете сайт – коллекция агентов: http://allcharacters.chat.ru, там можно найти сотни персонажей, на любой вкус и цвет. А на сайте Microsoft также бесплатно можно взять редактор агентов, и с его помощью создавать своих персонажей: http://agent.microsoft.com/agent2/sdk/ace.exe (1 Mб). К сожалению, редактировать уже сущесвующие файлы персонажей нельзя. Итак, начнем-с. После установки MSAgent'а нам становится доступен доступен ActiveX-компонет Agent.Control.2. Цепляемся к нему через нашу "любимую" функцию: Агент=СоздатьОбъект("Agent.Control.2"); Вторая строчка инициализирует MSAgent server. Теперь загрузим персонаж: Агент.Characters.Load("merlin","merlin.acs"); Characters – ссылка на объект коллекцию персонажей. Метод Load – загружает персонаж, имеет два параметра: в первом задаем идентификатор персонажа, во втором указываем файл или HTTP-адрес персонажа. Microsoft Agent по умолчанию ищет персонажи в каталоге %WinDir%\MSAgent\Chars,, так что если файл вашего персонажа находится в другом месте, указывайте полный путь. Теперь прицепимся непосредственно к персонажу: Персонаж=Агент.Characters("merlin"); "merlin" здесь – заданный идентификатор. Параметр метода Show логического типа и отвечает за вывод анимации при показе (0 – с анимацией, 1 – без оной). Если у Вас всё получилось, Вы увидите волшебника Мерлина в верхнем левом углу экрана. Верхний левый угол не есть хорошее место для него, давайте заставим его убраться оттуда: Персонаж.MoveTo(500,100,2000); Первый параметр метода MoveTo – экранная координата по X в пикселах, второй – по оси Y, третий – время в милисекундах, за которое совершается перемещение. Не загоните персонаж за край экрана, достать его оттуда мышкой не получится. Параметр время полета необязателен, по умолчанию – 1000. Каждый персонаж содержит свой набор анимаций, которые могут быть проиграны методом Play. Пусть наш волшебник подвигается: Персонаж.Play("Congratulate"); Параметр метода – строка идентификатор анимации. Как отмечалось выше, каждый персонаж имеет свой набор анимаций, и их идентификаторы тоже могут быть различны. Читайте документацию к вашим персонажам. В примере также есть функция, достающая список доступных анимаций конкретного персонажа (к сожалению, без использования Microsoft Script Control сделать это у меня не получилось). Еще про пару полезных методов объекта Character. Stop – останавливает анимацию. StopAll – останавливает вообще всё: анимацию, перемешение, речь. Нет ничего проще заставить персонажа говорить: Персонаж.Speak("Даёшь операционную систему Один Эс"); Закрыть "помощника" можно методом Hide(<параметр>), параметр этого метода аналогичен параметру метода Show. На этом пока заканчиваю. Если статья понравится, в дальнейшем планируется рассказать побольше о свойствах и методах Microsoft Agent'а, а также научить помошника делать предупреждения, задавать вопросы пользователю и предлагать пользователю ввод значения – с последующей обработкой этих значений и ответов на вопросы. А пока рекомендую всем скачать комплект документации по использованию
Microsoft Agent: http://www.microsoft.com/agent2/sdk/agentchm.zip.
|
|