(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 .

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


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

Магазин программного обеспечения   WWW.ITSHOP.RU
Delphi Professional Named User
Enterprise Connectors (1 Year term)
Купить WinRAR : 5 : Академическая лицензия 1 лицензия
Купить Антивирус Dr.Web Server Security Suite для сервера
EMS SQL Management Studio for InterBase/Firebird (Business) + 1 Year Maintenance
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Компьютерный дизайн - Все графические редакторы
СУБД Oracle "с нуля"
Adobe Photoshop: алхимия дизайна
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
Нормальные казино в 2021 году (22)
После долгих поисков все таки смог найти хорошие игровухи, хотя и ушла куча времени, пока я...
 
Онлайн казино ПокерДом (1)
Поспешите начинать зарабатывать играя в онлайн казино ПокерДом...
 
Стратегии ставок на спорт (6)
Стратегии ставок на спорт от BET-EXPRESS...
 
Отличается ли ДрифтКазино от беттинга? (62)
Друзья, давно заметил, что на Дрифте уже несколько месяцев во всю рекламируется и предлагается...
 
Удалённая работа программистом ASP.NET(C#) (90)
Знанию asp.net(C#) . Знаком с паттернами проектирования по книги M.Файлера.Знание HTML,...
 
 
 



    
rambler's top100 Rambler's Top100