Einzelnen Beitrag anzeigen

U_A

Registriert seit: 30. Jul 2008
3 Beiträge
 
#1

Windows Agenten in Delphi

  Alt 30. Jul 2008, 15:44
So, in diesem Tutorial Zeige ich euch wie wir die berühmten Windows Agenten in unsere Anwendung integrieren. Ich nehme hierzu Merlin
http://saved.im/ndezmznhymt3/merlin.jpg

Also fangen wir an

Schritt1:
Wir müssen die ActiveX Komponente "Microsoft Agent Control 2.0" aktivieren.

http://saved.im/ndezmzvymge1/bild1.jpg

http://saved.im/ndezmzz0mgj6/bild2.jpg

http://saved.im/ndezmzczm281/bild3.jpg

http://saved.im/ndezmzhrmxds/bild4.jpg

http://saved.im/ndezmzloewzj/bild5.jpg


Schritt2:
Die Komponente ist nun installiert und wir wechseln zum Reiter ActiveX und ziehen folgendes Symbol auf unsere leere Form: http://saved.im/ndezmzqymhb0/agent.jpg
Dannach definieren wir unter der Variable "Form1: TForm1"
noch peedy,Merlin:IAgentCtlCharacterEx;

Das ganze sollte dann so aussehen:
Code:
var
  Form1: TForm1;
  peedy,Merlin:IAgentCtlCharacterEx;
Schritt3:
In das FormCreate Ereignis muss nun folgender Code:
Code:
begin
Agent1.characters.load('Merlin','merlin.acs');
Merlin:=Agent1.Characters.Character('Merlin');
Agent1.Connected:=true;
end;
Schritt4:
Auf unserer Form platzieren wir nun noch ein Memo Feld und einen Button.

Schritt5:[color=orange]
In das Click Ereignis des Buttons kommt dieser Code:
Code:
Merlin.show (false);
Merlin.speak(memo1.text, '');
Zum denken ändern wir die Zeilen in:
Code:
Merlin.show (false);
Merlin.think(memo1.text);
http://saved.im/ndezndvhohkz/finish.jpg

Natürlich gibt es noch mehr Funktionen, probiert einfach ein bisschen

Achja, Merlin hat natürlich auch viele Freunde die sich auch freuen würden wenn du sie mit in dein Programm einbinest^^
hier ein Link: http://www.msagentring.org/chars.aspx?page=1

So, das wars, ich denke mal ihr bekommt das hin

Code:

Code:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OleCtrls, AgentObjects_TLB;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    Agent1: TAgent;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  peedy,Merlin:IAgentCtlCharacterEx;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin

Merlin.show (false);
Merlin.think(memo1.text);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Agent1.characters.load('Merlin','merlin.acs');
Merlin:=Agent1.Characters.Character('Merlin');
Agent1.Connected:=true;
end;

end.
  Mit Zitat antworten Zitat