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
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) :)
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