精易论坛

标题: 变体型 数据 在这里的用法 [打印本页]

作者: xo37    时间: 2024-5-14 17:03
标题: 变体型 数据 在这里的用法

  
.版本 2[/size][/font][/color][/p].支持库 spec
变量名类 型静态数组备 注
i整数型 
x变体类型 
y变体类型 
t整数型 
qx变体型 
vx变体型 
vy变体型 
px整数型 
py整数型 
bx变体类型 
by变体类型 
n整数型 
t = 取启动时间 ()
n = 200000
vx.创建数组 ( #变体类型 .数值型, n)
vy.创建数组 ( #变体类型 .数值型, n)
计次循环首 (n, i)
vx.赋值 (i ÷ 10, i)
vy.赋值 (求正弦 (i ÷ 10), i)
计次循环尾 ()
py = 取变量地址 (vy)
px = 取变量地址 (vx)
TChart1.Series (0).AddArray (n, py, px)
' TChart1.Series (0).AddXY (0, 0, “”, 0)
' TChart1.RefreshData ()
' TChart1.Repaint ()



i支持库列表   支持库注释   
TeeChart2010(未知支持库)

上面是用变体型 数据试了下,有延时,说明程序在调用,但,数据类型不对,还是怎么着最后没成;
【下面是找到的参考】
不知道,怎么转换了;大司命给撤销了,发了威客悬赏,可悬赏没人啊,半天没人接;


由于需要添加大量数据(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);
}




作者: xo37    时间: 2024-5-14 17:13
威客不是没人接,而是 —— 没审核通过
作者: 明天自然醒    时间: 2024-5-14 18:49
variany和易语言的变体型,可能不是一个东西吧
作者: xo37    时间: 2024-5-14 21:01
嗯,不管是不是一个东西,能填充进数据就行哦
作者: xo37    时间: 2024-5-14 21:02
可以追加交易币的哦




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4