📄 unit1.~pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
OleCtrls, AgentObjects_TLB, StdCtrls;
type
TForm1 = class(TForm)
Agent1: TAgent;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Edit1: TEdit;
Button4: TButton;
Label1: TLabel;
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Agent1ActiveClientChange(Sender: TObject;
const CharacterID: WideString; Active: WordBool);
procedure Button3Click(Sender: TObject);
procedure Agent1Command(Sender: TObject; const UserInput: IDispatch);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
IMyAgent:IAgentCtlCharacters;
I1:IAgentCtlCharacterEx;
I2:IAgentCtlEx;
implementation
{$R *.DFM}
procedure TForm1.FormShow(Sender: TObject);
begin
Agent1.Characters.Load('genie','genie.acs');
With Agent1.Characters.Item['Genie'] do
Begin
Set_LanguageID($0409);
Set_SoundEffectsOn(TRUE);
show(0);
speak('Hello!I am here!','')
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
With Agent1.Characters.Item['Genie'] do
Begin
show(0);
speak('Hello!I am here!','')
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
With Agent1.Characters.Item['Genie'] do
Begin
speak('Hello!I am Leaving!','');
Hide(0);
end;
end;
procedure TForm1.Agent1ActiveClientChange(Sender: TObject;
const CharacterID: WideString; Active: WordBool);
begin
SHowMessage(CharacterID);
end;
procedure TForm1.Button3Click(Sender: TObject);
var
ICommands:IAgentCtlCommandsEx;
ICommand:IAgentCtlCommand;
begin
I2:=Agent1.ControlInterface;
ICommands:=I2.Characters.Item['Genie'].Get_Commands;
Icommand:=ICommands.Add('Action1','Menu1','Voice1',TRUE,TRUE);
ICommand.Enabled:=true;
Icommand:=ICommands.Add('Action2','Menu2','Voice2',TRUE,TRUE);
ICommand.Enabled:=true;
Icommand:=ICommands.Add('Action3','Menu3','Voice3',TRUE,TRUE);
ICommand.Enabled:=true;
end;
procedure TForm1.Agent1Command(Sender: TObject;
const UserInput: IDispatch);
var IInput:IAgentCtlUserInput;
theinput:WideString;
begin
IInput:=UserInput As IAgentCtlUserInput;
theinput:=(IInput.Get_Name);
Agent1.Characters.Item['Genie'].Speak('You Choose the Command:'+theinput,'');
end;
procedure TForm1.Button4Click(Sender: TObject);
var
theinput:WideString;
begin
theinput:=Edit1.Text;
Agent1.Characters.Item['Genie'].Speak(theinput,'')
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -