現在許多的資訊系統都是基於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_1<>0 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 函數的參數。
還用等什麼,趕快試試吧!!