两个函数之间,结构数组(Record)怎么传递...谢谢

解决方案 »

  1.   

    给你写一个例子,自己看吧:type
      TR = record
       Field1 : integer;
       Field2 : string[5];
       end;  TAR = array of TR;function Func1( X : TAR) : TAR;
    var
      I : integer;
    begin
      SetLength(Result, Length(X));
      for I := Low(X) to High(X) do
        begin
        Result[I].Field1 := X[I].Field1 + I;
        Result[I].Field2 := Copy(X[I].Field2, 1, 4) + IntToStr(I)[1];
        end;
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
      Y, Z : TAR;
    begin
      SetLength(Y, 3);
      Y[0].Field1 := 99;
      Y[0].Field2 := '12345';
      Y[1].Field1 := 88;
      Y[1].Field2 := 'abcde';
      Y[2].Field1 := 77;
      Y[2].Field2 := 'ttttt';
      Z := Func1(Y);
      ShowMessage(Z[2].Field2);
    end;
      

  2.   

    type
     myRecord=Record
       a:integer;
       b:string[10];
     end;var
     a,b:myRecord;
    begin
      a.a:=1;
      a.b:='ssss';
      b:=a;
      showmessage(b.b);
    end;
      

  3.   

    将参数以传引用的方式,将结果以回调方式返回。
    0VER!