Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помошник [D7, WinXP]


KOSH ©   (2004-12-03 10:27:00) 

Мастера подскажите плз. можно ли в свою программу запихать помошника из Microsoft Office и заставить его задавать нужные вопросы и давать необходимые советы. Если да то как?.....


KOSH   (2004-12-03 10:55:00) [1]

Огромнейшое спасибо!!!!!!!!!!!!!!!!!


asafr   (2004-12-03 10:46:00) [2]

Можно. Для этого ты должен импортировть в Дельфи Microsoft Agent (Component->Import ActiveX Control->...), затем раздобыть какой-нибудь  Microsoft Agent (файл *.ASC) и вперед... А затем прочитать статью lel (ссылаюсь на него, но не знаю, доступна ли она сейчас на сайте, ибо очень давно было), где описано, как оживить эти "морды"... В моей программе это работает, примерно, так:

var
Character:IAgentCtlCharacter;
Request:IAgentCtlRequest;
AGENTPATH:string;
Const
AGENT='test';
AGENTPATH='E:\MSAGENT\CHARS\GENIE.ACS'; //путь до файла агента
....
....
procedure TForm1.WaitFor(Reguect: IAgentCtlRequest);
var
Status:LongInt;
begin
repeat
 Application.ProcessMessages;
 Status:=Request.Get_Status
until (Status2) and (Status4);
end;
....
....
procedure TForm1.Button1Click(Sender: TObject);
begin
 Agent1.Connected:=true;
 Request:=Agent1.Characters.Load(Agent,AgentPath);
 Character:=Agent1.Characters.Character(Agent);
 Request:=Character.MoveTo(640,365,0);
 Request:=Character.Show(false);
 WaitFor(Request);
 Request:=Character.Speak('Ïðèâåò',EmptyParam);
 Request:=Character.Play('Greet');
 Request:=Character.MoveTo(0,365,1500);
 Request:=Character.Play('Announce');
 Request:=Character.MoveTo(0,0,1500);
 Request:=Character.Play('Suggest');
 Request:=Character.MoveTo(300,300,1500);
 Request:=Character.MoveTo(100,300,1500);
 Request:=Character.GestureAt(800,300);
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо