|
自动把prg代码转换为fll库函数。
1、简单加密prg源代码。
2、利用c++提高数据处理速度。
转换工具支持if,do while,do case,for等命令自动转为c++语句。
====================================================================
下面举例说明。
*转换前demo1.prg程序。
n1=5
sele 0
USE ma1
ZAP
APPEND FROM kx1
REPLACE ALL key_id WITH RECNO()
re1=recc()
COPY TO ARRAY CCBBB
ZAP
s1=0.00
FOR i=1 TO re1
IF i<n1
s1=s1+ccbbb[i,7]
ELSE
s1=s1+ccbbb[i,7]
ccbbb[i,8]=s1/n1
s1=s1-ccbbb[i+1-n1,7]
ENDIF
NEXT
APPEND FROM ARRAY CCBBB
brow
USE
RETURN
//=======================================================
*转换后的程序
SET LIBRARY TO cx1.fll addi
=_chengxu1()
RELEASE LIBRARY cx1.fll
//========================================================
自动生成的fll程序。
#include "pro_ext.h"
#include "myfll.h"
extern "C" {
#include "global.h"
}
//=======================
//在这里增加程序处理函数
void FAR chengxu1(ParamBlk FAR *parm)
{
_Execute("n1=5 ");
_Execute("sele 0 ");
_Execute("USE ma1 ");
_Execute("ZAP ");
_Execute("APPEND FROM kx1 ");
_Execute("REPLACE ALL key_id WITH RECNO() ");
_Execute("re1=recc() ");
_Execute("COPY TO ARRAY CCBBB ");
_Execute("ZAP ");
_Execute("s1=0.00 ");
_Execute("i=1");
int i=0;
for (i=TJPDI("1") ;i<=TJPDI("re1");i++)
{
varii("i",i);
if (TJPD("i<n1 "))
{
_Execute("s1=s1+ccbbb[i,7] ");
}
else
{
_Execute("s1=s1+ccbbb[i,7] ");
_Execute("ccbbb[i,8]=s1/n1 ");
_Execute("s1=s1-ccbbb[i+1-n1,7] ");
}
i=vari("i");
}
_Execute("APPEND FROM ARRAY CCBBB ");
_Execute("brow ");
_Execute("USE ");
_Execute("RETURN ");
}
//=========================
// the FoxInfo structure registers the function
FoxInfo myFoxInfo[] = {
//--------------------------
{"testtest",(FPFI) chengxu0,0,""},
//在这里增加程序处理接口
{"_chengxu1",(FPFI) chengxu1,0,""},
};
extern "C" {
FoxTable _FoxTable =
{
(FoxTable *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};
}
//=============================================
自己可以转为纯c++
***自动生成C++代码
int i=0;
for (i=TJPDI("1") ;i<=TJPDI("re1");i++)
{
varii("i",i);
if (TJPD("i<n1 "))
{
_Execute("s1=s1+ccbbb[i,7] ");
}
else
{
_Execute("s1=s1+ccbbb[i,7] ");
_Execute("ccbbb[i,8]=s1/n1 ");
_Execute("s1=s1-ccbbb[i+1-n1,7] ");
}
i=vari("i");
}
**改为纯c++代码
double s1=0.00,x;
int re1=vari("re1");
int i=1;
int n1=vari("n1");
s1=0.0;
for (i=1;i<=re1;i++)
{
if (i<n1)
s1=s1+varaf("ccbbb",2,i,7);
else
{
s1=s1+varaf("ccbbb",2,i,7);
x=varaff("ccbbb",2,i,8,s1/n1);
s1=s1-varaf("ccbbb",2,i+1-n1,7);
}
}
用纯c++代码,成倍提高数据处理速度。
工具包含的自动转换和接口。
可以自动编译,自动连接。
转换工具卖100元,赚个辛苦费。
联系QQ:2775205
|
|