Microsoft Agent no IntraWeb
Usando agentes do Office na Web

 

Neste artigo veremos como utilizar o Microsoft Agent Control em uma aplicação IntraWeb. Os agentes são utilizados pelas aplicações do Office, mas veremos que é muito simples utilizá-los em uma aplicação Delphi. Usando o IntraWeb, por exemplo, podemos exibir o agente diretamente no browser, usando o suporte à ActiveX e código JavaScript. Dessa forma, você pode dar um visual bastante atraente para suas aplicação Web.

 

 Atenção: como o Microsoft Agent é um controle ActiveX, para que ele possa ser exibido no browser é necessário que a máquina cliente (onde rodará o browser) tenha as devidas bibliotecas instaladas (mais informações e downlod a partir do endereço www.microsoft.com/msagent). Por padrão, as novas versões do Windows e Office já instalam essas bibliotecas.

 

Atenção: este artigo foi desenvolvido utilizando a versão 5.1 do IntraWeb (o Delphi 7 é originalmente distribuído com a versão 5.0 do produto). Consulte ao endereço www.atozed.com para obter informações sobre como atualizar o IntraWeb. Se você estiver utilizando a versão 5.0, o componente IWActiveX não estará disponível.

 

Clique em File|New|Other e vá até aba IntraWeb. Crie uma nova aplicação IntraWeb do tipo StandAlone. Coloque no formulário um IWActiveX (paleta Standard), um IWEdit , um IWComboBox e dois IWButtons .

Limpe o Text do IWEdit1, defina o Caption do IWButton1 como “Falar” e do IWButton2 como “Animar”. Configure a propriedade NoSelectionText do IWComboBox1 como “(Escolha animação)”. Seu formulário deve estar semelhante ao da Figura 1.

Figura 1. Criando a aplicação IntraWeb

Abra o editor da propriedade Items do IWComboBox1 e digite o seguinte:

 

Announce
Congratulate
DoMagic1
Read
Search
Suggest
Surprised
Write
Processing

Esses comandos representam as principais animações suportadas pelo agente. Configure as propriedades do IWActiveX1 como mostra a Tabela 1.

Propriedade

Valor

ClassID

CLSID:D45FD31B-5C6E-11D1-9EC1-00C04FD7081F

CodeBase

#VERSION=2,0,0,0

Tabela 1. Configurando o IWActiveX

Selecione o formulário e abra o editor da sua propriedade JavaScript, e digite:

 

function CarregarAgent ()
{
  with (IWACTIVEX1.Characters)
  {
    Load("Merlin", "merlin.acs");
    Character("Merlin").LanguageID = 0x409;
    Character("Merlin").Show();
  }
}

 

Atenção: lembre-se que JavaScript é case-sensitive.

 

Nota: neste exemplo utilizaremos o caracter “Merlin”, mas também é possível utilizar outros caracteres ,como o “Genie” ou o “Robby”, ou até mesmo criar um.

 

Dê um duplo clique no formulário para adicionar um manipulador para o seu evento OnCreate, e digite:

 

procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
  AddToInitProc('CarregarAgent();');
end; 

Selecione o IWButton1 e abra o editor da sua propriedade ScriptEvents. Selecione o evento onClick na lista e digite o seguinte:

 

IWACTIVEX1.Characters.Character("Merlin").Speak
(document.getElementById("IWEDIT1").value);

 

Selecione o IWButton2 e abra o editor da sua propriedade ScriptEvents. Selecione o evento onClick na lista e digite o seguinte:

 

combo = document.getElementById("IWCOMBOBOX1");
IWACTIVEX1.Characters.Character("Merlin").
Play(combo[combo.selectedIndex].text);

Rode a aplicação. No console do servidor IntraWeb aperte F9. Veja a aplicação final na Figura 2.


Figura 2. Aplicação IntraWeb mostra o Microsoft Agent Control na web


Figura 3. Agente pode usar diferentes animações e ainda pronunciar o texto digitado

Um abraço é até a próxima!