Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Array devuelto desde una función (https://www.clubdelphi.com/foros/showthread.php?t=65180)

r1d2m3 26-11-2009 00:17:34

Array devuelto desde una función
 
Nuevamente requiero de vuestra inteligencia colectiva, ¿es posible devolver un array o una colección desde una función? si la preg. es muy tonta, pido disculpas, pero la idea que tengo es la siguiente, quiero armar un módulo que tenga varias funciones de acceso a datos (accediendo a access mediante ado), y el resultado de dichas consultas quiero devolverlo como arrays. Esto para desacoplar el acceso a la base de datos, de esta forma, luego, si es necesario, puedo cambiar dicha capa de acceso a datos, por ej. accediendo a otro motor con otra tecnología de acceso y, al devolver los datos sobre la misma estructura de arrays, no sería necesario ningún cambio en la codificación del programa.

Espero me hayan comprendido, saludos y quedo a la espera de vuestros comentarios.

rgstuamigo 26-11-2009 00:42:35

Y por que no utilizar un Objeto TList ó TObjectList para eso?:confused:
Claro.. desde luego internamente usan array ,pero creo que te van a facilitar la vida;).
Saludos...:)

rgstuamigo 26-11-2009 00:53:34

Por otro lado si quieres hacerlo con array nomas, pues debes declarante un tipo de Dato mas o menos asi:
Código Delphi [-]
type
  TArray=Array of Char;//declaro un mi tipo de Array
....
....
Function GetArray():TArray;//aqui declaro una funcion que me devolvera un TArray;)
Saludos...:)

r1d2m3 26-11-2009 02:28:20

funcionará si creo un array de un tipo record?

Sería algo así:
//defino un tipo
type Usuarios = record
codUsr : integer;
nomApel : string;
fonoPart : string;
end;

luego defino un array del tipo Usuarios y lo utilizo como devolución de una función. dentro de esta función voy agregando la devolución de datos que obtengo de mi base de datos.

voy a probar esto, si funciona y su rendimiento es aceptable, pondré en este hilo un poco de código por si le sirve a alguien esta idea.

Saludos.


La franja horaria es GMT +2. Ahora son las 19:34:36.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi