![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Использование Microsoft AgentDelphi , Технологии , OLE Automation MSOffice
Всякий, кто хоть раз работал в MS Office, знаком с помощниками. По умолчанию это забавная скрепка, которая то и дело стучит по стеклу монитора, дает советы и спрашивает, например, нужно ли сохранить изменения документа при закрытии программы. MS Office использует свои собственные помощники, но существует возможность встраивать подобных помощников и в ваши приложения. Причем эти помощники могут не только давать советы в виде текста, но и читать их, т.е. синтезировать речь. Доступ ко всем этим возможностям дает Microsoft Agent (кстати, с его помощью можно не только синтезировать речь, но и распознавать речевые команды, однако в рамках данной статьи мы не затронем эту тему). Для дальнейших экспериментов вам прежде всего необходимо установить себе MS Agent-a, думаю, найти его можно на http://www.microsoft.com/workshop/prog/agent/agentdl.htm или на дисках VisualStudio (там есть еще три персонажа и редактор персонажей в придачу),- дистрибутив имеет размер ~350 kb. А также характер - это файл анимационного персонажа, который и будет виден на экране. Это файлы с расширением *.acs (офисовские не подходят). Характер можно взять из переводчика Magic Gooddy, с дисков VisualStudio или других. Итак, далее подразумевается, что у вас уже установлен MS Agent и есть по крайней мере один персонаж. Теперь вам нужно установить ActiveX компонент агента. В Delphi выберите пункт "Компоненты->Импорт компонента ActiveX" и найдите в списке что-то вроде "Microsoft Agent Control 2.0". После установки в палитре компонентов на вкладке ActiveX появится новый компонент,- через него мы и будем управлять помощником. Установите на форму компонент Agent1, Edit1, Memo1 и две кнопки Button1 и Button2. По нажатию на первую кнопку будет загружаться MS Agent и персонаж, а на вторую кнопку мы будем вешать различные команды для агента. В поле Edit1.Text введите путь к файлу характера, а в Memo1.Text - то, что должен будет говорить помощник (должно быть на английском языке, вообще-то можно и на русском, но я пока не знаю как). В обработчик нажатия первой кнопки впишите следующий код: Agent1.Characters.Load('MyAgent', Edit1.Text); Далее обращаться к этому персонажу (а их может быть несколько) нужно так: Agent1.Characters['MyAgent']. ... Самые распространенные команды персонажу перечислены ниже:
Сделаем, чтобы наш персонаж сначала появился в углу экрана, переехал в противоположный угол, затем поприветствовал нас, прочитал содержимое Memo и скрылся. Впишите в обработчик нажатия второй клавиши следующее: { Установка начальных координат } Agent1.Characters['MyAgent'].Left := 0; Agent1.Characters['MyAgent'].Top := 0; { Появление персонажа с анимацией } Agent1.Characters['MyAgent'].Show(False); { Переезжаем в противоположный угол } Agent1.Characters['MyAgent'].MoveTo(Screen.WorkAreaWidth-Agent1.Characters['MyAgent'].Width, Screen.WorkAreaHeight-Agent1.Characters['MyAgent'].Height, 1500); { Приветствие } Agent1.Characters['MyAgent'].Play('Greet'); { Читаем содержимое Memo1 } Agent1.Characters['MyAgent'].Speak(Memo1.Text, ''); { Скрываем персонажа с анимацией } Agent1.Characters['MyAgent'].Hide(False); В результате многочисленных опытов не удалось выяснить только как читать текст по-русски. Однако, использование помощников даже с английской речью может поднять популярность ваших продуктов (особенно если они изначально ориентированны для иностранного потребителя). В результате множества испытаний не было найдено каких-то ошибок при использовании персонажей - MS Agent сам загружается когда он нужен и сам выгружается когда он уже не нужен. А небольшой размер дистрибутива MS Agent-а позволяет "таскать" его с собой и устанавливать при инсталляции своих проектов. В статье описывается использование Microsoft Agent для создания встроенных помощников в приложениях, которые могут давать советы, синтезировать речь и выполнять другие задачи. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: OLE Automation MSOffice ::
|
|||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |