亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mainform.pas

?? 詳細講述如何用delphi進行com編程
?? PAS
字號:
unit MainForm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, ExtCtrls, StdCtrls, OleCtrls, ActiveX, AgentObjects_TLB;

const
  WM_SHOWAGENT = WM_USER + 1;
  AGENT = 'genie';
  AGENTPATH = 'C:\WinNT\MSAgent\Chars\genie.acs';

  RequestCompleted = 0;
  RequestFailed = 1;
  RequestPending = 2;
  RequestInterrupted = 3;
  RequestInProgress = 4;

  NeverShown = 0;
  UserHidSpeech = 1;
  UserShowed = 2;
  ProgramHid = 3;
  ProgramShowed = 4;
  OtherProgramHid = 5;
  OtherProgramShowed = 6;
  UserHidMenu = 7;

  LeftButton = 1;
  RightButton = 2;
  MiddleButton = 4;

type
  TForm1 = class(TForm)
    Agent1: TAgent;
    grpAnimation: TGroupBox;
    cbAnimations: TComboBox;
    btnPlay: TButton;
    btnStopLast: TButton;
    grpMovement: TGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    XPos: TEdit;
    YPos: TEdit;
    btnMove: TButton;
    btnGesture: TButton;
    Speed: TEdit;
    grpSpeech: TGroupBox;
    Memo1: TMemo;
    btnSpeak: TButton;
    grpSpecial: TGroupBox;
    btnHide: TButton;
    btnShow: TButton;
    btnStopAll: TButton;
    Bevel1: TBevel;
    StatusBar1: TStatusBar;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure btnPlayClick(Sender: TObject);
    procedure btnStopLastClick(Sender: TObject);
    procedure btnSpeakClick(Sender: TObject);
    procedure btnMoveClick(Sender: TObject);
    procedure btnGestureClick(Sender: TObject);
    procedure btnHideClick(Sender: TObject);
    procedure btnShowClick(Sender: TObject);
    procedure btnStopAllClick(Sender: TObject);
    procedure Agent1Bookmark(Sender: TObject; BookmarkID: Integer);
    procedure Agent1DblClick(Sender: TObject;
      const CharacterID: WideString; Button, Shift, x, y: Smallint);
    procedure Agent1DragComplete(Sender: TObject;
      const CharacterID: WideString; Button, Shift, x, y: Smallint);
    procedure Agent1HideShow(Sender: TObject; const CharacterID: WideString;
      Cause: Smallint);
  private
    { Private declarations }
    Character: IAgentCtlCharacterEx;
    FRequest: IAgentCtlRequest;
    procedure WaitFor(Request: IAgentCtlRequest);
    procedure WMShowAgent(var Message: TMessage); message WM_SHOWAGENT;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.WaitFor(Request: IAgentCtlRequest);
var
  Status: LongInt;
begin
  repeat
    Application.ProcessMessages;
    Status := Request.Get_Status;
  until (Status <> RequestPending) and (Status <> RequestInProgress);
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  Animations: IAgentCtlAnimationNames;
  Enum: IEnumVariant;
  V: OleVariant;
  Fetched: Cardinal;
begin
  Character := nil;
  FRequest := nil;

  Agent1.Connected := True;

  Agent1.Characters.Load(AGENT, AGENTPATH);
  Character := Agent1.Characters.Character(AGENT);

  Animations := Character.AnimationNames;
  Enum := Animations.Enum as IEnumVariant;
  while Enum.Next(1, V, Fetched) = S_OK do
    cbAnimations.Items.Add(V);

  cbAnimations.ItemIndex := 0;
end;

procedure TForm1.FormDestroy(Sender: TObject);
var
  Request: IAgentCtlRequest;
begin
  if Character <> nil then begin
    Character.StopAll('');

    Request := Character.Hide(False);
    WaitFor(Request);

    Agent1.Characters.Unload(AGENT);
  end;

  Agent1.Connected := False;
end;

procedure TForm1.WMShowAgent(var Message: TMessage);
var
  pt: TPoint;
begin
  pt.x := Bevel1.Left;
  pt.y := Bevel1.Top;
  pt := ClientToScreen(pt);
  Character.MoveTo(pt.x, pt.y, 0);

  Character.Show(False);
  Character.Play('Announce');
  Character.Speak('Hello.  I am an agent.', '');
  Character.Play('RestPose');
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  PostMessage(Handle, WM_SHOWAGENT, 0, 0);
end;

// Animation

procedure TForm1.btnPlayClick(Sender: TObject);
var
  Status: LongInt;
begin
  // If we're already playing something, stop it
  if FRequest <> nil then begin
    Status := FRequest.Get_Status;
    if (Status = 2) or (Status = 4) then
      Character.Stop(FRequest);
  end;

  FRequest := Character.Play(cbAnimations.Text);
end;

procedure TForm1.btnStopLastClick(Sender: TObject);
begin
  if FRequest <> nil then
    Character.Stop(FRequest);
end;

// Speech

procedure TForm1.btnSpeakClick(Sender: TObject);
begin
  Character.Speak(Memo1.Text, '');
end;

// Movement

procedure TForm1.btnMoveClick(Sender: TObject);
begin
  Character.MoveTo(StrToInt(XPos.Text), StrToInt(YPos.Text), StrToInt(Speed.Text));
end;

procedure TForm1.btnGestureClick(Sender: TObject);
begin
  Character.GestureAt(StrToInt(XPos.Text), StrToInt(YPos.Text));
end;

// Special

procedure TForm1.btnHideClick(Sender: TObject);
begin
  Character.Hide(False);
end;

procedure TForm1.btnShowClick(Sender: TObject);
begin
  Character.Show(False);
end;

procedure TForm1.btnStopAllClick(Sender: TObject);
begin
  Character.StopAll('');
end;

// Event handlers

procedure TForm1.Agent1Bookmark(Sender: TObject; BookmarkID: Integer);
begin
  StatusBar1.SimpleText := 'Triggered bookmark ' + IntToStr(BookmarkID);
end;

procedure TForm1.Agent1DblClick(Sender: TObject;
  const CharacterID: WideString; Button, Shift, x, y: Smallint);
begin
  if Button = LeftButton then
    StatusBar1.SimpleText := 'The user double-clicked on ' + CharacterID;
end;

procedure TForm1.Agent1DragComplete(Sender: TObject;
  const CharacterID: WideString; Button, Shift, x, y: Smallint);
begin
  StatusBar1.SimpleText := Format('The user moved %s to %d, %d', [CharacterID, x, y]);
end;

procedure TForm1.Agent1HideShow(Sender: TObject; const CharacterID: WideString;
  Cause: Smallint);
begin
  case Cause of
    NeverShown:
      StatusBar1.SimpleText := 'Nobody ever showed ' + CharacterID;
    UserHidSpeech:
      StatusBar1.SimpleText := 'The user hid ' + CharacterID + ' via spoken command';
    UserShowed:
      StatusBar1.SimpleText := 'The user showed ' + CharacterID;
    ProgramHid:
      StatusBar1.SimpleText := 'The program hid ' + CharacterID;
    ProgramShowed:
      StatusBar1.SimpleText := 'The program showed ' + CharacterID;
    OtherProgramHid:
      StatusBar1.SimpleText := 'Another program hid ' + CharacterID;
    OtherProgramShowed:
      StatusBar1.SimpleText := 'Another program showed ' + CharacterID;
    UserHidMenu:
      StatusBar1.SimpleText := 'The user hid ' + CharacterID + ' via menu';
    else
      StatusBar1.SimpleText := 'Unknown show/hide status for ' + CharacterID;
  end;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
制服丝袜成人动漫| 狠狠色狠狠色综合系列| 99视频一区二区| 综合久久一区二区三区| 色综合色狠狠综合色| 亚洲婷婷综合久久一本伊一区| 不卡电影一区二区三区| 亚洲色图制服丝袜| 欧美中文字幕不卡| 丝袜诱惑制服诱惑色一区在线观看 | 一区二区三区加勒比av| 欧美影视一区二区三区| 日韩中文字幕不卡| www国产成人免费观看视频 深夜成人网| 另类小说一区二区三区| 国产女人18毛片水真多成人如厕| 成人小视频免费观看| 亚洲一区在线观看免费观看电影高清 | 欧美日韩国产成人在线91| 亚洲成av人片www| 日韩视频一区在线观看| 国产一区二区在线观看视频| 中文一区二区在线观看| 欧美性一区二区| 久久精品国产亚洲高清剧情介绍| 国产欧美一区二区精品性色超碰| 色综合中文综合网| 蜜桃视频免费观看一区| 久久色在线视频| 在线一区二区视频| 久久精品999| 亚洲日本一区二区三区| 日韩亚洲欧美在线| 成人av网站在线观看| 亚洲自拍偷拍网站| 久久久久久一级片| 欧美色综合网站| 国内精品国产成人| 亚洲影视在线观看| 国产日韩欧美一区二区三区综合| 色婷婷亚洲综合| 国产在线视视频有精品| 亚洲综合一区二区| 中文字幕成人网| 日韩视频国产视频| 色综合视频在线观看| 国产一区高清在线| 亚洲成人精品在线观看| 国产精品精品国产色婷婷| 日韩一区二区麻豆国产| 91福利资源站| 波多野结衣在线aⅴ中文字幕不卡| 日韩一区精品视频| 一区二区三区日本| 国产精品久久久久久久久动漫| 日韩一级高清毛片| 欧美日韩午夜影院| 91热门视频在线观看| 国产老女人精品毛片久久| 午夜视频在线观看一区二区| 亚洲欧洲国产日韩| 国产精品色眯眯| 久久久亚洲精品一区二区三区| 欧美日韩成人一区| 欧美亚洲自拍偷拍| 一本大道av一区二区在线播放| 国产一区欧美日韩| 国产在线视频一区二区| 日本不卡一区二区三区高清视频| 夜夜嗨av一区二区三区四季av| 中文字幕乱码久久午夜不卡 | 成人综合婷婷国产精品久久| 免费三级欧美电影| 麻豆精品蜜桃视频网站| 肉丝袜脚交视频一区二区| 亚洲香蕉伊在人在线观| 夜夜操天天操亚洲| 亚洲高清在线视频| 亚洲成人久久影院| 日韩国产成人精品| 日本不卡不码高清免费观看| 日本va欧美va瓶| 久久福利视频一区二区| 久久97超碰色| 国产精品1024| 高清视频一区二区| 99精品欧美一区二区三区综合在线| 成人综合日日夜夜| 欧美中文字幕亚洲一区二区va在线| 91麻豆免费视频| 91福利视频久久久久| 欧美日韩在线一区二区| 91精品国产欧美一区二区成人| 欧美精品久久99| 精品欧美久久久| 国产日韩综合av| 中文字幕一区二区三区乱码在线| 亚洲欧美激情插| 三级亚洲高清视频| 国产成人午夜片在线观看高清观看| 高清久久久久久| 欧美熟乱第一页| 欧美tickling挠脚心丨vk| 久久精品亚洲精品国产欧美 | 一二三四社区欧美黄| 日本欧美肥老太交大片| 激情欧美一区二区| av色综合久久天堂av综合| 欧美亚洲一区三区| 精品免费国产一区二区三区四区| 久久精品水蜜桃av综合天堂| 国产精品国产三级国产aⅴ中文| 亚洲精品成人天堂一二三| 日韩国产精品大片| 成人免费看的视频| 欧美日韩国产在线观看| 久久精品视频网| 亚洲午夜精品17c| 国产一区二三区好的| 色94色欧美sute亚洲13| 精品三级在线观看| 国产精品久久久久久久第一福利 | 成人av在线网站| 欧美日韩一区二区在线观看| 精品国产一区二区三区久久久蜜月 | 亚洲无人区一区| 国产乱码精品一品二品| 欧美日本一区二区三区| 国产日产欧美一区二区三区| 亚洲一区在线观看视频| 国产成人av网站| 制服丝袜av成人在线看| 国产精品第五页| 精品一区二区三区在线观看| 91免费观看国产| 欧美www视频| 亚洲成人先锋电影| 成人avav在线| 精品99999| 视频一区视频二区在线观看| 成人天堂资源www在线| 欧美一区二区美女| 亚洲青青青在线视频| 国产成人综合在线观看| 欧美精品乱码久久久久久按摩| 亚洲乱码日产精品bd| 国产伦精品一区二区三区免费| 5858s免费视频成人| 亚洲精品国产高清久久伦理二区| 国内精品伊人久久久久av影院| 7777精品伊人久久久大香线蕉超级流畅| 欧美国产丝袜视频| 国内精品在线播放| 日韩欧美国产wwwww| 亚洲bt欧美bt精品777| av网站免费线看精品| 亚洲国产岛国毛片在线| 国产一区二区三区| 欧美成人bangbros| 日本欧美大码aⅴ在线播放| 欧美性感一类影片在线播放| 亚洲欧美激情视频在线观看一区二区三区| 国产成人99久久亚洲综合精品| 久久综合久久久久88| 精彩视频一区二区三区| 日韩精品一区二区三区老鸭窝| 青青草国产成人99久久| 日韩欧美国产综合一区| 日本午夜一区二区| 欧美成人官网二区| 国产一区二区精品在线观看| 亚洲精品在线免费观看视频| 久久99精品久久久久久动态图| 日韩一区二区免费高清| 韩国v欧美v亚洲v日本v| 日本一区二区三区四区在线视频 | 亚洲另类在线视频| 色婷婷综合激情| 亚洲亚洲人成综合网络| 欧美日韩国产美女| 日本sm残虐另类| 欧美大胆一级视频| 国产麻豆视频一区| 国产精品久久久一区麻豆最新章节| 丰满少妇久久久久久久| 国产精品不卡一区二区三区| 99精品黄色片免费大全| 亚洲精品精品亚洲| 欧美电影一区二区| 精品在线你懂的| 国产精品天天看| 色婷婷综合久久久久中文一区二区| 亚洲一区二区三区精品在线| 91精品一区二区三区久久久久久| 久久国产精品99精品国产 | 国产一区二区剧情av在线| 国产精品免费aⅴ片在线观看| 91小视频免费看| 偷拍日韩校园综合在线| 精品国产免费久久|