[Common]
Description=演示如何内嵌调用VBScript及JavaScript脚本
HotKeyStart=119
HotKeyStop=122
HotKeyPause=0
Enabled=1
RunOnce=1

[Script]
//下面的脚本演示如何在脚本大师的脚本中内嵌VBScript及JavaScript脚本
//规定如下：
//VBScript脚本必须使用关键词VBSBegin ... VBSEnd来包含，中间的代码表示VBS脚本
//JavaScript脚本必须使用关键词JSBegin ... JSEnd来包含，中间的代码表示JS脚本
//必须通过VBSCall来调用VBScript函数
//必须通过JSCall来调用JavaScript函数
//*****************************************
//与脚本大师内置自定义函数相比:
//1, VBS及JS函数一样可以与脚本大师的自定义函数、内置函数和插件函数混合调用
//2, VBS及JS的函数参数暂不支持作为返回参数
//3, VBS及JS的函数内部暂不可调用脚本大师的函数（包括自定义函数、内置函数和插件函数）
//4, VBS及JS的函数不可直接访问脚本大师定义的全局变量，必须通过函数的参数及返回值进行变量的交互传递。

main:
var ObjVoice=0
//调用VBS函数OpenVoice，该函数返回的是一个SAPI.SpVoice对象
//下面这句表示将返回的对象保存在脚本大师的变量ObjVoice中
set ObjVoice=VBSCall('OpenVoice')
//这句演示VBS及JS函数，可以和通常的函数一样混合调用
do ShowMsg(VBSCall('Add','a','b')+inttostr(JSCall('multiply',10,20)))
//这句演示调用VBS函数Voice进行文字到语音的转换
//注意，这里将上面保存的ObjVoice对象直接作为参数传递
do VBSCall('Voice',ObjVoice,'VBS很好很强大')
//下面这句演示如何使用JavaScript达到和上面VBS一样的文本转语音的功能
do JSCall('VoiceJS','Java很好很强大')
EndMain

//这里是VBScript代码块
VBSBegin
function OpenVoice()
  set ObjVoice=CreateObject("SAPI.SpVoice")
  set OpenVoice=ObjVoice
End Function
sub Voice(ObjVoice,Str)
  'Set ObjVoice=CreateObject("SAPI.SpVoice")
  'set ObjVoice.Voice=ObjVoice.GetVoices.Item(3)
  ObjVoice.Speak Str
end Sub
function Add(a,b)
  Add=a & b
end function
VBSEnd

//这里是JavaScript代码块
JSBegin
function VoiceJS(str) {
  var ObjVoice=new ActiveXObject('SAPI.SPVoice')
  ObjVoice.Speak(str)
}

function multiply(num1,num2) {
  var total=num1*num2;
  return total;
}
JSEnd
