Ver Mensaje Individual
  #1  
Antiguo 03-10-2014
Avatar de BDWONG
BDWONG BDWONG is offline
Miembro
NULL
 
Registrado: nov 2013
Posts: 113
Reputación: 11
BDWONG Va por buen camino
Cool Retonar arreglo dinamico en funcion

Bueno estaba mirando algo de poo en pascal y queria crear una funcion que me retornara
un arreglo intente poner la funcion y de retorno algo asi

function mifuncion:array of integer;
begin
end;

pero me daba error asi que cheque dos posible soluciones una declarar un nuevo tipo que fuera de array of integer
ejemplo

type
TIntegerArray:array of integer;

function mfuncion:TintegerArray;
begin
end;

y la otra solucion seria usar el Tarray<integer> como tipo de retorno la verdad me gusto mas la segunda opcion pero no se si estoy haciendo una buena implementacion ya que este Tarray<> tiene una serie funciones mas avanzadas

este codigo hice en delphi
Código Delphi [-]
unit Metodos;

interface

type
  TMetodo=class(TObject)
    private
    arreglo:Tarray;
    public
    constructor Create(tamano:integer);
    procedure LlenarArreglo;
    function  ObtenerArreglo():Tarray;
  end;


implementation

  constructor TMetodo.Create(tamano:integer);
  begin
     SetLength(self.arreglo,tamano);
  end;

  procedure TMetodo.LlenarArreglo;  {llenamos el arreglo}
  var
  i:integer;
  begin
    Randomize;
    for I := 0 to High(self.arreglo) do
    begin
        self.arreglo[i]:=Random(100);
    end;
  end;

  function TMetodo.ObtenerArreglo:Tarray;{RETORNAMOS el arreglo}
  begin
     if length(self.arreglo)>0 then
       result:=self.arreglo
     else
       result:=nil;
  end;

end.



entonces quiseira saber si es correcto como lo estoy haciendo
espero sus respuestas saludos...
Responder Con Cita