Spotkanie z MS Agentem

Piotr_Gil

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 piter.gil@wp.pl

12 komentarzy

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

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...;/

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

Witam! Zacznijmy od zainstalowania kontrolki MS Agenta w Delphi. Otóż kontrolka MS-Agenta to kontrolka ActiveX + plik z Agentem.

przydałby się jakiś przyzwoity wstęp (niestety nie jestem dobry w pisaniu takowych :()

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

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

Coś jakby Chip...???

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

Pod tym adresem znajduje sie więcej info

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ń

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..

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