c#中teechart怎么样使用addarray
1个回答
展开全部
初用teechart,从写代码的便利程度来看确实是好东西,不过总感觉在网上找的资料与自己在VS2008中的用法不太一样,很明显的一点就是各种强制转换。
teechart中用于添加数据的函数有Add,AddArray,AddXY等,此处记录自己在VS2008中AddArray的用法。
由于需要添加大量数据(10000以上),因此,用AddXY一个一个加感到速度乏力。但在网上找了N久都没找到过原型为AddArray(long ArraySize, VARIANT &YArray, VARIANT &XArray)的用法例程,其实关键在于不知怎样将一个数组转化为VARIANT。
1:添加成员变量
VARIANT vAX,vAY;
VARIANT &AX;
VARIANT &AY;
SAFEARRAY *psax;
SAFEARRAY *psay;
vAX,vAY为变体的实体,AX,AY为引用变量,AddArray函数格式要求。
其中AX,AY需要在构造函数中初始化,如下:
CteetestDlg::CteetestDlg(CWnd* pParent )
: CDialog(CteetestDlg::IDD, pParent)
,AX(vAX),AY(vAY)
2:初始化
SAFEARRAYBOUND rgsabound;
rgsabound.cElements=10000;
rgsabound.lLbound=0;
psax=SafeArrayCreate(VT_R8,1,&rgsabound);
psay=SafeArrayCreate(VT_R8,1,&rgsabound);
AX.vt=VT_ARRAY|VT_R8;
AX.parray=psax;
AY.vt=VT_ARRAY|VT_R8;
AY.parray=psay;
3:添加数据,画图
以下是在一个按键的响应函数中实现的
int index=0;
void CteetestDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
((CSeries)m_chart.Series(0)).Clear();
long i;
double j,t;
for(i=0;i<10000;i++)
{
j=i;
t=index*0.1*j;
SafeArrayPutElement(psax,&i,&j);
SafeArrayPutElement(psay,&i,&t);
}
index++;
((CSeries)m_chart.Series(0)).AddArray(10000,AY,AX);
}
teechart中用于添加数据的函数有Add,AddArray,AddXY等,此处记录自己在VS2008中AddArray的用法。
由于需要添加大量数据(10000以上),因此,用AddXY一个一个加感到速度乏力。但在网上找了N久都没找到过原型为AddArray(long ArraySize, VARIANT &YArray, VARIANT &XArray)的用法例程,其实关键在于不知怎样将一个数组转化为VARIANT。
1:添加成员变量
VARIANT vAX,vAY;
VARIANT &AX;
VARIANT &AY;
SAFEARRAY *psax;
SAFEARRAY *psay;
vAX,vAY为变体的实体,AX,AY为引用变量,AddArray函数格式要求。
其中AX,AY需要在构造函数中初始化,如下:
CteetestDlg::CteetestDlg(CWnd* pParent )
: CDialog(CteetestDlg::IDD, pParent)
,AX(vAX),AY(vAY)
2:初始化
SAFEARRAYBOUND rgsabound;
rgsabound.cElements=10000;
rgsabound.lLbound=0;
psax=SafeArrayCreate(VT_R8,1,&rgsabound);
psay=SafeArrayCreate(VT_R8,1,&rgsabound);
AX.vt=VT_ARRAY|VT_R8;
AX.parray=psax;
AY.vt=VT_ARRAY|VT_R8;
AY.parray=psay;
3:添加数据,画图
以下是在一个按键的响应函数中实现的
int index=0;
void CteetestDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
((CSeries)m_chart.Series(0)).Clear();
long i;
double j,t;
for(i=0;i<10000;i++)
{
j=i;
t=index*0.1*j;
SafeArrayPutElement(psax,&i,&j);
SafeArrayPutElement(psay,&i,&t);
}
index++;
((CSeries)m_chart.Series(0)).AddArray(10000,AY,AX);
}
ZESTRON
2024-09-04 广告
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸...
点击进入详情页
本回答由ZESTRON提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询