Вначале короткие анонсы, а потом уже основная часть выпуска. Итак, в новом году на
сервере Hare.ru имели место быть следующие события:
Слегка изменился вид первой страницы, она стала компактнее, да и цветовая гамма немного повеселела.
Опубликована пятая глава статьи Андрея Малкина Доступ
к данным V7 из других систем. В ней продолжен детальный анализ логической структуры таблиц баз данных V7.
Новости внешней компоненты ToySQL: в компоненту добавлена полная
поддержка работы с DBF-версией, обновлены примеры работы с метазапросами и добавлено несколько
вопросов в FAQ. Продажа лицензий ToySQL на льготных условиях прекращена.
Больше никаких интересных вещей пока что не происходило.
КБ Как привинтить Скрепыша к V7?
По мотивам статьи Алексея Бажитова Агенты среди нас
(опубликована в разделе КБ).
Давайте вспомним, почему пользователи повально и так охотно ставили Microsoft Office 97 поверх старого доброго офиса для
Windows 95? Всем понравилась забавная «Мурка» (она же «Скрепыш», она же ешё много чего)
«помощник», который больше мешает и отвлекает, чем помогает в работе.
Умные дядьки из Microsoft знают, чем привлечь пользователя, да и денег там на это не жалеют.
Толстой тетеньке-бухгалтеру, которая из софта видела только 1С и Lines, тоже понравится
«Мурка» и другие персонажи из офисной галереи. Думается, есть шанс купить пользователя 1С
с помощью подобной фичи. Эта статья расказывает об использовании технологии Microsoft Agent в среде
«1С:Предприятие».
Для управления агентами из V7 не требуются внешние библиотеки, никаких там
AddIn.ЧтоТоТам или
ЗагрузитьВнешнююКомпонету.
Необходимым является установка самого Microsoft Agent'а, который является COM-сервером и предоставляет
интерфесы управления персонажами. Microsoft Agent, возможно, уже есть на компьютерах ваших пользователей
(входит в состав WinMe, Win2000, Office2000).
Не забудьте про самих «помощников». Можно использовать персонажи из поставок различных офисов, однако
разговорить Мурку вам не удастся, не умеет она этого даже на родном английском языке.
Microsoft распространяет бесплатно четыре полноценных персонажа:
Есть в Рунете сайт коллекция агентов: http://allcharacters.chat.ru,
там можно найти сотни персонажей, на любой вкус и цвет.
А на сайте Microsoft также бесплатно можно взять редактор агентов, и с его помощью создавать своих персонажей:
http://agent.microsoft.com/agent2/sdk/ace.exe (1 Mб).
К сожалению, редактировать уже сущесвующие файлы персонажей нельзя.
Итак, начнем-с. После установки MSAgent'а нам становится доступен доступен ActiveX-компонетAgent.Control.2. Цепляемся к нему через нашу любимую функцию:
Вторая строчка инициализирует MSAgent server. Теперь загрузим персонаж:
Агент.Characters.Load("merlin","merlin.asc");
Characters ссылка на объект коллекцию персонажей. Метод Load загружает персонаж, имеет два
параметра: в первом задаем идентификатор персонажа, во втором указываем файл или HTTP-адрес персонажа.
Microsoft Agent по умолчанию ищет персонажи в каталоге
%WinDir%\MSAgent\Chars,, так что если файл вашего персонажа находится в
другом месте, указывайте полный путь.
"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'а, а также научить помошника делать предупреждения, задавать вопросы пользователю и предлагать
пользователю ввод значения с последующей обработкой этих значений и ответов на вопросы.