Fc
1.1 为什么使用Fc
使用
浏览由Fc
想设计COM组件为
Fc
可以到天空软件站或华军软件园下载Forcal、MForcal及OpenFc来进一步了解Forcal。
1.2 如何注册和注销Fc
下载Fc
如果以上站点不能正常下载,可以到 我的blog1 我的blog2 上寻找一个合适的站点下载。
Fc
注册Fc
注销Fc
如果你打算不再使用Fc
1.3 访问Fc
网页1 网页2 网页3 网页4
1.4 使用
将以下
Set obj=CreateObject("Fc
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.
call obj.VBExeModule (hModule, CLng(0), CLng(0), CLng(0)) '执行一个模块
iErrCode=obj.VBGet(err1) '从Fc
MsgBox err1
Else
MsgBox iErrCode
End If
Set obj=Nothing
1.5 用网页演示Fc
将以下网页代码保存为htm文件进行演示。需要允许网页访问控件才能演示。
<HTML>
<HEAD><TITLE>一个Fc
<
<!--
Sub Button1_OnClickSet obj=CreateObject("Fc
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.
call obj.VBExeModule (hModule, CLng(0), CLng(0), CLng(0)) '执行一个模块
iErrCode=obj.VBGet(err1) '从Fc
MsgBox err1
Else
MsgBox iErrCode
End If
Set obj=Nothing
End Sub
-->
</
</HEAD>
<BODY>
<H3>一个Fc
<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="单击此处演示Fc
</FORM>
</BODY>
</HTML>
--------------------------------------------------------------------------------
2 Fc
以下是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扩展动态库名称的字符串。
Fc
例如:"FcData32","d:\\FcDll\\ofc32"
需要注意Forcal扩展动态库的加载顺序。
该函数会自动加载文件夹“c:\FcDll”中的动态库。
2.1.6 向Fc
在Fc
目前,该函数只能将一个长整数或双精度实数传送到缓冲区。以后再增加传送数组或字符串等数据。
如果Val是长整数,将传送到长整数缓冲区;如果Val是双精度实数,将传送到双精度实数缓冲区,以此类推。函数返回值目前为传送数据的个数。
2.1.7 从Fc
在Fc
目前,该函数只能将缓冲区中的一个长整数或双精度实数传送到Val。以后再增加传送数组或字符串等数据。
如果Val是长整数,将获得缓冲区中的长整数数据;如果Val是双精度实数,将获得缓冲区中的双精度实数数据,以此类推。函数返回值目前为传送数据的个数。
2.1.8 重新初始化Forcal:ReInitForcal()
使Forcal恢复至刚刚加载时的状态。
2.2 Fc
2.2.1 向Fc
在Fc
在整数表达式中,将把数据传送到整数缓冲区;在实数表达式中,将把数据传送到实数缓冲区。
2.2.2 从Fc
在Fc
在整数表达式中,将获得整数缓冲区中的数据;在实数表达式中,将获得实数缓冲区中的数据。
--------------------------------------------------------------------------------
3 Fc
由于作者对com、atl、web不熟悉,维护Fc
下载1
如果以上站点不能正常下载,可以到 我的blog1 我的blog2 上寻找一个合适的站点下载。
查看更多关于【其它】的文章