Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Tutorials und Kurse (https://www.delphipraxis.net/36-tutorials-und-kurse/)
-   -   Delphi Windows Agenten in Delphi (https://www.delphipraxis.net/118042-windows-agenten-delphi.html)

U_A 30. Jul 2008 14:44


Windows Agenten in Delphi
 
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.

taaktaak 30. Jul 2008 14:48

Re: Windows Agenten in Delphi
 
Nette Idee!
Anschaulich dargestellt!
Danke!

Allerdings bin ich immer froh, wenn diese "Störenfriede" ausgeschaltet sind :roll:

U_A 30. Jul 2008 14:51

Re: Windows Agenten in Delphi
 
Ich finde damit kann man wenn man Software entwickelt einfach die Benutzerfreundlichkeit erheblich steigern, gerade für Anfänger doch seh praktisch ;)

taaktaak 30. Jul 2008 14:56

Re: Windows Agenten in Delphi
 
Na klar,
als Option ist das eine gute Sache - ohne Zweifel!

Poseidon 2. Aug 2008 12:57

Re: Windows Agenten in Delphi
 
Gefällt mir :thumb:
Wusste garnicht das Delphi soetwas einbinden kann. Muss ich sofort ausprobieren.......

ösichemiker 3. Aug 2008 10:24

Re: Windows Agenten in Delphi
 
Das tutorial ist gut. es gibt auch eins bei DSDT. Mich stört nur, das nirgens steht, was für animationen die Agents können. Hab mal ein kleines Delphiprogramm gehabt, das alle animationen jedes auf dem PC installierten Agents in einer Liste angezeigt hat; find ich zurzeit aber nicht ...

mfg

Flo

Union 3. Aug 2008 11:38

Re: Windows Agenten in Delphi
 
Unter http://www.bellcraft.com/mash/chars.aspx kann man sich mit "Character details" die verfügbaren Eigenschaften jedes Agents ansehen.

thkerkmann 3. Aug 2008 11:40

Re: Windows Agenten in Delphi
 
und wofür ist peedy ?

Union 3. Aug 2008 11:44

Re: Windows Agenten in Delphi
 
Peedy ist ein nervtötender grüner Papagei. Testen kann man das mit folgendem VBS Script:
Code:
strAgentName = "peedy"
strAgentPath = "c:\windows\msagent\chars\" & strAgentName & ".acs"
Set objAgent = CreateObject("Agent.Control.2")
objAgent.Connected = TRUE
objAgent.Characters.Load strAgentName, strAgentPath
Set objCharacter = objAgent.Characters.Character(strAgentName)
objCharacter.Show
objCharacter.Hide
Wscript.Sleep 3000
Do While objCharacter.Visible = True
    Wscript.Sleep 1000
Loop
Das kann man natürlich auch in Delphi machen wenn man die Objekte als OleVariant deklariert.

holliesoft 3. Aug 2008 13:01

Re: Windows Agenten in Delphi
 
Zitat:

Zitat von Union
Peedy ist ein nervtötender grüner Papagei. Testen kann man das mit folgendem VBS Script:
[...]

Unter Vista läuft das nicht, Fehlermeldung:
Code:
---------------------------
Windows Script Host
---------------------------
Skript:   F:\temp\wintmp\Vista\AGENT.vbs
Zeile:   5
Zeichen:   1
Fehler:   Das System kann die angegebene Datei nicht finden.

Code:   80070002
Quelle:    Agent.Control.2

---------------------------
OK  
---------------------------


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:32 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz