|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
“数据行级锁定”的意思是指在事务操作的执行过程中锁定正在被处理的个别记录,不让其他用户进行访问。这种锁定将影响到(但不限于)SELECT、LOCKINSHAREMODE、SELECT、FORUPDATE命令以及INSERT、UPDATE和DELETE命令。Agent插件浅析
利用过officexp、金山毒霸和瑞星杀毒软件的伴侣,必定会对程序中的人道化的动画脚色留下深入印象,这完整回功于微软推出的Agent(“代办署理”)手艺,Agent接纳COM手艺,利用ActiveX控件体例,撑持如今盛行的各类开辟工具,不但能够完成文本的朗诵,并且可辨认用户的语音命令,在使用程序和HTML文件中失掉普遍的利用。
上面我们以PowerBuilder8.0为开辟工具来体例一个小有用程序,一步步申明实在现办法:
第一步从Internet网高低载Agent插件,并安装在盘算机上,这是开辟的后期筹办事情:
这些插件来历于微软公司的相干网站,下载的网址为:http://www.microsoft.com/msagent/downloads/user.asp,毗连利用该网页:
1、起首单击“DownloadtheMicrosoftAgentcorecomponts(395kbsexe)”下载并安装Agent的中心组件,其文件名为“Msagent.exe"。
2、其次单击(先选择"SimplifiedChinese(127kbexe)”)下载并安装言语组件,其文件名为“AgtX0804.exe"。
3、其次单击(先选择"Lernout&HauspieTruVoiceTTSengine-AmericanEnglish(1Mbexe)”)下载并安装TTS引擎,其文件名为“tv_enua.exe",要完成语音朗诵,必需安装,以后版本撑持英语。
4、再其次单击(先选择"DoadloadtheMicrosoftSpeechRecognitionEngine(6Mbexe)”)下载并安装语音辨认引擎,其文件名为“Actcnc.exe",要完成语音命令辨认,必需安装,以后版本撑持英语。
5、最初单击“Downloadselectedcharacter"下载安装要用到的动画脚色文件,在这里我们下载微软公司网站所供应的动画脚色文件,次要包含Genie(魔鬼、鬼)、Robby(呆板人)、Merlin、Peedy(寝衣)共四种动画脚色,它们不仅有丰厚的举动举措,并且具有言语功效,其对应的文件名分离为Genie.acs、Robby.acs、Merlin.acs、Peedy.acs。这些Agent脚色的经常使用动画举措,一般用含有不异意义的英文单词字符来标识,以下表所示,以下所述编程实例即演示它们分离所发生的举措效果。
常量相干举措
Acknowledge显现供认、报答的举措
Alert显现告诫的举措
Announce显现公布、公告的事情
Blink显现眨眼的举措
Decline显现点头回绝的举措
DoMagic1、DoMagic2显现批示吹奏的举措
Confused显现利诱的举措
Congratulate显现庆祝的举措
DontRecognize显现没法辨认的举措
Explain显现注释的举措
GesttureDown显现向下偏向的手势举措
GesttureLeft显现向左偏向的手势举措
GesttureRight显现向右偏向的手势举措
GesttureUp显现向上偏向的手势举措
GetAttention显现立正的举措
GetAttentionContinued显现持续立正的举措
GetAttentionReturn显现持续立正的举措
Greet显现问候的举措
Hearing_1
Hearing_2显现摆布倾听的举措
Hearing_3
Hide埋没动画脚色
Idle1_1显现伸展的举措
Idle1_2显现向左倾的举措
Idle1_3显现向右倾的举措
Idle1_4显现向后倾的举措
Idle1_5显现向前倾的举措
Idle2_1显现带耳机听音乐的举措
Idle2_2显现吃饼干的举措
Idle3_1显现带耳机听音乐的举措
Idle3_2显现打盹的举措
Idle3_3显现带耳机听音乐的举措
LookDown显现向下检察的举措
LookDownBlink显现向下眨眼的举措
LookDownLeft显现向左下方检察的举措
LookDownLeftBlink显现向左下方眨眼的举措
LookDownLeftReturn显现回返向左下方检察的举措
LookDownRight显现向右下方检察的举措
LookDownRightBlink显现向右下方眨眼的举措
LookDownRightReturn显现回返向右下方检察的举措
LookDownReturn显现回返向下方检察的举措
LookLeft显现向左方检察的举措
LookLeftBlink显现向左方眨眼的举措
LookLeftReturn显现回返向左方检察的举措
LookRight显现向右方检察的举措
LookRightBlink显现向右方眨眼的举措
LookRightReturn显现回返向右方检察的举措
LookUp显现向上检察的举措
LookUpBlink显现向上眨眼的举措
LookUpLeft显现向左上方检察的举措
LookUpLeftBlink显现向左上方眨眼的举措
LookUpLeftReturn显现回返向左上方检察的举措
LookUpRight显现向右上方检察的举措
LookUpRightBlink显现向右上方眨眼的举措
LookUpRightReturn显现回返向右上方检察的举措
LookUpReturn显现回返向上方检察的举措
MoveDown显现向下挪动的举措
MoveLeft显现向左挪动的举措
MoveRight显现向右挪动的举措
MoveUp显现向上挪动的举措
Pleaseed显现兴奋的举措
Process显现处置事情的举措
Processing显现正在处置事情的举措
Read显现浏览的举措
Readcontinued显现持续浏览的举措
Reading显现正在浏览的举措
ReadReturn显现中断浏览的举措
Sad显现伤心的举措
Search显现查找的举措
Searching显现正在查找的举措
Show显现动画脚色
StartListening显现入手下手倾听的举措
StopListening显现中断倾听的举措
Suggest显现倡议的举措
Surprised显现惊奇的心情
Think显现思索的心情
Thinking显现正在思索的心情
Uncertain显现不断定的举措
Wave显现请安的举措
Write显现写的举措
Writecontinued显现持续写的举措
Writing显现正在写的举措
WritReturn显现中断写的举措
固然,我们也能够从http://www.microsoft.com/msagent/downloads/developer.asp网页单击“Downloadthe
MicrosoftAgentCharacterEditor(1Mbexe)”和“DownloadtheMicrosoftAgentLinguisticInformation
SoundEditingTool(6.2Mbexe)”下载制造工具,亲身制造本人所宠爱的动画脚色抽象。
第二步计划使用程序
在PowerBuilder中供应了OLE控件,以便PowerBuilder使用程序可以利用别的开辟工具编写的COM组件和ActiveX控件
在利用相干的COM组件和ActiveX控件先,须注册相干的COM组件和ActiveX控件,在PowerBuilder注册控件,能够在PowerBulider
开辟情况中,拔出OLE控件时,选择RegisiterNew举行注册。
Agent控件的次要属性以下表:
属性用处
Charactors用于设置与控件相干联的动画脚色文件
Connected用于辨别控件是不是与Agent服务器相毗连
LanguageID用于设置Agent所利用的言语,今朝仅可设置为十六进制的“409”,即“&H409”
Agent控件的次要办法以下表:
办法用处
Load用于初始化Agent控件,并加载动画脚色数据文件
UnLoad用于卸载动画脚色数据文件
Show用于显现的Agent动画脚色,并可经由过程参数把持动画脚色的显现速率
Hide用于埋没的Agent动画脚色,并可经由过程参数把持动画脚色的埋没速率
StopAll用于中断动画脚色的一切举措
Stop用于中断动画脚色确当前举措
MoveTo用于挪动动画脚色,可经由过程参数来设置挪动的坐标和挪动的速率
Interrupt用于中止动画脚色的动画,在实行一些有延续性的动画举措时,如不
中止该举措即实行下一个举措,会发生非常征象
Wait用于在多个动画脚色间完成互相之间的举措和谐
Play用于实行指定的动画举措,可经由过程参数来设置动画范例
Speak用于经由过程语音分解引擎,完成英语的语音分解输入功效,即只必要输出
英笔墨符串,Agent便可经由过程声响输入设备“措辞”
Agent控件的次要事务以下表
事务用处
Show在Agent动画脚色显现时触发,可使用该事务将程序的主界面埋没
Hide在Agent动画脚色埋没时触发,可使用该事务将程序的主界面从头显现
在PowerBuilder中完成的步骤以下
1、新建myexample.pbw的事情区;
2、新建myexample.pbt的使用方针,PowerBuilder会主动创建一个pbl库文件以便寄存相干的PowerBuilder工具,并创建一个myexample
使用程序工具;
3、新建窗口工具w_example,并在其上安排控件以下表:
控件控件称号
listboxlb_1
commandbuttoncb_1
commandbuttoncb_2
olecontrolole_1(并拔出对应的AgentActiveX控件)
4、新建菜单工具m_file,并增加相干菜单项以下表:
菜单名菜单文本菜单剧本
m_file文件(&F)
m_fileopen翻开(&O)parentwindow.triggerevent("ue_fileopen")
m_bar1-
m_fileexit加入(&E)parentwindow.triggerevent("ue_fileexit")
5、将窗口工具w_example的menuid属性设置为m_file
6、界说窗口w_example的实例变量以下:
privite:
booleanib_flag
stringis_animationname
7、编写窗口w_example相干事务剧本:
open事务剧本以下:
longresult,ll
iffileexists(GetCurrentDirectory()+"peedy.acs")=falsethen
result=messagebox("提醒“,"在程序以后目次下没有动画脚色文件",stop!)
ib_flag=false
close(this)
else
ib_flag=true
ole_1.OBJECT.characters.load("CharacterID",GetCurrentDirectory()+"peedy.acs")
ole_1.OBJECT.characters("CharacterID").languageID=1033
ole_1.OBJECT.characters("CharacterID").moveto(20,20)
ole_1.OBJECT.characters("CharacterID").show()
ole_1.OBJECT.characters("CharacterID").play("Wave")
ole_1.OBJECT.characters("CharacterID").speak("Hello,WelcometouseTheCharacterAnimationPreviewerProgramm!")
ole_1.OBJECT.characters("CharacterID").play("Reading")
lb_1.reset()
forll=1toupperbound(ole_1.OBJECT.characters("CharacterID").animationnames)
lb_1.additem(ole_1.OBJECT.characters("CharacterID").animationnames[ll])
next
lb_1.selectitem(1)
close事务剧本以下:
ifib_flag=truethen
ole_1.OBJECT.characters("CharacterID").hide()
ole_1.OBJECT.characters.unload("CharacterID")
endif
自界说事务ue_fileopen的剧本以下:
stringdocname,named
integervalue
value=GetFileOpenName("选择动画脚色文件",docname,named,"acs","动画脚色文件(*.acs),*.acs")
IFvalue=1THEN
ole_1.OBJECT.characters.unload("CharacterID")
ole_1.OBJECT.characters.load("CharacterID",docname)
ole_1.OBJECT.characters("CharacterID").languageID=1033
ole_1.OBJECT.characters("CharacterID").moveto(20,20)
ole_1.OBJECT.characters("CharacterID").show()
ole_1.OBJECT.characters("CharacterID").speak("Hello!")
ole_1.OBJECT.characters("CharacterID").play("congratulate")
ole_1.OBJECT.characters("CharacterID").play("Wave")
cb_1.enabled=false
lb_1.reset()
forll=1toupperbound(ole_1.OBJECT.characters("CharacterID").animationnames)
lb_1.additem(ole_1.OBJECT.characters("CharacterID").animationnames[ll])
next
lb_1.selectitem(1)
ole_1.OBJECT.characters("CharacterID").moveto(0,0)
lb_1.setfocus()
endif
自界说事务ue_fileexit的剧本以下:
close(this)
lb_1的clicked事务剧本以下:
cb_1.enabled=true
lb_1的doubleclicked事务剧本以下:
cb_1.triggerevent("clicked")
lb_1的getfocus事务以下:
cb_1.default=true
cb_1的clicked事务剧本以下:
ole_1.OBJECT.characters("CharacterID").stop
this.title="演示动画脚色举措:"+lb_1.SelectedItem()
ole_1.OBJECT.characters("CharacterID").play(lb_1.selecteditem())
cb_2的clicked事务剧本以下:
ole_1.OBJECT.characters("CharacterID").stop()
8、编写application工具open事务剧本以下:
open(w_example)其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。 |
|