标题:谁帮我看看这段代码对不对? 返回数组类型的函数
只看楼主
nannancy
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-5-15
结帖率:0
已结贴  问题点数:20 回复次数:1 
谁帮我看看这段代码对不对? 返回数组类型的函数
程序代码:
function TForm5.returnArray(mmView: TMemo):arResult;
var
nArMy,nMmLine,x,j,k,i:Integer;
arMy:array of Integer;
begin
  x:= mmView.Lines.Count-1;
  while  (x>0) and (mmView.Lines.Strings[x]='' )and (mmView.Lines.Strings[x-2]<>'')  do
  begin
        mmView.Lines.Delete(x);
        Dec(x);
  end;
  if mmView.Lines.Strings[mmView.Lines.Count-1]<>'GO' then
  mmView.Lines.Add('GO');
  for nMmLine := 0 to mmView.Lines.Count - 1 do
  begin
    if AnsiSameText(Trim(mmView.Lines.Strings[nMmLine]),'GO')  then
    begin
     SetLength(arMy, Length(arMy) + 1);//把GO的行号副给数组
      arMy[Length(arMy)-1]:= nMmLine;
    end;
  end;
  for i := 0 to Length(arMy) - 1 do
    Result[i]:=arMy[i];
end;
顺便问下,有人说是在参数中返回,小弟不解。。。 以前学过JAVA,貌似差别很大啊
搜索更多相关主题的帖子: color 
2011-05-15 17:03
zin5970
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:29
专家分:195
注 册:2008-10-10
得分:20 
如果单纯的数赋值,可以用 aryA := aryB  (两个同类型数组)

另外正常的数据定义时没有赋长度或者后面没有setlength, 直接用 数据名[i] 会报错,你函数返回 arResult,这是你自己写的一个数据类型吧。可能你定义的类型里有操作

2011-05-16 15:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-339970-1-1.html




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

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