过程和函数有什么区别,如何利用过程来返回一个值。如何利用函数返回N个值呢?

解决方案 »

  1.   

    在过程或函数中用VAR 型的形参即可返回N个值.
      

  2.   

    过程与函数是原来PASCAL中的区别过程没有返回值,但函数一定有返回值!当然,如果在过程中需要返回值的话,可以使用VAR类型(变量形式)参数
      

  3.   

    1。var
    2。返回record类型。
      

  4.   

    用过程返回值 : 使用变参传址具体如下:
    procedure TDynamicSQLDemoServer.GetAllTables(var vTables:OleVariant);
    var
      tblList:TStringList;
      iCount:Integer;
    begin
      try
        tblList:=TStringList.Creat;
        adocDSQL.GetTableNames(tblList);
        vTables:=VarArrayCreate([0,tblList.count-1],varVariant);
        for iCount:=0 to tblList.Count-1 do
        begin
          vTables[iCount]:=tblList.Strings[iCount];
        end;
      finally
        tblList.Free;
      end;
    end;
    procedure TForm2.btnConnectClick(Sender:TObject);
    var
      vtblList:Variant;
      iCount:Integer;
    begin
      SocketConnection1.connected:=True;
      SocketConnection1.AppServer.GetAllTables(vtblList);
      if (VarIsArray(vtblList)) then
      begin
        for iCount:=VarArrayLowBound(vtblList,1) to VarArrayHighBound(vtblList,1) do
        begin
          lbTables.items.add(vtblList[iCount]);
        end;
      end;
    end;
      

  5.   

    var传递的是指针。
    你修改了指针所指向变量的值,那实参的值也被改变了!