![]() |
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 ;)
![]() Also fangen wir an :) Schritt1: Wir müssen die ActiveX Komponente "Microsoft Agent Control 2.0" aktivieren. ![]() ![]() ![]() ![]() ![]() Schritt2: Die Komponente ist nun installiert und wir wechseln zum Reiter ActiveX und ziehen folgendes Symbol auf unsere leere Form: ![]() Dannach definieren wir unter der Variable "Form1: TForm1" noch peedy,Merlin:IAgentCtlCharacterEx; Das ganze sollte dann so aussehen:
Code:
Schritt3:
var
Form1: TForm1; peedy,Merlin:IAgentCtlCharacterEx; In das FormCreate Ereignis muss nun folgender Code:
Code:
Schritt4:
begin
Agent1.characters.load('Merlin','merlin.acs'); Merlin:=Agent1.Characters.Character('Merlin'); Agent1.Connected:=true; end; 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:
Zum denken ändern wir die Zeilen in:
Merlin.show (false);
Merlin.speak(memo1.text, '');
Code:
Merlin.show (false);
Merlin.think(memo1.text); ![]() 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: ![]() 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. |
Re: Windows Agenten in Delphi
Nette Idee!
Anschaulich dargestellt! Danke! Allerdings bin ich immer froh, wenn diese "Störenfriede" ausgeschaltet sind :roll: |
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 ;)
|
Re: Windows Agenten in Delphi
Na klar,
als Option ist das eine gute Sache - ohne Zweifel! |
Re: Windows Agenten in Delphi
Gefällt mir :thumb:
Wusste garnicht das Delphi soetwas einbinden kann. Muss ich sofort ausprobieren....... |
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 |
Re: Windows Agenten in Delphi
Unter
![]() |
Re: Windows Agenten in Delphi
und wofür ist peedy ?
|
Re: Windows Agenten in Delphi
Peedy ist ein nervtötender grüner Papagei. Testen kann man das mit folgendem VBS Script:
Code:
Das kann man natürlich auch in Delphi machen wenn man die Objekte als OleVariant deklariert.
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 |
Re: Windows Agenten in Delphi
Zitat:
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 12:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz