(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Изучаем MS Agent Control

Источник: webdelphi

Продолжим разговоры по поводу MS Agent. Загружать персонаж мы научились, а что делать с ним дальше? Он, конечно, может висеть без дела как дополнительное украшательство рабочего стола, но лучше используем технологию на полную катушку. Рассмотрим простой пример работы с MS Agent Control с использованием установленного нами ActiveX компонента.

Запускаем Delphi, создаем новый проект, и укладываем на главную форму компонент agent_pictogrammTAgent с закладки палитры компонентов ActiveX .

Теперь на событие onCreate у главной формы пишем следующий код:

1
2
3
4
5
6
procedure TForm1.FormCreate(Sender: TObject);
begin
  Agent1.Characters.Load('MyAgent','merlin.acs') ;
  Agent1.Characters.Character('MyAgent').Show(0);
  Agent1.Characters.Character('MyAgent').Speak(Agent1.Characters.Character('MyAgent').Description, '')
end;

Написали? Теперь запускаем приложение и видим примерно следующее:

agent_speak

Думаю, что подробно описывать процедуру не стоит, в кратце скажу, что мы сейчас загрузили персонаж, показали его пользователю и при этом Мерлин прочитал то, что записано в его описании.

Теперь посмотрим, на что в принципе способен помощник при его использовании в программах. Рассмотрим более подробно события у комонента TAgent:

  1. onActivateInput - происходит, когда персонаж становится активным для ввода, например, когда персонаж получает щелчок мышью, пользователь называет имя персонажа, при скрытии персонажа другой программы и т.д.
  2. onDeactivateInput - соответственно, происходит, когда персонаж деактивируется для ввода, например, если методом Show вызывается другой персонаж
  3. onClick - проиходит при щелчке мышью по персонажу. При этом, если персонаж был деактивирован, то вначале срабатывает событие onActivateInput, а затем onClick.
  4. onDragStart - вызывается, когда пользователь начинает перетаскивать персонаж мышью
  5. onDragComplete - запускается, когда пользователь отпускает кнопку мыши после перетаскивания персонажа
  6. onRequestStart - посылается сервером, когда он начинает обрабатывать запрос, поставленный в очередь.

Есть ещё масса других событий, обрабатываемых в процессе работы с персонажами, но мы, для ознакомления остановимся пока на рассмотренных выше. А теперь рассмотрим небольшой пример:

пусть при запуске программы персонаж скажет кто он и отреагирует на перетаскивание его мышью

Код, реализующий поставленную задачу представлен ниже:

1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.Agent1DragStart(ASender: TObject;
const CharacterID: WideString; Button, Shift, x, y: SmallInt);
begin
Agent1.Characters.Character('MyAgent').Speak('ээээ...поставь на место!!!', '')
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  Agent1.Characters.Load('MyAgent','merlin.acs') ;
  Agent1.Characters.Character('MyAgent').Show(0);
  Agent1.Characters.Character('MyAgent').Speak(Agent1.Characters.Character('MyAgent').Description, '')
end;

Теперь откомпилируйте, запустите приложение и попробуйте перетащить персонаж в момент, когда он "представляется" Вам. Видите? Вроде как событие onDragStart должно работать и персонаж должен выкрикнуть другую фразу, но он продолжает начатую фразу. Очевидно, что первый запрос необходимо как-то прервать. Хотите узнать как? В следующей статье я рассмотрю вопросы по работе с запросами Request .

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 02.03.2010 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Enterprise Connectors (1 Year term)
Delphi Professional Named User
ABBYY FineReader 14 Standard Full
VMware Workstation Pro 12 for Linux and Windows, ESD
IBM Domino Messaging Client Access License Authorized User License + SW Subscription & Support 12 Months
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
Все о PHP и даже больше
Краткие описания программ и ссылки на них
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100