FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Como paso una matriz a una funcion
pues el asunto lo dice todo;
¿Como paso una matriz a una funcion? intente algo asi como procedure Funcion(a: array of array of byte) pero no funciona !!!! |
#2
|
|||
|
|||
Puedes únicamente pasar un array dinámico de una sola dimensión. Para el caso que planteas, mejor definirte un tipo de array, y pasarle un array de ese tipo:
Código:
type MiLista = array of Byte; function DevuelveNumero (const v: array of MiLista) : Integer; var i, j : Integer; begin for i:=Low(v) to High(v) do for j:=Low(v[i]) to High (v[i]) do ... end;
__________________
Guía de Estilo |
#3
|
|||
|
|||
oiga men, pero el dato ke necesito pasar es un array multidimensional (una matriz) no un vector....
como se convierte un array de este tipo en vector??? |
#4
|
||||
|
||||
Andrés te respondió correctamente a lo que tu preguntaste, vale la pena que veas el código que enviaste en el primer post.
Código:
type MiArray = array[0..10, 0..10] of Byte; ... procedure Procedimiento(AValue : MiArray); begin ... end;
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#5
|
|||
|
|||
jeje pues sorry es ke estaba confundido pues yo define el array como esto:
Datos:array [0..255] of array [0..255] of Byte ... solo por curiosidad... ke fue lo ke defini aki??? |
#6
|
|||
|
|||
Hola Alejo:
Lo que Delphi no admite es pasar arrays dinámicos multidimensionales por eso te puse la opción que puedes ver en mi mensaje anterior, con la que vienes a lograr una matriz bidimensional, basando un array dinámico de una dimensión en un tipo que a su vez es otro array dinámico de una dimensión. Esa limitación se aplica a arrays dinámicos, si el array es estático, sí que puedes pasarlo como parámetro aunque sea bidimensional, ejemplo: Código:
type TMatriz = array [0..100, 0.. 50] of Byte; function CalculaElementos (Lista: TMatriz) : Integer; var i, j : Integer; begin result := 0; for i:=Low(Lista) to High(Lista) do for j:=Low(Lista[i]) to High(Lista[i]) do Inc (result); end;
__________________
Guía de Estilo |
|
|
|