À l'aide de microsoft agent


Cet article explique comment mettre en œuvre l'Agent Microsoft dans vos propres applications.

Cet article est paru initialement dans les Développeur Delphi
le droit d'Auteur Pinnacle Publishing, Inc. Tous droits réservés.


à l'AIDE de MICROSOFT AGENT EN DELPHI
par l'Argile Shannon

Quand je dis aux gens la façon amusante et efficace c'est d'utiliser Microsoft Agents dans mes programmes, soit ils savent déjà de quoi je parle et peut qu'être d'accord, ou ils me regardent comme si je viens de tombé de l'arrière d'un rutabaga camion et dire quelque chose comme: 'Vous voulez dire que trombone gars qui fait Twiggy ressembler à un lutteur de sumo?! Je déteste ce mec!' Eh bien, je ne suis pas trop friands de ces Agents, soit. Si quand vous entendez 'Microsoft Agent' vous pensez de la 'les Agents de l'Office', comme 'qu'un trombone, guy' dans le laid de la boîte de dialogue qui est toujours de vous importuner avec des questions comme 'on dirait que vous êtes en train de faire cela, voulez-vous m'aider?', et 'on dirait que vous faites cela, vous voulez de l'aide, hein? hein?', vous êtes en train de penser d'une race différente de l'Agent Microsoft que ceux qui seront abordées dans cet article. N'êtes-vous pas heureux?
Ces Agents ne sont pas pris au piège à l'intérieur d'une boîte de dialogue, et ils apparaissent quand et où vous le dire, et dire exactement ce que vous programme pour les dire. Donc, nous allons présenter. Ils sont: Peedy (l'Oiseau), Robby (le Robot), Merlin (le Magicien), et le Génie (le... bien, le Genie):

Sont ces 'jolis' petits personnages de toute valeur pratique? Dans certains programmes, indubitablement pas. Dans d'autres, cependant, qu'ils peuvent non seulement ajouter de l'appel (selon les préférences de l'utilisateur, bien sûr), mais également à aider l'utilisateur à apprendre à utiliser le programme et le faire à travers 'les taches rugueuses'. J'ai tendance à penser que les Agents comme une sorte de 'Maître de cérémonie'. Ils peuvent être utilisés pour introduire l'utilisateur pour le programme - pour quoi faire? Comment pouvez-vous l'utiliser? Ils peuvent être utilisés comme un complément, voire un remplacement, un fichier d'aide. En outre, les Agents disposent d'un grand potentiel, ou à venir, comme des 'guides' en CBT (Computer-Based Training) et dans les programmes de démonstration.
toutes les machines ont le Microsoft les Agents installés. Si vous n'êtes pas sûr de savoir si vos utilisateurs ont les Agents installé ou pas, vous avez deux options: distribuer les agents à vos utilisateurs dans le cas où ils n'en ont pas, ou écrire votre code de telle façon qu'il est transparent à l'Agent-moins d'utilisateurs que votre programme est encore en mesure d'utiliser les Agents ('ils ne savent pas ce qu'ils manquent'). Pour déployer les agents, vous devez aller à Microsoft Agent de site web, télécharger un formulaire, de le remplir, de l'envoyer à eux, etc. afin d'obtenir l'autorisation de distribuer les agents. Je ne sais pas pour vous, mais pour moi c'est, dans les mots de Chuck Berry 'too much monkey business'. J'opte pour le code, soit de la situation: si elles ont les Agents installés, ils vont les voir, sinon ils ne seront pas.
La première chose que vous comme un développeur a besoin de le savoir est de télécharger et d'installer l'Agent de la technologie vous-même, si vous ne l'avez pas déjà fait. L'Agent de composants sont disponibles à http://msdn.microsoft.com/workshop/imedia/agent/default.asp
Les plus pertinents, les téléchargements, il y a:


  1. Le Serveur de l'Agent
  2. Les caractères/Agents
  3. Un Text-to-Speech pièce
  4. commande Vocale (entrée) pièce


Cet article ne traitera pas avec la Commande Vocale de téléchargement et de fonctionnalité (répétez après moi: 'c'est un exercice laissé au lecteur'). Le site contient également des informations sur un nouveau livre intitulé 'Microsoft Agent Kit de Développement Logiciel', et vous pouvez également télécharger le Microsoft Agent Character Editor (logiciel) pour la création de vos propres agents. C'est 'au-delà de la portée de cet article' et est donc 'de gauche' comme un exercice...' - eh bien, vous savez le reste. Revenons aux 'affaires', ou amusant, ou quoi que ce soit que nous allons avoir ici (funsiness?).
La seule téléchargements, vous aurez absolument besoin sont l'Agent Serveur et un caractère. Je vous recommande de télécharger tous les caractères et le Texte-à-Parole de la fonctionnalité, si.
Le téléchargement de Microsoft installe et enregistre l'Agent serveur sur votre machine. Ce qu'il vous reste à faire est d'installer l'Agent de contrôle en Delphi. Pour ce faire, suivez ces étapes:


  1. Sélectionner Component | Importer Contrôle ActiveX
  2. Recherchez le Microsoft Agent de Contrôle de la zone de liste et cliquez sur le bouton Ajouter


L'Agent doit maintenant être installé sur votre page ActiveX:
Si vous déposez le contrôle sur un formulaire, vous pouvez voir qu'un composant de type TAgent est ajouté à votre formulaire de définition. Cependant, si nous ne sommes pas sûr de savoir si l'utilisateur aura le serveur de l'Agent installé sur leur machine, nous voulons créer de l'Agent de façon dynamique. Ne pas le faire peut causer le même problème que d'avoir un chargé statiquement .DLL qui n'est pas trouvé par l'application sur la machine de l'utilisateur. Nous allons d'abord vérifier l'existence de l'Agent de la technologie, et ensuite seulement de créer de l'Agent, si elle existe.
Ajouter un champ Booléen à votre formulaire qui reflète l'état de la technologie des agents de la présence. Par exemple, ce pourrait être un champ appelé AgentInstalled. Ceci est illustré ci-dessous ainsi que d'autres spécifiques à un Agent des champs Booléens et leurs propriétés publiques que vous pouvez déclarer:

TYourObject
& nbsp & nbsp privé
& ! & ! & ! & nbsp AgentInstalled: Boolean
& ! & ! & ! & nbsp fonction AgentIsInstalled: Boolean
& ! & ! & ! & nbsp procédure CreateAndLoadAgentIfInstalled
& ! & ! & ! & nbsp fonction GetColorDepth: Mot
& ! & ! & ! & nbsp fonction GetWinDir: String
& ! & ! & ! & nbsp procédure SetFormColor
& ! & ! & ! & nbsp fonction AgentWasClicked

& ! & ! & ! & ! & ! & ! & ! & ! & nbsp
Vous pouvez renseigner ce champ avec sa valeur appropriée avec une procédure qui vérifie l'existence des fichiers de l'Agent sur la machine de l'utilisateur. Par exemple, si vous utilisez Robby (le Robot) en tant que votre Agent, votre code pourrait ressembler à ceci:

{ & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & }
fonction de TYourObject.AgentIsInstalled: Boolean
begin
& nbsp & nbsp Result := (FileSearch('Robby.acs', Format ('%s\MSAGENT\CARACTÈRES',
& ! & ! & ! & nbsp [GetWinDir]))<>')
fin
{ & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & }
fonction de TYourObject.GetWinDir : string
var
& nbsp & nbsp WinDirZ : array[0..256] de Char
begin
& nbsp & nbsp GetWindowsDirectory(WinDirZ, SizeOf(WinDirZ))
& nbsp & nbsp Résultat := StrPas(WinDirZ)
fin

NOTE: Ne présumez pas que les agents ont été téléchargés à leur 'normale' sur la machine de l'utilisateur C:\WINDOWS\MSAGENT\CHARS).
Nous savons tous ce qui peut arriver (et finalement ne) lorsque l'on suppose trop. Ainsi, vous pouvez utiliser le GetWinDir fonction ci-dessus avec l'appel à FileSearch pour trouver le répertoire Windows sur l'ordinateur de l'utilisateur.


Comme nous allons créer le composant de l'Agent de manière dynamique, on ne place pas un Agent de contrôle ActiveX sur le formulaire. Au lieu de cela, ajouter la OLECtrls et AgentObjects_TLB unités pour la mise en œuvre utilise la clause de la forme[s] sur lequel vous souhaitez utiliser l'agent:

application

& nbsp & nbsp AgentDemoConsts,
& nbsp & nbsp Registre,
& nbsp & nbsp OLECtrls, AgentObjects_TLB

Vous pouvez ensuite créer dynamiquement le composant Agent de cette façon:

{ & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & -}
procédure TYourObject.CreateAndLoadAgentIfInstalled
const
& nbsp & nbsp RightBias = 80
& nbsp & nbsp TopBias = 70
var
& nbsp & nbsp tp: TPoint
begin
& nbsp & nbsp si (AgentInstalled) et pas (Attribué(RobotAgent)), puis commencer
& ! & ! & ! & nbsp RobotAgent := TAgent.Créer(Application)
& ! & ! & ! & nbsp RobotAgent.Des personnages.Load('Robby','Robby.acs)
& ! & ! & ! & nbsp { Déplacement de l'Agent au centre de l'écran }
& ! & ! & ! & nbsp tp.x := (Screen.Largeur de la div 2)-(Largeur de la div 2)
& ! & ! & ! & nbsp tp.y := (Screen.Hauteur de la div 2)-(Hauteur de la div 2)
& ! & ! & ! & nbsp avec RobotAgent.Des personnages.Item['Robby'] do begin
& ! & ! & ! & ! & ! & nbsp MoveTo(tp.x RightBias, tp.y TopBias, 0)
& ! & ! & ! & ! & ! & nbsp Show(0)
& ! & ! & ! & ! & ! & nbsp Jouer('Salue')
& ! & ! & ! & ! & ! & nbsp Jouer('Expliquer')
& ! & ! & ! & ! & ! & nbsp Parler(SDemoIntro, ')
& ! & ! & ! & ! & ! & nbsp Jouer('Content')
& ! & ! & ! & ! & ! & nbsp Jouer('RestPose')
& ! & ! & ! & ! & ! & nbsp Parler(SWhisper, ')
& ! & ! & ! & ! & ! & nbsp Parler(SMonotone, ')
& ! & ! & ! & ! & ! & nbsp Parler(SMap, ')
& ! & ! & ! & ! & ! & nbsp { Vous pouvez l'avoir flibustier et le geste comme un fou si
& ! & ! & ! & ! & ! & ! & ! & nbsp vous voulez... }
& ! & ! & ! & nbsp fin
& nbsp & nbsp fin
fin

l'Ajout de l'expression
Il y a plusieurs discours spécial/les options de texte que vous pouvez utiliser pour plus exactement de contrôle de la manière dont l'Agent parle. Par exemple, vous pouvez faire de lui murmurer, parler dans une monotone, de pause, d'insister sur une certaine partie de son oratoire, ou même lui dire une chose lorsque le ballon au-dessus de sa tête de lit différemment. Vous pouvez utiliser la fonctionnalité de ce dernier à lui parler en anglais, et de montrer que la traduction dans une autre langue dans le ballon. Ou, vous pouvez aller de l' 'Mad magazine' route et demandez-lui de dire une chose en pensant à une autre. Ces capabilties sont disponibles à travers les ajouts suivants:







\Chr= 'Chuchotement'\L'Agent de murmurer le texte suivant
\Pau=N\L'Agent fera une pause pour le nombre de millisecondes
\Emp\L'Agent doit accorder une attention particulière à la phrase suivante
\Chr='Montone'\L'Agent mettra l'accent sur rien du tout
\Map==L'Agent vous dire une chose, et de 'penser' un autre.


Voici quelques exemples d'utilisation de ces discours de 'qualités':
SFuzzyWuzzy = 'Fuzzy wuzzy était un ours \Pau=500\ fuzzy wuzzy avait pas de'
& nbsp & nbsp cheveux \Pau=500\fuzzy wuzzy n'était't très \Emp\floue, '
& nbsp & nbsp '\Emp\a-t-il?'
SWhisper = '\Chr='Whisper'\Maintenant, je murmure: Whisper whisper '
& nbsp & nbsp ' chuchotement.'
SMonotone = '\Chr='Monotone'\Maintenant, je vais parler d'un ton monotone. Pat '
& nbsp & nbsp 'Paulsen pour le Président.'
SMap = '\Map='je vais maintenant continuer à parler en anglais, mais vous'
& nbsp & nbsp 'voyez mes mots, traduit en allemand dans le ballon au-dessus de ma'
& nbsp & nbsp tête. '
& nbsp & nbsp ' Comment êtes-vous aujourd'hui? Je suis juste \Emp\dandy!'='Jetzt werde ich '
& nbsp & nbsp 'zwar immer noch in Englisch reden, sie werden aber meine'
& nbsp & nbsp 'Woerte im Ballon obenauf ins Deutsch uebersetzt sehen. '
& nbsp & nbsp 'Wie geht es Ihnen heute? Mir geht es ganz gut!'\'
Remarque: Pas toutes les actions (les arguments passés à la méthode de la pièce) sont disponibles pour tous les Agents. Voir la documentation correspondante figurant dans les fichiers Microsoft téléchargé avec l'Agent afin de voir quels sont les personnages (les Agents) soutenir les actions.
Interaction
Si vous souhaitez répondre à l'Agent d'événements, vous pouvez les attache en suivant ces étapes:


  1. supprimer un composant de l'Agent sur un formulaire.
  2. Aller à l'Inspecteur de l'Objet d'événement de la page
  3. Cliquez sur l'événement que vous souhaitez pour gérer
  4. Copie de sa signature de la méthode (dans le presse-papiers, bloc-notes, ou quoi que ce soit)
  5. Ajouter une méthode à la signature de votre formulaire de déclaration de l'
  6. Après la création de l'Agent, affecter votre méthode pour l'événement que vous souhaitez gérer.


Par exemple, si vous souhaitez gérer l'Agent de l'événement OnClick du, écrire une méthode avec cette signature:

procédure AgentWasClicked(Sender: TObject
& nbsp & nbsp const CharacterID: WideString Bouton Shift, x, y: Smallint)

procéder à la cession de la gestionnaire d'événement à votre méthode directement après la création de l'Agent:
RobotAgent := TAgent.Créer(Application)
RobotAgent.OnClick := AgentWasClicked

et puis écrire la définition pour le gestionnaire d'événement dans l'unité de mise en œuvre de l'article:

procédure TYourObject.AgentWasClicked(
& nbsp & nbsp Sender: TObject
& nbsp & nbsp const CharacterID: WideString
& nbsp & nbsp Bouton Shift, x, y: Smallint)
begin
& nbsp & nbsp & nbsp ShowMessage ('Don't touch me!')
fin
{ & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & }
fonction de TfrmAgent.UsersName: String
var
& nbsp & nbsp Buff: DWord
& nbsp & nbsp CharArray: array[0..255] de Char
begin
& nbsp & nbsp Buff := SizeOf(CharArray)
& nbsp & nbsp GetUserName(CharArray, Buff)
& nbsp & nbsp Résultat := CharArray
fin

l'Argile Shannon est un organisme indépendant Delphi consultant basé dans le nord de l'Idaho. Il est disponible pour:
1) Delphi consulting travail dans la grande région de Spokane/Coeur d Alene zones
2) de développement à Distance (aucun projet n'est trop petit!)
3) à Court terme ou à des affectations à temps partiel dans d'autres localités.
l'Argile est certifié développeur Delphi 5, et est l'auteur de Développeur Guideto Delphi Dépannage [Wordware, 1999]. Vous pouvez le joindre à [email protected]









A l'aide de microsoft agent


A l'aide de microsoft agent : Plusieurs milliers de conseils pour vous faciliter la vie.


Cet article explique comment mettre en œuvre l'Agent Microsoft dans vos propres applications.

Cet article est paru initialement dans les Developpeur Delphi
le droit d'Auteur Pinnacle Publishing, Inc. Tous droits reserves.


a l'AIDE de MICROSOFT AGENT EN DELPHI
par l'Argile Shannon

Quand je dis aux gens la façon amusante et efficace c'est d'utiliser Microsoft Agents dans mes programmes, soit ils savent deja de quoi je parle et peut qu'etre d'accord, ou ils me regardent comme si je viens de tombe de l'arriere d'un rutabaga camion et dire quelque chose comme: 'Vous voulez dire que trombone gars qui fait Twiggy ressembler a un lutteur de sumo?! Je deteste ce mec!' Eh bien, je ne suis pas trop friands de ces Agents, soit. Si quand vous entendez 'Microsoft Agent' vous pensez de la 'les Agents de l'Office', comme 'qu'un trombone, guy' dans le laid de la boîte de dialogue qui est toujours de vous importuner avec des questions comme 'on dirait que vous etes en train de faire cela, voulez-vous m'aider?', et 'on dirait que vous faites cela, vous voulez de l'aide, hein? hein?', vous etes en train de penser d'une race differente de l'Agent Microsoft que ceux qui seront abordees dans cet article. N'etes-vous pas heureux?
Ces Agents ne sont pas pris au piege a l'interieur d'une boîte de dialogue, et ils apparaissent quand et ou vous le dire, et dire exactement ce que vous programme pour les dire. Donc, nous allons presenter. Ils sont: Peedy (l'Oiseau), Robby (le Robot), Merlin (le Magicien), et le Genie (le... bien, le Genie):

Sont ces 'jolis' petits personnages de toute valeur pratique? Dans certains programmes, indubitablement pas. Dans d'autres, cependant, qu'ils peuvent non seulement ajouter de l'appel (selon les preferences de l'utilisateur, bien sûr), mais egalement a aider l'utilisateur a apprendre a utiliser le programme et le faire a travers 'les taches rugueuses'. J'ai tendance a penser que les Agents comme une sorte de 'Maître de ceremonie'. Ils peuvent etre utilises pour introduire l'utilisateur pour le programme - pour quoi faire? Comment pouvez-vous l'utiliser? Ils peuvent etre utilises comme un complement, voire un remplacement, un fichier d'aide. En outre, les Agents disposent d'un grand potentiel, ou a venir, comme des 'guides' en CBT (Computer-Based Training) et dans les programmes de demonstration.
toutes les machines ont le Microsoft les Agents installes. Si vous n'etes pas sûr de savoir si vos utilisateurs ont les Agents installe ou pas, vous avez deux options: distribuer les agents a vos utilisateurs dans le cas ou ils n'en ont pas, ou ecrire votre code de telle façon qu'il est transparent a l'Agent-moins d'utilisateurs que votre programme est encore en mesure d'utiliser les Agents ('ils ne savent pas ce qu'ils manquent'). Pour deployer les agents, vous devez aller a Microsoft Agent de site web, telecharger un formulaire, de le remplir, de l'envoyer a eux, etc. afin d'obtenir l'autorisation de distribuer les agents. Je ne sais pas pour vous, mais pour moi c'est, dans les mots de Chuck Berry 'too much monkey business'. J'opte pour le code, soit de la situation: si elles ont les Agents installes, ils vont les voir, sinon ils ne seront pas.
La premiere chose que vous comme un developpeur a besoin de le savoir est de telecharger et d'installer l'Agent de la technologie vous-meme, si vous ne l'avez pas deja fait. L'Agent de composants sont disponibles a http://msdn.microsoft.com/workshop/imedia/agent/default.asp
Les plus pertinents, les telechargements, il y a:


  1. Le Serveur de l'Agent
  2. Les caracteres/Agents
  3. Un Text-to-Speech piece
  4. commande Vocale (entree) piece


Cet article ne traitera pas avec la Commande Vocale de telechargement et de fonctionnalite (repetez apres moi: 'c'est un exercice laisse au lecteur'). Le site contient egalement des informations sur un nouveau livre intitule 'Microsoft Agent Kit de Developpement Logiciel', et vous pouvez egalement telecharger le Microsoft Agent Character Editor (logiciel) pour la creation de vos propres agents. C'est 'au-dela de la portee de cet article' et est donc 'de gauche' comme un exercice...' - eh bien, vous savez le reste. Revenons aux 'affaires', ou amusant, ou quoi que ce soit que nous allons avoir ici (funsiness?).
La seule telechargements, vous aurez absolument besoin sont l'Agent Serveur et un caractere. Je vous recommande de telecharger tous les caracteres et le Texte-a-Parole de la fonctionnalite, si.
Le telechargement de Microsoft installe et enregistre l'Agent serveur sur votre machine. Ce qu'il vous reste a faire est d'installer l'Agent de controle en Delphi. Pour ce faire, suivez ces etapes:


  1. Selectionner Component | Importer Controle ActiveX
  2. Recherchez le Microsoft Agent de Controle de la zone de liste et cliquez sur le bouton Ajouter


L'Agent doit maintenant etre installe sur votre page ActiveX:
Si vous deposez le controle sur un formulaire, vous pouvez voir qu'un composant de type TAgent est ajoute a votre formulaire de definition. Cependant, si nous ne sommes pas sûr de savoir si l'utilisateur aura le serveur de l'Agent installe sur leur machine, nous voulons creer de l'Agent de façon dynamique. Ne pas le faire peut causer le meme probleme que d'avoir un charge statiquement .DLL qui n'est pas trouve par l'application sur la machine de l'utilisateur. Nous allons d'abord verifier l'existence de l'Agent de la technologie, et ensuite seulement de creer de l'Agent, si elle existe.
Ajouter un champ Booleen a votre formulaire qui reflete l'etat de la technologie des agents de la presence. Par exemple, ce pourrait etre un champ appele AgentInstalled. Ceci est illustre ci-dessous ainsi que d'autres specifiques a un Agent des champs Booleens et leurs proprietes publiques que vous pouvez declarer:

TYourObject
& nbsp & nbsp prive
& ! & ! & ! & nbsp AgentInstalled: Boolean
& ! & ! & ! & nbsp fonction AgentIsInstalled: Boolean
& ! & ! & ! & nbsp procedure CreateAndLoadAgentIfInstalled
& ! & ! & ! & nbsp fonction GetColorDepth: Mot
& ! & ! & ! & nbsp fonction GetWinDir: String
& ! & ! & ! & nbsp procedure SetFormColor
& ! & ! & ! & nbsp fonction AgentWasClicked

& ! & ! & ! & ! & ! & ! & ! & ! & nbsp
Vous pouvez renseigner ce champ avec sa valeur appropriee avec une procedure qui verifie l'existence des fichiers de l'Agent sur la machine de l'utilisateur. Par exemple, si vous utilisez Robby (le Robot) en tant que votre Agent, votre code pourrait ressembler a ceci:

{ & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & }
fonction de TYourObject.AgentIsInstalled: Boolean
begin
& nbsp & nbsp Result := (FileSearch('Robby.acs', Format ('%s\MSAGENT\CARACTERES',
& ! & ! & ! & nbsp [GetWinDir]))<>')
fin
{ & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & }
fonction de TYourObject.GetWinDir : string
var
& nbsp & nbsp WinDirZ : array[0..256] de Char
begin
& nbsp & nbsp GetWindowsDirectory(WinDirZ, SizeOf(WinDirZ))
& nbsp & nbsp Resultat := StrPas(WinDirZ)
fin

NOTE: Ne presumez pas que les agents ont ete telecharges a leur 'normale' sur la machine de l'utilisateur C:\WINDOWS\MSAGENT\CHARS).
Nous savons tous ce qui peut arriver (et finalement ne) lorsque l'on suppose trop. Ainsi, vous pouvez utiliser le GetWinDir fonction ci-dessus avec l'appel a FileSearch pour trouver le repertoire Windows sur l'ordinateur de l'utilisateur.


Comme nous allons creer le composant de l'Agent de maniere dynamique, on ne place pas un Agent de controle ActiveX sur le formulaire. Au lieu de cela, ajouter la OLECtrls et AgentObjects_TLB unites pour la mise en œuvre utilise la clause de la forme[s] sur lequel vous souhaitez utiliser l'agent:

application

& nbsp & nbsp AgentDemoConsts,
& nbsp & nbsp Registre,
& nbsp & nbsp OLECtrls, AgentObjects_TLB

Vous pouvez ensuite creer dynamiquement le composant Agent de cette façon:

{ & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & -}
procedure TYourObject.CreateAndLoadAgentIfInstalled
const
& nbsp & nbsp RightBias = 80
& nbsp & nbsp TopBias = 70
var
& nbsp & nbsp tp: TPoint
begin
& nbsp & nbsp si (AgentInstalled) et pas (Attribue(RobotAgent)), puis commencer
& ! & ! & ! & nbsp RobotAgent := TAgent.Creer(Application)
& ! & ! & ! & nbsp RobotAgent.Des personnages.Load('Robby','Robby.acs)
& ! & ! & ! & nbsp { Deplacement de l'Agent au centre de l'ecran }
& ! & ! & ! & nbsp tp.x := (Screen.Largeur de la div 2)-(Largeur de la div 2)
& ! & ! & ! & nbsp tp.y := (Screen.Hauteur de la div 2)-(Hauteur de la div 2)
& ! & ! & ! & nbsp avec RobotAgent.Des personnages.Item['Robby'] do begin
& ! & ! & ! & ! & ! & nbsp MoveTo(tp.x RightBias, tp.y TopBias, 0)
& ! & ! & ! & ! & ! & nbsp Show(0)
& ! & ! & ! & ! & ! & nbsp Jouer('Salue')
& ! & ! & ! & ! & ! & nbsp Jouer('Expliquer')
& ! & ! & ! & ! & ! & nbsp Parler(SDemoIntro, ')
& ! & ! & ! & ! & ! & nbsp Jouer('Content')
& ! & ! & ! & ! & ! & nbsp Jouer('RestPose')
& ! & ! & ! & ! & ! & nbsp Parler(SWhisper, ')
& ! & ! & ! & ! & ! & nbsp Parler(SMonotone, ')
& ! & ! & ! & ! & ! & nbsp Parler(SMap, ')
& ! & ! & ! & ! & ! & nbsp { Vous pouvez l'avoir flibustier et le geste comme un fou si
& ! & ! & ! & ! & ! & ! & ! & nbsp vous voulez... }
& ! & ! & ! & nbsp fin
& nbsp & nbsp fin
fin

l'Ajout de l'expression
Il y a plusieurs discours special/les options de texte que vous pouvez utiliser pour plus exactement de controle de la maniere dont l'Agent parle. Par exemple, vous pouvez faire de lui murmurer, parler dans une monotone, de pause, d'insister sur une certaine partie de son oratoire, ou meme lui dire une chose lorsque le ballon au-dessus de sa tete de lit differemment. Vous pouvez utiliser la fonctionnalite de ce dernier a lui parler en anglais, et de montrer que la traduction dans une autre langue dans le ballon. Ou, vous pouvez aller de l' 'Mad magazine' route et demandez-lui de dire une chose en pensant a une autre. Ces capabilties sont disponibles a travers les ajouts suivants:







\Chr= 'Chuchotement'\L'Agent de murmurer le texte suivant
\Pau=N\L'Agent fera une pause pour le nombre de millisecondes
\Emp\L'Agent doit accorder une attention particuliere a la phrase suivante
\Chr='Montone'\L'Agent mettra l'accent sur rien du tout
\Map==L'Agent vous dire une chose, et de 'penser' un autre.


Voici quelques exemples d'utilisation de ces discours de 'qualites':
SFuzzyWuzzy = 'Fuzzy wuzzy etait un ours \Pau=500\ fuzzy wuzzy avait pas de'
& nbsp & nbsp cheveux \Pau=500\fuzzy wuzzy n'etait't tres \Emp\floue, '
& nbsp & nbsp '\Emp\a-t-il?'
SWhisper = '\Chr='Whisper'\Maintenant, je murmure: Whisper whisper '
& nbsp & nbsp ' chuchotement.'
SMonotone = '\Chr='Monotone'\Maintenant, je vais parler d'un ton monotone. Pat '
& nbsp & nbsp 'Paulsen pour le President.'
SMap = '\Map='je vais maintenant continuer a parler en anglais, mais vous'
& nbsp & nbsp 'voyez mes mots, traduit en allemand dans le ballon au-dessus de ma'
& nbsp & nbsp tete. '
& nbsp & nbsp ' Comment etes-vous aujourd'hui? Je suis juste \Emp\dandy!'='Jetzt werde ich '
& nbsp & nbsp 'zwar immer noch in Englisch reden, sie werden aber meine'
& nbsp & nbsp 'Woerte im Ballon obenauf ins Deutsch uebersetzt sehen. '
& nbsp & nbsp 'Wie geht es Ihnen heute? Mir geht es ganz gut!'\'
Remarque: Pas toutes les actions (les arguments passes a la methode de la piece) sont disponibles pour tous les Agents. Voir la documentation correspondante figurant dans les fichiers Microsoft telecharge avec l'Agent afin de voir quels sont les personnages (les Agents) soutenir les actions.
Interaction
Si vous souhaitez repondre a l'Agent d'evenements, vous pouvez les attache en suivant ces etapes:


  1. supprimer un composant de l'Agent sur un formulaire.
  2. Aller a l'Inspecteur de l'Objet d'evenement de la page
  3. Cliquez sur l'evenement que vous souhaitez pour gerer
  4. Copie de sa signature de la methode (dans le presse-papiers, bloc-notes, ou quoi que ce soit)
  5. Ajouter une methode a la signature de votre formulaire de declaration de l'
  6. Apres la creation de l'Agent, affecter votre methode pour l'evenement que vous souhaitez gerer.


Par exemple, si vous souhaitez gerer l'Agent de l'evenement OnClick du, ecrire une methode avec cette signature:

procedure AgentWasClicked(Sender: TObject
& nbsp & nbsp const CharacterID: WideString Bouton Shift, x, y: Smallint)

proceder a la cession de la gestionnaire d'evenement a votre methode directement apres la creation de l'Agent:
RobotAgent := TAgent.Creer(Application)
RobotAgent.OnClick := AgentWasClicked

et puis ecrire la definition pour le gestionnaire d'evenement dans l'unite de mise en œuvre de l'article:

procedure TYourObject.AgentWasClicked(
& nbsp & nbsp Sender: TObject
& nbsp & nbsp const CharacterID: WideString
& nbsp & nbsp Bouton Shift, x, y: Smallint)
begin
& nbsp & nbsp & nbsp ShowMessage ('Don't touch me!')
fin
{ & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & }
fonction de TfrmAgent.UsersName: String
var
& nbsp & nbsp Buff: DWord
& nbsp & nbsp CharArray: array[0..255] de Char
begin
& nbsp & nbsp Buff := SizeOf(CharArray)
& nbsp & nbsp GetUserName(CharArray, Buff)
& nbsp & nbsp Resultat := CharArray
fin

l'Argile Shannon est un organisme independant Delphi consultant base dans le nord de l'Idaho. Il est disponible pour:
1) Delphi consulting travail dans la grande region de Spokane/Coeur d Alene zones
2) de developpement a Distance (aucun projet n'est trop petit!)
3) a Court terme ou a des affectations a temps partiel dans d'autres localites.
l'Argile est certifie developpeur Delphi 5, et est l'auteur de Developpeur Guideto Delphi Depannage [Wordware, 1999]. Vous pouvez le joindre a [email protected]


À l'aide de microsoft agent

À l'aide de microsoft agent : Plusieurs milliers de conseils pour vous faciliter la vie.
Recommander aux amis
  • gplus
  • pinterest

Messages récents

Commentaire

Laisser un commentaire

évaluation