对于大部分普通人,想获得通信达接口,最好的方法就是买交易接口,毕竟市场上提供这些接口也不少,价格也不贵,要花大量时间在怎么开发这个问题上,还不如直接花钱买。但是如果你对编程有认识,那我们也可以直接在网上找代码套用,小编这里就有一套通信达接口的代码:
//PluginTCalcFunc.h
#ifndef __PLUGIN_TCALC_FUNC
#define __PLUGIN_TCALC_FUNC
#pragma pack(push,1)
//函数(数据个数,输出,输入a,输入b,输入c)
//这是通达信调用函数的标准要求,如果我们要自定义,一定要按此函数标准来写.
typedef
void(*pPluginFUNC)(int,float*,float*,float*,float*);
//返回给通达信调用我们函数的封装类.这个类可以记录我们所有定义过的函数
typedef struct tagPluginTCalcFuncInfo
{
unsigned short nFuncMark;//函数编号
pPluginFUNC pCallFunc;//函数地址
}PluginTCalcFuncInfo;
typedef BOOL(*pRegisterPluginFUNC)(PluginTCalcFuncInfo**);
#pragma pack(pop)
#endif
//PluginTCalcFunc.cpp
#include "stdafx.h"
#include "TCalcFuncSets.h"
//生成的dll及相关依赖dll请拷贝到通达信安装目录的T0002/dlls/下面,再在公式管理器进行绑定
//我们定义的函数必须要符合typedef
void(*pPluginFUNC)(int,float*,float*,float*,float*);函数要求
//不符合的话,通达信是不能正常调用的
void TestPlugin1(int DataLen,float* pfOUT,float* pfINa,float*
pfINb,float* pfINc)
{
//我们可以在这里实现各种我们需要的逻辑,把需要返回的结果返回给通达信
for(int i=0;i
pfOUT[i]=i;
}
//我们定义的函数必须要符合typedef
void(*pPluginFUNC)(int,float*,float*,float*,float*);函数要求
//不符合的话,通达信是不能正常调用的
void TestPlugin2(int DataLen,float* pfOUT,float* pfINa,float*
pfINb,float* pfINc)
{
//我们可以在这里实现各种我们需要的逻辑,把需要返回的结果返回给通达信
for(int i=0;i
{
pfOUT[i]=pfINa[i] pfINb[i] pfINc[i];
pfOUT[i]=pfOUT[i]/3;
}
}
//加载的函数
PluginTCalcFuncInfo g_CalcFuncSets[] =
{
{1,(pPluginFUNC)&TestPlugin1},
{2,(pPluginFUNC)&TestPlugin2},
//在这里我们可以增加更多的函数.
{0,NULL},
};
//导出给TCalc的注册函数
//
BOOL RegisterTdxFunc(PluginTCalcFuncInfo** pFun)
{
if(*pFun==NULL)
{
(*pFun)=g_CalcFuncSets;
return TRUE;
}
return FALSE;
}
好了,相信大家看了上面这组代码,应该都明白,只要有一定的基础,其实通信达接口开发也不没有那么难。