Объект Command
[Агент Майкрософт не рекомендуется использовать в Windows 7 и может быть недоступен в последующих версиях Windows.]
Объект Command — это элемент в коллекции Commands . Сервер предоставляет пользователю доступ к объектам Command , когда клиентское приложение становится активным для ввода.
Чтобы получить доступ к свойству объекта Command , необходимо ссылаться на него в его коллекции с помощью свойства Name . В VBScript и Visual Basic можно напрямую использовать свойство Name :
<i>agent</i>.Characters("<i>CharacterID</i>").Commands("<i>Name</i>").<i>property</i> [= <i>value</i>]
Для языков программирования, которые не поддерживают коллекции, используйте метод Command :
<i>agent</i>.Characters("<i>CharacterID</i>").Commands.Command("<i>Name</i>").<i>property</i> [= <i>value</i>]
Вы также можете ссылаться на объект Command, создав на него ссылку. В Visual Basic объявите объектную переменную и создайте ссылку с помощью инструкции Set:
Dim Cmd1 as Object
...
Set Cmd1 = Agent.Characters("MyCharacterID").Commands("SampleCommand")
...
Cmd1.Enabled = True
В Visual Basic 5.0 можно также объявить объект как тип IAgentCtlCommandEx и создать ссылку. Это соглашение обеспечивает раннюю привязку, что приводит к повышению производительности:
Dim Cmd1 as IAgentCtlCommandEx
...
Set Cmd1 = Agent.Characters("MyCharacterID").Commands("SampleCommand")
...
Cmd1.Enabled = True
В VBScript ссылку можно объявить как определенный тип, но можно по-прежнему объявить переменную и задать для нее значение Command в коллекции:
Dim Cmd1
...
Set Cmd1 = Agent.Characters("MyCharacterID").Commands("SampleCommand")
...
Cmd1.Enabled = True
Команда может отображаться во всплывающем меню символа и окне "Команды" или в обоих вариантах. Чтобы появиться во всплывающем меню, он должен иметь подпись, а для свойства Visible задано значение True. Кроме того, свойству Visible объекта коллекции Commands также должно быть присвоено значение True. Чтобы появиться в окне "Команды", у команды должны быть заданы свойства Caption и Voice . Обратите внимание, что элементы всплывающего меню символа не изменяются при отображении меню. Если вы добавляете или удаляете команды или изменяете их свойства при отображении всплывающего меню символа, в меню отображаются эти изменения при следующем отображении. Однако окно команд динамически отражает все внесенные вами изменения.
В следующей таблице показано, как свойства команды влияют на ее представление.
Свойство Caption
Свойство Voice-Caption
Свойство voice
Видимое свойство
Свойство Enabled
Отображается во всплывающем меню символа
Отображается в окне "Команды"
Да
Да
Да
True
True
Обычный, с помощью заголовка
Да, использование VoiceCaption
Да
Да
Да
True
Неверно
Отключено с помощью заголовка
Нет
Да
Да
Да
Неверно
True
Не отображается
Да, использование VoiceCaption
Да
Да
Да
Неверно
Неверно
Не отображается
Нет
Да
Да
Нет
True
True
Обычный, с помощью заголовка
Нет
Да
Да
Нет
True
Неверно
Отключено с помощью заголовка
Нет
Да
Да
Нет
False
True
Не отображается
Нет
Да
Да
Нет
Неверно
Неверно
Не отображается
Нет
Нет
Да
Да
True
True
Не отображается
Да, использование VoiceCaption
Нет
Да
Да
True
Неверно
Не отображается
Нет
Нет
Да
Да
Неверно
True
Не отображается
Да, использование VoiceCaption
Нет
Да
Да
Неверно
Неверно
Не отображается
Нет
Нет
Да
Нет
True
True
Не отображается
Нет
Нет
Да
Нет
True
Неверно
Не отображается
Нет
Нет
Да
Нет
False
True
Не отображается
Нет
Нет
Да
Нет
Неверно
Неверно
Не отображается
Нет
Да
Нет
Да
True
True
Обычный, с помощью заголовка
Да, использование заголовка
Да
Нет
Да
True
Неверно
Отключено с помощью заголовка
Нет
Да
Нет
Да
Неверно
True
Не отображается
Да, использование заголовка
Да
Нет
Да
Неверно
Неверно
Не отображается
Нет
Да
Нет
Нет
True
True
Обычный, с помощью заголовка
Нет
Да
Нет
Нет
True
Неверно
Отключено с помощью заголовка
Нет
Да
Нет
Нет
False
True
Не отображается
Нет
Да
Нет
Нет
Неверно
Неверно
Не отображается
Нет
Нет
Нет
Да
True
True
Не отображается
Нет
Нет
Нет
Да
True
Неверно
Не отображается
Нет
Нет
Нет
Да
Неверно
True
Не отображается
Нет
Нет
Нет
Да
Неверно
Неверно
Не отображается
Нет
Нет
Нет
Нет
True
True
Не отображается
Нет
Нет
Нет
Нет
True
Неверно
Не отображается
Нет
Нет
Нет
Нет
False
True
Не отображается
Нет
Нет
Нет
Нет
Неверно
Неверно
Не отображается
Нет
Значение , если свойство имеет значение NULL. В некоторых языках программирования пустая строка может не интерпретироваться так же, как пустая строка. Команда по-прежнему доступна для голосовых функций.
Когда сервер получает входные данные для одной из команд, он отправляет событие Command и передает имя Command в качестве атрибута объекта UserInput . Затем можно использовать условные операторы для сопоставления и обработки команды.