| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 791 人关注过本帖
标题:请教高手一个简单的数组问题,这里怎样定义、声明数组?
只看楼主 加入收藏
wtv
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-6-14
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
请教高手一个简单的数组问题,这里怎样定义、声明数组?
刚学delphi7,想试编一个被引用的dll的函数,求连续价格(是序列)5个的平均值。源码如下:
(一)dllfnc.dpr
library dllfnc;
uses
Unit1 in 'Unit1.pas';
{$E *.dll}
{$R *.RES}
exports
FNC1;
begin
end.
(二) unit1.pas
unit Unit1;
interface
uses
SysUtils,
Classes;
type
tagSTKDATA = packed record
m_fClose: single;  //价格
end;
tagCALCINFO = packed record
m_nNumData: integer;  //数据数量
m_pData: ^tagSTKDATA; //常规数据
m_pResultBuf: ^single; //结果缓冲区
end;
pTagCALCINFO = ^tagCALCINFO;
function FNC1(pData:pTagCALCINFO):integer;stdcall;export;
 
implementation
function FNC1(pData:pTagCALCINFO):integer;stdcall;export;
var
  f:single;
  i,j:integer;
begin
  for i:=1 to pData.m_nNumData do  
  if i>=5 then                         //由第5个开始
  begin
    f:=0;
    for j:=0 to 4 do                   //计算的数量是5个
    f:=f+pData.m_pData[i-j].m_fClose;  //累加
    pData.m_pResultBuf[i]:=f/5;        //平均
  end;
end;
end.

在f:=f+pData.m_pData[i-j]处、pData.m_pResultBuf[i]处,错误:Array type required(需要数组类型),请问怎样定义?把pm_pData=^m_pData、pm_pResultBuf=^m_pResultBuf加到type里也是错的
搜索更多相关主题的帖子: 缓冲区 single packed library interface 
2013-06-14 12:50
volte
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:69
帖 子:1167
专家分:1316
注 册:2004-12-19
收藏
得分:20 
pData.m_pData和pData.m_pResultBuf是record类型,你把他用成数组肯定报错!!!

大家都是朋友,有空就来坐坐!
2013-06-18 15:36
快速回复:请教高手一个简单的数组问题,这里怎样定义、声明数组?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031408 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved