Programowanie w języku Delphi » Artykuły

Spotkanie z MS Agentem

  • 2012-05-13 18:44
  • 12 komentarzy
  • 1702 odsłony
  • Oceń ten tekst jako pierwszy
Witam! Zacznijmy od zainstalowania kontrolki MS Agenta w Delphi. Otóż kontrolka MS-Agenta to kontrolka ActiveX + plik z Agentem.

Wybierz z menu Compotent pozycje Import ActiveX Control. W wyświetlonym okienku poszukaj opcji Microsoft Agent Control 2.0 (version 2.0) i zainstaluj ją. Jeśli nie możesz znaleźć tam tej pozycji to wejdź na moją stronę([url]http://www.Delphi.programowanie.prv.pl[/url]) i wdziale Download poszukaj potrzebnych plików (będą opisane). Zainstaluj Agenta tj wyżej

Na swoim komputerze poszukaj plików *.ACS. Jeśli masz Ms-Office'a to prawdopodobnie będą w tym samym katalogu. Jeśli jednak tam ich nie ma to ponownie wejdź na moją stronę i ściągnij z tamtąd Plik Geniusza. Zanotuj jego pełną ścieżkę.

Z zakładki ActiveX wybieramy komponent Agent i umieszczamy go na formatkę. W Inspektorze obiektów właściwość Connected ustawiamy na "true". Przechodzimy do okna kodu.

W oknie kodu, w sekcji private dopisujemy następujące zmienne:
Req  : IAgentCtlRequest;
Chrctr : IAgentCtlCharacter; 


oraz tworzymy procedury ZaladujAgenta, PokażAgenta, Mów, Animuj:


procedure LoadAgent;
procedure ShowAgent(aBool: Boolean);
procedure Say(aText: String);
procedure Animation(aAnimationName: String); 


Tworzymy wszystkie procedury i uzupełniamy procedure ZaladujAgenta o nastepujący kod:

procedure TForm1.LoadAgent();
begin 
  Req := Agent1.Characters.Load('Genie', 'ScieżkaDoAgenta');
  Chrctr := Agent1.Characters.Character('genie');
end;
 
//Teraz PokazAgenta:
 
procedure TTorm1.ShowAgent(aBool: Boolean);
begin
  Req := Chrctr.Show(aBool);
end; 
 
 //Kolejnie procedurke Mow:
 
Procedure TForm1.Say(aText: String);
begin
  Req := Chrctr.Speak(tekstDoMowy, '');
  // pierwszy parametr do tekst który wyświetli sie w 
  //chmurce, drugi do plik Wave ktory moze zostac odegrany
  //(URL lub nazwa pliku) ktorys z parametrow musi zostac podany
end;
 
//I ostatnia: Animuj:
procedure TForm1.Animation(AanimationName: String);
begin
  Req := Chrctr.Play('NazwaAnimacji');
end;
 
//Teraz wstawiamy na forme buttona:
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowAgent(False); //ta własciwosc powoduje ze agent wyswietla sie z animacją
  Say('Jestem Agentem');
  Animation('Announce');
end;
 
//Teraz tworzymy procedure OnCreate:
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  LoadAgent;
end; 


Teraz wystartuj aplikacje i ciesz sie:):):)
Jako ciekawostke podam że możesz posiadać kilku agentow na raz!!! Jakieś problemy, pytania : pisz [email protected]

12 komentarzy

xc1024 2008-05-25 22:44

ja tego w ogole nie moge wrzucic na forme. blad : "The system cannot find the file specified". pomoze ktos?

//edit juz dziala. musialem zeinstalowac delphi :(. ps. ma ktos te pliki agenta? bo strona nieczynna

InFoL 2006-06-04 16:58

Procedure TForm1.Mow(tekstDoMowy:string);
begin
req:=Char.Speak(tekstDoMowy, '');
// pierwszy parametr do tekst który wyświetli sie w
//chmurce, drugi do plik Wave ktory moze zostac odegrany
//(URL lub nazwa pliku) ktorys z parametrow musi zostac podany
end;

a ten 'tekstDoMowy' to sie tylko wyświetli w chmurce, czy on to tez odczyta??

a ta strona twoja niedziała...;/

speedlog 2006-04-14 22:55

Jak możecie to podajcie linka do jakiegoś skompilowanego programiki (chciałbym zobaczyć jak to działa) :)

Jojersztajner 2006-04-14 18:35

<quote>Witam! Zacznijmy od zainstalowania kontrolki MS Agenta w Delphi. Otóż kontrolka MS-Agenta to kontrolka ActiveX + plik z Agentem.</quote>
przydałby się jakiś przyzwoity wstęp (niestety nie jestem dobry w pisaniu takowych :()

jakubkrol 2005-06-14 17:59

 AJKIE MOŻNA DAĆ POLECENIA?? I(np. Gadanie, pokazywanie...)

adiqwo 2003-12-12 15:41

a ja mam na samym początku błąd: Odmowa dostępu.

brodny 2003-08-29 18:00

Coś jakby Chip...???

Piotr_Gil 2003-08-24 13:20

Przepraszam za niedopatrzenie w moim artcie. Jak słusznie koledzy zauważyli podałem kiepską animację. Możecie podać np. GestureLeft, processing, itp.

lofix 2003-08-22 11:17

Pod tym adresem znajduje sie więcej info

czczcz 2003-08-22 10:10

Wszystkie dostępne animacje można odnaleźć w pliku *.acm wystarczy go odworzyć hexedytorem

dla przykładu:
gestureleft
gesturedown
gestureup
gestureright
idlefingertap

itd.. Pozatym nie ma innych błędów i niedopatrzeń

lofix 2003-08-21 14:47

tagi wstaw < delphi >
poza tym na twojej stronie raczej nic nie ma :/

Gdy postapilem DOKLADNIE WEDLUG twojego artykulu (jako osoba nieobyta w temacie) to nonstop lapalem blad:
"Podana animacja nie jest obsługiwana, sprawdz czy nazwa animacji jest poprawana"

Sugestia...wypisz wszelkie mozliwosci jakie mozna uzyc..

Piotr_Gil 2003-08-21 13:22

Przepraszam strona jest w budowie, ale pliki moge przeslac na e-maila