El objeto Command
[Microsoft Agent está en desuso a partir de Windows 7 y puede no estar disponible en versiones posteriores de Windows.
Un objeto Command es un elemento de una colección Commands . El servidor proporciona al usuario acceso a los objetos Command cuando la aplicación cliente pasa a estar activa de entrada.
Para tener acceso a la propiedad de un objeto Command , haga referencia a ella en su colección mediante su propiedad Name . En VBScript y Visual Basic puede usar la propiedad Name directamente:
<i>agent</i>.Characters("<i>CharacterID</i>").Commands("<i>Name</i>").<i>property</i> [= <i>value</i>]
Para los lenguajes de programación que no admiten colecciones, use el método Command :
<i>agent</i>.Characters("<i>CharacterID</i>").Commands.Command("<i>Name</i>").<i>property</i> [= <i>value</i>]
También puede hacer referencia a un objeto Command mediante la creación de una referencia a él. En Visual Basic, declare una variable de objeto y use la instrucción Set para crear la referencia:
Dim Cmd1 as Object
...
Set Cmd1 = Agent.Characters("MyCharacterID").Commands("SampleCommand")
...
Cmd1.Enabled = True
En Visual Basic 5.0, también puede declarar el objeto como tipo IAgentCtlCommandEx y crear la referencia. Esta convención permite el enlace anticipado, lo que da como resultado un mejor rendimiento:
Dim Cmd1 as IAgentCtlCommandEx
...
Set Cmd1 = Agent.Characters("MyCharacterID").Commands("SampleCommand")
...
Cmd1.Enabled = True
En VBScript, puede declarar una referencia como un tipo determinado, pero todavía puede declarar la variable y establecerla en command en la colección:
Dim Cmd1
...
Set Cmd1 = Agent.Characters("MyCharacterID").Commands("SampleCommand")
...
Cmd1.Enabled = True
Un comando puede aparecer en el menú emergente del carácter y en la ventana Comandos, o en ambos. Para que aparezca en el menú emergente, debe tener un subtítulo y tener la propiedad Visible establecida en True. Además, su objeto de colección Commands Propiedad Visible también debe establecerse en True. Para que aparezca en la ventana Comandos, un comando debe tener establecidas sus propiedades Caption y Voice . Tenga en cuenta que las entradas del menú emergente de un carácter no cambian mientras se muestra el menú. Si agrega o quita comandos o cambia sus propiedades mientras se muestra el menú emergente del carácter, el menú muestra esos cambios siempre que el usuario lo muestre a continuación. Sin embargo, la ventana Comandos refleja dinámicamente los cambios que realice.
En la tabla siguiente se resume cómo afectan las propiedades de un comando a su presentación:
Propiedad Caption
Voice-Caption (propiedad)
Voice (propiedad)
Visible (propiedad)
Propiedad Enabled
Aparece en el menú emergente del carácter
Aparece en la ventana Comandos
Sí
Sí
Sí
True
True
Normal, con caption
Sí, mediante VoiceCaption
Sí
Sí
Sí
True
False
Deshabilitado, mediante caption
No
Sí
Sí
Sí
False
True
No aparece
Sí, mediante VoiceCaption
Sí
Sí
Sí
False
False
No aparece
No
Sí
Sí
No
True
True
Normal, con caption
No
Sí
Sí
No
True
False
Deshabilitado, mediante caption
No
Sí
Sí
No
False
True
No aparece
No
Sí
Sí
No
False
False
No aparece
No
No
Sí
Sí
True
True
No aparece
Sí, mediante VoiceCaption
No
Sí
Sí
True
False
No aparece
No
No
Sí
Sí
False
True
No aparece
Sí, mediante VoiceCaption
No
Sí
Sí
False
False
No aparece
No
No
Sí
No
True
True
No aparece
No
No
Sí
No
True
False
No aparece
No
No
Sí
No
False
True
No aparece
No
No
Sí
No
False
False
No aparece
No
Sí
No
Sí
True
True
Normal, con caption
Sí, mediante caption
Sí
No
Sí
True
False
Deshabilitado, mediante caption
No
Sí
No
Sí
False
True
No aparece
Sí, mediante caption
Sí
No
Sí
False
False
No aparece
No
Sí
No
No
True
True
Normal, con caption
No
Sí
No
No
True
False
Deshabilitado, mediante caption
No
Sí
No
No
False
True
No aparece
No
Sí
No
No
False
False
No aparece
No
No
No
Sí
True
True
No aparece
No
No
No
Sí
True
False
No aparece
No
No
No
Sí
False
True
No aparece
No
No
No
Sí
False
False
No aparece
No
No
No
No
True
True
No aparece
No
No
No
No
True
False
No aparece
No
No
No
No
False
True
No aparece
No
No
No
No
False
False
No aparece
No
Si el valor de la propiedad es NULL. En algunos lenguajes de programación, es posible que una cadena vacía no se interprete igual que una cadena nula. El comando sigue siendo accesible por voz.
Cuando el servidor recibe la entrada de uno de los comandos, envía un evento Command y devuelve el nombre del comando como atributo del objeto UserInput . A continuación, puede usar instrucciones condicionales para buscar coincidencias y procesar el comando.