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

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)

相关推荐

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

    FcScript是由Forcal和MForcal支持的脚本控件,因而需要对Forcal的语法有一定的了解.FcScript仅仅对Forcal和MForcal进行了包装,因而了解Forcal,就是了解FcScript. 1.1 为什么使用FcScript 使用VBScript.JScript等脚本感觉太慢时需要使用FcScript.Forcal一级函数的计算速度约为(C/C++)或FORTRAN速度的50%左右,二级函数的速度稍有降低. 浏览由FcScript支持的网页. 想设计COM组件为VBS

  • 发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载

    好多天没有发过日志了~  最近写了一个图片浏览器,是为PHPCMS文件管理器设计的,但后来看到了Lightbox,所以就改了一下,可以给一般的网页使用. 演示及说明地址:  http://longbill.cn/down/sample/blueshow/index.htm 使用方法:   1.下载 blueshow.js文件,放到服务器上  你也可以直接使用这个: http://www.jb51.net/downtools/blueshow.js 2.在你要用此程序的网页中写上这句(在和之间):

  • JavaScript模拟文件拖选框样式v1.0的实例

    文件拖选v1.0 图片不清楚时请右键点击"在新链接中打开图片" 实现效果 页面布局 实现思路 拖选框 css样式中设置拖选框样式,注意设置position: absolute;漂浮状态. 监听p#container的鼠标按下事件并获取起始坐标,鼠标按下时通过append()方法添加p#selectBox. 鼠标按下事件后鼠标移动事件,比较鼠标的当前位置event.pageX,event.pageY来为p#selectBox添加坐标top/left 和尺寸width/height. 鼠标

  • python 简单备份文件脚本v1.0的实例

    整体思路 将要备份的目录列为一个列表,通过执行系统命令,进行压缩.备份. 这样关键在于构造命令并使用 os.system( )来执行,一开始使用zip 命令始终没有成功,后来发现Windows下并没有这个命令,还要安装GnuWin32项目,后来安装了7z,实现了使用系统命令进行压缩. 压缩命令 通过下载7z压缩,将7z.exe 7z,dll 加入系统环境变量目录,通过以下命令进行压缩.解压7z a test.zip a.txt b.txt # 指定若干文件 7z a test.zip f:/te

  • QQ空间强制关注代码生成器 V1.0下载

    软件名字:QQ空间强制关注代码生成器 V1.0  点击下载此文件 软件介绍: QQ空间强制关注代码生成器,从软件的名字上看,你大概就知道它能干什么了吧?别看它的体积只有10K,它能让所有观看你QQ空间的人,都自动把你的QQ空间加入它的QQ空间"好友收藏"里面,这样可以让你的QQ空间展示在更多人面前,可以增加来访的人气,还有其它好处我就不多说了,自己摸索.另送一款能刷QQ空间人气.留言的小软件QQ空间人气精灵是TT86开发的一款免费刷QQ空间人气的软件.使用它能为你解决QQ空间没人气.没

  • PHP Web木马扫描器代码 v1.0 安全测试工具

    scanner.php 复制代码 代码如下: <?php /**************PHP Web木马扫描器************************/ /* [+] 作者: alibaba */ /* [+] QQ: 1499281192 */ /* [+] MSN: weeming21@hotmail.com */ /* [+] 首发: t00ls.net , 转载请注明t00ls */ /* [+] 版本: v1.0 */ /* [+] 功能: web版php木马扫描工具 */

  • 天枫AJAX天气预报系统V1.0

    '----------------------------------------------------------------------'转发时请保留此声明信息,这段声明不并会影响你的速度!'*******************  天枫AJAX天气预报系统V1.0 ************************************'作者:天枫'网站:http://www.52515.net'电子邮件:chenshaobo@gmail.com'QQ:76994859'版权声明:版权所

  • AJAX聊天室V1.0发布

    插件名称:ChatRoom 插件版本:v1.0 插件作者:Clear 插件支持BLOG版本:PJBlog2 v2.5.0125 版本说明: 使PJBlog2支持用户即时交流; AJAX无刷新,可在任何页面内即时通讯(不支持HTML代码); 支持快捷键; 向前一条对话记录 快捷键:↑ 向后一条对话记录 快捷键:↓ 提交对话 快捷键:Enter或Ctrl + Enter 清除 快捷键:Ctrl + Delete; 保存历史聊天纪录; 自动聚焦到发送消息框; 支持FireFox; 安装方法: 将以下C

  • asp智能脏话过滤系统v1.0第1/2页

    <% '********************************************************** '*智能脏话过滤系统v1.0       *    * '*转载请保留版权信息,多谢                        *   拉   * '*调用方法:sayy=ND_say_what(sayy),sayy为内容输入 *   图   * '*程序作者:阮丁远,(网名:柏拉图的程序) 版权所有   *   的   * '*qq:657697290       

  • javascript 放大镜 v1.0 基于Yui2 实现的放大镜效果

    v1.0实现功能 1 放大倍数设置 2 透明度设置 3 反转特效 4 放大图片层的大小自定义 5 鼠标层的大小自定义 6 ie6下select遮盖问题 7 光标样式自定义 8 zIndex设置 简单初始化方法举例 复制代码 代码如下: new flower.init("Demo","mag"); new flower.init("Demo1","mag1",{ max:3,zoomType:false,zoomWidth:20

随机推荐