在PB中使用JavaScript脚本函数
现在许多的信息系统都是基于B/S版本,但PB写的信息系统生存空间也比较大,往往是一个信息系统即有PB版本也有B/S版本。信息系统会有许多的业务规则,B/S中业务规则的检查在JavaScript脚本中实现,如果在PB中又实现一次,费时费力不说,
业务规则改变又要重新编译分发。如果在PB中调用在B/S中实现的JavaScript脚本来完成业务规则,省时省力维护量减小,下面就让我们来实现吧。
一、环境说明
在PB中运行脚本语言需要借助msscript.ocx组件。注册表中的对象是MSScriptControl.ScriptControl.
运行regedit.exe查找一下看是否已存在,如果没有就下载一个吧,别忘了注册呵!
二、在PB中声明
oleobject io_script
io_script = create oleobject
long ll_1=io_script.connecttonewobject( "MSScriptControl.ScriptControl")
if ll_10 then
messagebox('提示','创建MSScriptControl.ScriptControl对象出错,请注册msscript.ocx')
return -1
end if
三、装入js文件
li_file = FileOpen(gs_currentpath+"Check.js")
if li_file=-1 then
return -1
end if
li_readline=FileRead ( li_file, ls_1 )
do while li_readline>-1
ls_js=ls_js+ls_1+'~r~n'
li_readline=FileRead ( li_file, ls_1 )
loop
fileclose(li_file)
io_script.language="JScript"
io_script.addcode(ls_js)
四、调用JS中的函数
any la_1=io_script.run("CheckFile",ls_filename)
CheckFile 是JS中的函数,ls_filename是CheckFile 函数的参数。
还用等什么,赶快试试吧!!
现在许多的信息系统都是基于B/S版本,但PB写的信息系统生存空间也比较大,往往是一个信息系统即有PB版本也有B/S版本。信息系统会有许多的业务规则,B/S中业务规则的检查在JavaScript脚本中实现,如果在PB中又实现一次,费时费力不说,
业务规则改变又要重新编译分发。如果在PB中调用在B/S中实现的JavaScript脚本来完成业务规则,省时省力维护量减小,下面就让我们来实现吧。
一、环境说明
在PB中运行脚本语言需要借助msscript.ocx组件。注册表中的对象是MSScriptControl.ScriptControl.
运行regedit.exe查找一下看是否已存在,如果没有就下载一个吧,别忘了注册呵!
二、在PB中声明
oleobject io_script
io_script = create oleobject
long ll_1=io_script.connecttonewobject( "MSScriptControl.ScriptControl")
if ll_10 then
messagebox('提示','创建MSScriptControl.ScriptControl对象出错,请注册msscript.ocx')
return -1
end if
三、装入js文件
li_file = FileOpen(gs_currentpath+"Check.js")
if li_file=-1 then
return -1
end if
li_readline=FileRead ( li_file, ls_1 )
do while li_readline>-1
ls_js=ls_js+ls_1+'~r~n'
li_readline=FileRead ( li_file, ls_1 )
loop
fileclose(li_file)
io_script.language="JScript"
io_script.addcode(ls_js)
四、调用JS中的函数
any la_1=io_script.run("CheckFile",ls_filename)
CheckFile 是JS中的函数,ls_filename是CheckFile 函数的参数。
还用等什么,赶快试试吧!!