CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

请问:如何通过函数/过程返回数组?

楼主tttk(网络芝麻)2001-01-20 17:04:00 在 Delphi / VCL组件开发及应用 提问

我现在需要一个function,用它来返回一个数组,如何实现? 问题点数:50、回复次数:7Top

1 楼nononono(null,null)回复于 2001-01-20 17:12:00 得分 10

定义这个数组类型,在函数/过程的参数中定义这个数组参数为变参,如:  
   
  PROCEDURE   过程名(VAR   数组参数名   :   数组类型   ....)Top

2 楼tttk(网络芝麻)回复于 2001-01-20 17:13:00 得分 0

我的代码如下:  
  procedure   TfmCounter.FormCreate(Sender:   TObject);  
  var  
      arrNum:   array   of   Integer;  
  begin  
      ...  
      SplitStr(Buffer,   ',',   arrNum);  
      ...  
  end;  
   
  procedure   TfmCounter.SplitStr(lcStr:   String;   SplitChar:   String;   var   arrDest:   array   of   Integer);  
  begin  
      SetLength(arrDest,   3);  
      ...  
  end;  
   
  错误:Variable   'arrNum'   might   not   have   been   initializedTop

3 楼tttk(网络芝麻)回复于 2001-01-20 17:17:00 得分 0

可是如果我要是执行:  
  SetLength(arrNum,1);  
  SplitStr(Buffer,',',arrNum);  
   
  将收到:Incompatible   types   错误,高手,救救我。  
  Top

4 楼nononono(null,null)回复于 2001-01-20 17:21:00 得分 40

是说参数类型不对吧?  
  应该把   array   of   Integer   定义成一个类型,用这个类型去说明你的形参arrDest和实参arrNum,这样类型就一致了。Top

5 楼tttk(网络芝麻)回复于 2001-01-20 17:31:00 得分 0

谢谢你,nononono,照你说的我的问题解决了。Top

6 楼nononono(null,null)回复于 2001-01-20 17:33:00 得分 0

还有:array   of   Integer   ,这样的数组太大啦!!!!Top

7 楼YangYun()回复于 2001-01-20 17:41:00 得分 0

你的数组没有定义长度,这样的话,程序无法对其定义数组的大小以及对它的项进行初如化,请试试用    
      var   arrnum:array[1..100]   of   integer;  
  程序变参中不能返回不定长的数据,除非你是用Variant变量。Top

相关问题

  • 函数怎样返回一个数组?
  • pb6.5中使函数返回数组
  • 函数如何返回多维数组
  • 函数如何返回数组?
  • 请问函数如何返回数组?
  • 怎样在函数中返回数组?
  • 如何让函数返回数组?
  • 函数如何返回数组
  • 过程函数可以是数组吗?
  • VB6设计自定义函数或过程,能否让一个函数或过程返回多个结果,是否能用数组,请大侠们帮忙!

关键词

  • 数组
  • arrnum
  • arrdest
  • 参数
  • 类型
  • 返回
  • splitstr
  • 过程
  • 定义
  • procedure

得分解答快速导航

  • 帖主:tttk
  • nononono
  • nononono

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo