FcScript V1.0 使用说明帮助文件

2023-12-05 0 653

FcScript是由Forcal和MForcal支持的脚本控件,因而需要对Forcal的语法有一定的了解。FcScript仅仅对Forcal和MForcal进行了包装,因而了解Forcal,就是了解FcScript。 1.1 为什么使用FcScript 使用VBScript、JScript等脚本感觉太慢时需要使用FcScript。Forcal一级函数的计算速度约为(C/C++)或FORTRAN速度的50%左右,二级函数的速度稍有降低。 浏览由FcScript支持的网页。 想设计COM组件为VBScript、JScript等脚本扩充功能时,推荐使用FcScript,因为设计一个Forcal扩展动态库更容易,而且不降低效率(调用COM组件中的函数耗时较长)。 FcScript为所有宿主程序提供高速的脚本控制和无限的可扩充性。 可以到天空软件站或华军软件园下载Forcal、MForcal及OpenFc来进一步了解Forcal。 1.2 如何注册和注销FcScript 下载FcScript如果以上站点不能正常下载,可以到 我的blog1 我的blog2 上寻找一个合适的站点下载。 FcScript需要在windows中注册后才能使用。虽然FcScript可放在磁盘的任何位置,但推荐将FcScript放在文件夹“c:\\FcDll”中,因为FcScript会自动搜索该文件夹中的动态库进行加载。以下假定FcScript及所有相关的动态库文件在文件夹“c:\\FcDll”中。 注册FcScript.dll:“开始”->“运行”:regsvr32 c:\\FcDll\\FcScript.dll 注销FcScript.dll:“开始”->“运行”:regsvr32 /u c:\\FcDll\\FcScript.dll 如果你打算不再使用FcScript,一般先注销FcScript,然后再删除文件夹“c:\\FcDll”。如果先删除了文件夹“c:\\FcDll”,需要用注册表清理工具清理一下注册表,不清理也无所谓啦。 1.3 访问FcScript支持的网页 网页1 网页2 网页3 网页4 1.4 使用VBS文件演示FcScript 将以下VBScript文件保存为vbs文件进行演示。 Set obj=CreateObject(\”FcScript.VBMForcal\”) dim FcStr, nModule, hModule, err1, err2, iErrCode FcStr=\”(:x)=FcGet(&x),FcSet(x+11);\” \’Forcal源程序 MsgBox FcStr iErrCode=obj.VBComModule (FcStr, nModule, hModule, err1, err2 ) \’编译Forcal源程序为一个模块 If iErrCode=0 Then err1=100.0 iErrCode=obj.VBSet(err1) \’将实数参数传送到FcScript call obj.VBExeModule (hModule, CLng(0), CLng(0), CLng(0)) \’执行一个模块 iErrCode=obj.VBGet(err1) \’从FcScript获得实数参数 MsgBox err1 Else MsgBox iErrCode End If Set obj=Nothing 1.5 用网页演示FcScript 将以下网页代码保存为htm文件进行演示。需要允许网页访问控件才能演示。 <HTML> <HEAD><TITLE>一个FcScript简单例子</TITLE> <SCRIPT LANGUAGE=\”VBScript\”> <!– Sub Button1_OnClickSet obj=CreateObject(\”FcScript.VBMForcal\”) dim FcStr, nModule, hModule, err1, err2, iErrCode FcStr=\”FcSet{\”+document.Form1.ForStr.value+\”};\” \’Forcal源程序 MsgBox FcStr iErrCode=obj.VBComModule (FcStr, nModule, hModule, err1, err2 ) \’编译Forcal源程序为一个模块 If iErrCode=0 Then err1=100.0 iErrCode=obj.VBSet(err1) \’将实数参数传送到FcScript call obj.VBExeModule (hModule, CLng(0), CLng(0), CLng(0)) \’执行一个模块 iErrCode=obj.VBGet(err1) \’从FcScript获得实数参数 MsgBox err1 Else MsgBox iErrCode End If Set obj=Nothing End Sub –> </SCRIPT> </HEAD> <BODY> <H3>一个FcScript简单例子</H3><HR> <FORM name=\”Form1\” method=\”post\” action=\”\”> <input type=\”text\” name=\”ForStr\” value=\”2-cos(2.3)*sqrt[9]\” /> <br> <br> <INPUT NAME=\”Button1\” TYPE=\”BUTTON\” VALUE=\”单击此处演示FcScript\”> </FORM> </BODY> </HTML> ——————————————————————————– 2 FcScript语言参考 [目录] 以下是VBMForcal接口中实现的函数。所有接口参数都是VARIANT类型。 2.1 VBMForcal接口中实现的函数 2.1.1 申请进入或退出Forcal工作区:VBUseForcal(iUse) 暂时用不到该方法。如果一定要用,可以参考MForcal中的函数UseForcal的说明。 2.1.2 编译源程序:VBComModule(FcStr,nModule,hModule,err1,err2) 将源程序中的表达式编译为一个或多个模块。源程序中可以用#MODULE#和#END#定义一个子模块。即#MODULE#和#END#之间的表达式定义为一个子模块。在模块中,以~开头的表达式被编译为正模块号表达式,能被其他模块访问到,其余的表达式均被编译为负模块号表达式,其他模块无法访问。 FcStr:指向源程序的字符串。 nModule:返回多个模块的最小模块号。一般用不到该参数。必须是长整数! hModule:返回模块的句柄,用于执行该模块。必须是长整数! err1和err2:返回编译出错位置。必须是长整数!目前出错位置还不准确:若源代码全部是英文,出错位置是准确的;如果源代码中有汉字,出错位置不准确。 该函数返回编译代码,若为0表示编译通过。返回值是长整数! 详细请参考MForcal中的函数ComModule的说明。 2.1.3 执行程序:VBExeModule(hModule,outl,outd,outc) hModule:编译源程序时得到的模块的句柄。必须是长整数! outl、outd、outc:一般这三个参数设为0,必须是长整数! 详细请参考MForcal中的函数ExeModule的说明。 2.1.4 删除模块:VBDeleteModule(hModule) hModule:编译源程序时得到的模块的句柄。必须是长整数! 详细请参考MForcal中的函数ExeModule的说明。 2.1.5 加载Forcal动态库扩展:VBLoadDll(str) FcStr:含有Forcal扩展动态库名称的字符串。 FcScript允许加载多个Forcal扩展动态库。Forcal扩展动态库名字要放在双引号\”…\”之间。忽略在尖括号<\”…\” …>内的Forcal扩展动态库。 例如:\”FcData32\”,\”d:\\\\FcDll\\\\ofc32\” 需要注意Forcal扩展动态库的加载顺序。 该函数会自动加载文件夹“c:\\FcDll”中的动态库。 2.1.6 向FcScript缓冲区传送数据:VBSet(Val) 在FcScript中有一个缓冲区,VBScript和缓冲区可以相互传送数据。在VBScript中使用该函数可以将Val数据传送到该缓冲区,函数返回操作状态。 目前,该函数只能将一个长整数或双精度实数传送到缓冲区。以后再增加传送数组或字符串等数据。 如果Val是长整数,将传送到长整数缓冲区;如果Val是双精度实数,将传送到双精度实数缓冲区,以此类推。函数返回值目前为传送数据的个数。 2.1.7 从FcScript缓冲区获得数据:VBGet(Val) 在FcScript中有一个缓冲区,VBScript和缓冲区可以相互传送数据。在VBScript中使用该函数可以将缓冲区中的数据传送到Val中,函数返回操作状态。 目前,该函数只能将缓冲区中的一个长整数或双精度实数传送到Val。以后再增加传送数组或字符串等数据。 如果Val是长整数,将获得缓冲区中的长整数数据;如果Val是双精度实数,将获得缓冲区中的双精度实数数据,以此类推。函数返回值目前为传送数据的个数。 2.1.8 重新初始化Forcal:ReInitForcal() 使Forcal恢复至刚刚加载时的状态。 2.2 FcScript中的Forcal二级函数 2.2.1 向FcScript缓冲区传送数据[整数函数,实数函数]:FcSet(x1,x2,… …) 在FcScript中有一个缓冲区,缓冲区和Forcal可以相互传送数据。在Forcal中使用该函数可以将数据x1,x2,… …传送到该缓冲区,函数总是返回0。 在整数表达式中,将把数据传送到整数缓冲区;在实数表达式中,将把数据传送到实数缓冲区。 2.2.2 从FcScript缓冲区获得数据[整数函数,实数函数]:FcSet(&x1,&x2,… …) 在FcScript中有一个缓冲区,缓冲区和Forcal可以相互传送数据。在Forcal中使用该函数可以将缓冲区中的数据传送到x1,x2,… …,必须使用引用参数,函数总是返回0。 在整数表达式中,将获得整数缓冲区中的数据;在实数表达式中,将获得实数缓冲区中的数据。 ——————————————————————————– 3 FcScript源代码 [目录] 由于作者对com、atl、web不熟悉,维护FcScript较困难,如果你是这方面的高手,可以下载FcScript的源代码加以维护。 下载1 如果以上站点不能正常下载,可以到 我的blog1 我的blog2 上寻找一个合适的站点下载。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 其它脚本 FcScript V1.0 使用说明帮助文件 https://www.u-9.cn/jiaoben/qita-jiaoben/102123.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务