贴个程序吧
这个程序只会让这个agent在屏幕上聊天。不过发现delphi import的activex控件还是做得够可以的
var
Form1: TForm1;
Genie: IAgentCtlCharacter;
Robby: IAgentCtlCharacter;
GenieRequest1, GenieRequest2: IAgentCtlRequest;
RobbyRequest1: IAgentCtlRequest;
ag1, ag2: Variant;
procedure TForm1.FormCreate(Sender: TObject);
begin
Agent1.Characters.Load('CLIPPIT', 'c:/temp/CLIPPIT.ACS');//你自己的路径
//一定是*.acs文件!
Agent1.Characters.Load('merlin', 'c:/temp/merlin.acs');
Genie := Agent1.Characters.Item['clippit'];
Robby := Agent1.Characters.Item['merlin'];
Robby.Show(ag1);
Genie.Show(ag2);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Genie.Show(ag1); // ' 执 行 名 为"Suggest" 的 动 作
// Genie.Play('suggest');
//' 把Genie 移 动 到 座 标(200,200) 处,
// 用GenieRequest1 来 标 识 该 动 作 请 求
GenieRequest1 := Genie.MoveTo(200, 200, ag1);
//' 执 行 名 为"Searching" 的 循 环 动 画 动 作,
// 用GenieRequest2 来 标 识 该 动 作 请 求 Set GenieRequest2 = Genie.Play("Searching") ' Robby 等 待Genie 的MoveTo 方 法 执 行 完 毕, 方 才 显 示
Robby.Wait(GenieRequest1);
Robby.Show(ag2);
Robby.Play('Suggest');
Robby.Play('read');
Robby.Play('Congratulate'); //' 由Robby 来 终 止Genie 的 循 环 动 画 动 作
//Robby.Interrupt(GenieRequest2);
//Genie.Play('write');
Genie.Speak('hello world', ag1);
Robby.Speak('有没有搞错啊,这样的助理也算???', ag2);
end;