O objeto Command
[O Microsoft Agent foi preterido a partir do Windows 7 e pode estar indisponível nas versões subsequentes do Windows.]
Um objeto Command é um item em uma coleção Commands . O servidor fornece ao usuário acesso aos objetos Command quando o aplicativo cliente se torna ativo de entrada.
Para acessar a propriedade de um objeto Command , faça referência a ele em sua coleção usando sua propriedade Name . No VBScript e no Visual Basic, você pode usar a propriedade Name diretamente:
<i>agent</i>.Characters("<i>CharacterID</i>").Commands("<i>Name</i>").<i>property</i> [= <i>value</i>]
Para linguagens de programação que não dão suporte a coleções, use o método Command :
<i>agent</i>.Characters("<i>CharacterID</i>").Commands.Command("<i>Name</i>").<i>property</i> [= <i>value</i>]
Você também pode referenciar um objeto Command criando uma referência a ele. No Visual Basic, declare uma variável de objeto e use a instrução Set para criar a referência:
Dim Cmd1 as Object
...
Set Cmd1 = Agent.Characters("MyCharacterID").Commands("SampleCommand")
...
Cmd1.Enabled = True
No Visual Basic 5.0, você também pode declarar o objeto como o tipo IAgentCtlCommandEx e criar a referência. Essa convenção permite a associação antecipada, o que resulta em um melhor desempenho:
Dim Cmd1 as IAgentCtlCommandEx
...
Set Cmd1 = Agent.Characters("MyCharacterID").Commands("SampleCommand")
...
Cmd1.Enabled = True
No VBScript, você pode declarar uma referência como um tipo específico, mas ainda pode declarar a variável e defini-la como Command na coleção:
Dim Cmd1
...
Set Cmd1 = Agent.Characters("MyCharacterID").Commands("SampleCommand")
...
Cmd1.Enabled = True
Um comando pode aparecer no menu pop-up do caractere e na Janela Comandos ou em ambos. Para aparecer no menu pop-up, ele deve ter um legenda e ter a propriedade Visible definida como True. Além disso, sua propriedade Visible do objeto da coleção Commands também deve ser definida como True. Para aparecer na janela Comandos, um Comando deve ter suas propriedades Caption e Voice definidas. Observe que as entradas do menu pop-up de um caractere não são alteradas enquanto o menu é exibido. Se você adicionar ou remover comandos ou alterar suas propriedades enquanto o menu pop-up do caractere for exibido, o menu exibirá essas alterações sempre que o usuário o exibir. No entanto, a janela Comandos reflete dinamicamente as alterações feitas.
A tabela a seguir resume como as propriedades de um Comando afetam sua apresentação:
Propriedade Caption
Propriedade Voice-Caption
Propriedade Voice
Propriedade Visible
Propriedade Enabled
Aparece no menu pop-up do caractere
Aparece na janela Comandos
Sim
Sim
Sim
True
True
Normal, usando Legenda
Sim, usando o VoiceCaption
Sim
Sim
Sim
True
Falso
Desabilitado, usando Legenda
Não
Sim
Sim
Sim
Falso
True
Não aparece
Sim, usando o VoiceCaption
Sim
Sim
Sim
Falso
Falso
Não aparece
Não
Sim
Sim
Não
True
True
Normal, usando Legenda
Não
Sim
Sim
Não
True
Falso
Desabilitado, usando Legenda
Não
Sim
Sim
Não
Falso
True
Não aparece
Não
Sim
Sim
Não
Falso
Falso
Não aparece
Não
Não
Sim
Sim
True
True
Não aparece
Sim, usando o VoiceCaption
Não
Sim
Sim
True
Falso
Não aparece
Não
Não
Sim
Sim
Falso
True
Não aparece
Sim, usando o VoiceCaption
Não
Sim
Sim
Falso
Falso
Não aparece
Não
Não
Sim
Não
True
True
Não aparece
Não
Não
Sim
Não
True
Falso
Não aparece
Não
Não
Sim
Não
Falso
True
Não aparece
Não
Não
Sim
Não
Falso
Falso
Não aparece
Não
Sim
Não
Sim
True
True
Normal, usando Legenda
Sim, usando Legenda
Sim
Não
Sim
True
Falso
Desabilitado, usando Legenda
Não
Sim
Não
Sim
Falso
True
Não aparece
Sim, usando Legenda
Sim
Não
Sim
Falso
Falso
Não aparece
Não
Sim
Não
Não
True
True
Normal, usando Legenda
Não
Sim
Não
Não
True
Falso
Desabilitado, usando Legenda
Não
Sim
Não
Não
Falso
True
Não aparece
Não
Sim
Não
Não
Falso
Falso
Não aparece
Não
Não
Não
Sim
True
True
Não aparece
Não
Não
Não
Sim
True
Falso
Não aparece
Não
Não
Não
Sim
Falso
True
Não aparece
Não
Não
Não
Sim
Falso
Falso
Não aparece
Não
Não
Não
Não
True
True
Não aparece
Não
Não
Não
Não
True
Falso
Não aparece
Não
Não
Não
Não
Falso
True
Não aparece
Não
Não
Não
Não
Falso
Falso
Não aparece
Não
Se a configuração da propriedade for nula. Em algumas linguagens de programação, uma cadeia de caracteres vazia pode não ser interpretada da mesma forma que uma cadeia de caracteres nula. O comando ainda é acessível por voz.
Quando o servidor recebe entrada para um de seus comandos, ele envia um evento Command e retorna o nome do Command como um atributo do objeto UserInput . Em seguida, você pode usar instruções condicionais para corresponder e processar o Comando.