function aaa(aa:string):string;
begin
  result:='123';
end;edit1.text:=aaa('a');
象这样的函数只能返回一个值,如何使函数一次可返回多个值.

解决方案 »

  1.   

    用变参:
    function aaa(aa:string;var t1:string;var t2:string;...):string;
    begin
       t1:='xxxxx';
       t2:='ssssss';
       result:='123';
    end;
      

  2.   

    to 华
    我要的不是传进去的,而是返回值。u2m能否举个例???
      

  3.   

    常识:函数返回多个值,可用全局变量或指针。Delphi中已经预定义了许多常用指针类型,如PInt, PChar....
      

  4.   

    var t1,t2,resu:string;
      function g(a:string;var b:string;var c:string):string;
      begin
        b:='b';
        c:='c';
        result:='d';
      end;
    begin
       resu:=g('a',t1,t2);
       memo1.lines.add(resu);
       memo1.lines.add(t1);
       memo1.lines.add(t2);
    end;
      

  5.   

    可明白了,yaningou(被甩N2次) ???明白了给分!!!
      

  6.   

    type 
         Myrecord=record
            MyVar1: array[1..20]of string;
            MyVar1: array[1..20] of integer;
        end;
      var 
        MyRe1:MyRecord;
      function g(R1:MyRecord):MyRecord;
       var i:integer;
      begin
        for i:=1 to 20 do 
         R1.MyVar1[i]:=inttostr(i);      
        result:=R1;
      end;
      

  7.   

    其实...几种方法都说了已经有人说了,楼主自己没理解而已,返回值?效果上达到了不行吗?
    用var修饰有什么效果,先试试记录都不知道?看来需要好好的打打基础!
    在Delphi帮助中查询Record
      

  8.   

    to ehom
    呵呵,批评的对.