*/ 出自: 编程中国 http://www.bc-cn.net
*/ 作者: csnpx QQ:76269115
*/ 时间: 2007-10-19 编程论坛首发
*/ 声明: 尊重作者劳动,转载请保留本段文字
*/ --------------------------------------------------------------------------------------
// LyFnc.cpp : Defines the entry point for the DLL application.
/*
///////////////////////////////////////////////////////////////////////////
利鹰扩展函数规范V2.05
1.本规范适用于利鹰2.05公式系统.
2.扩展函数用于实现系统函数不能实现的特殊算法,提高运算速度。
3.扩展函数用windows 32位动态连接库实现,建议使用Microsoft Visual C++编程.
4.调用时在公式编辑器中写"动态库名称@函数名称"(参数表)即可
5.动态连接库名称和函数名称可以自己定义.
6.使用时可以将动态库拷贝到利鹰目录下使用.
*/
#include "stdafx.h"
#include "FncData.h"
extern "C" _declspec(dllexport) int FUN1(LYDATA *pData)
{
int i,n;
if( pData->nParamCount!=2 )
return 0;
i = (int)pData->floParam[0];
n = (int)pData->floParam[1]-1;
int zx1,zx2,zx3,zx4,zx5,zx6,zx7,zx8,zx9,zx10,fx11,fx12,fx13,fx14;
if(i==0)
{
zx1=1; zx2=2; zx3=4; zx4=5; zx5=6; zx6=7; zx7=8; zx8=10; zx9=11; zx10=12; fx11=3; fx12=9; fx13=13; fx14=14;
}
else if(i==1)
{
zx1=2; zx2=4; zx3=5; zx4=6; zx5=7; zx6=8; zx7=9; zx8=10; zx9=13; zx10=14; fx11=1; fx12=3; fx13=11; fx14=12;
}
else if(i==2)
{
zx1=1; zx2=3; zx3=5; zx4=6; zx5=7; zx6=10; zx7=11; zx8=12; zx9=13; zx10=14; fx11=2; fx12=4; fx13=8; fx14=9;
}
else
{
;
}
pData->pfResult = new float[14];
pData->pfResult[0] = (float)zx1;
pData->pfResult[1] = (float)zx2;
pData->pfResult[2] = (float)zx3;
pData->pfResult[3] = (float)zx4;
pData->pfResult[4] = (float)zx5;
pData->pfResult[5] = (float)zx6;
pData->pfResult[6] = (float)zx7;
pData->pfResult[7] = (float)zx8;
pData->pfResult[8] = (float)zx9;
pData->pfResult[9] = (float)zx10;
pData->pfResult[10] = (float)fx11;
pData->pfResult[11] = (float)fx12;
pData->pfResult[12] = (float)fx13;
pData->pfResult[13] = (float)fx14;
*pData->pfResult = pData->pfResult[n];
return 1;
}
////数值转换并调到软件内没问题了,就是不能在软件内把计算结果引用到另一个指标内,引用软件就销毁,如何调整才能不销毁