Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Pasar como parametro una matriz de enteros (https://www.clubdelphi.com/foros/showthread.php?t=57482)

ivanloco 16-06-2008 22:45:08

Pasar como parametro una matriz de enteros
 
Hola: queria saber como puedo hacer para pasar una matriz de enteros como parámetro de una funcion.

La variable que tengo es:
Código:

tablero: array[1..10,1..15] of integer;
La funcion a la cual le desdeo pasar esta variable como parametro esta definida como:
Código:

procedure arriba(t: array of integer);
Intente declarar el parametro como
Código:

procedure arriba(t: array of array of integer);
y no puedo.

Alguien sabe que puedo hacer? Gracias

Fenareth 16-06-2008 22:50:01

Para mandar llamar la función intenta con:

Código Delphi [-]
arriba(tablero);

Saludos :)

ivanloco 16-06-2008 22:53:32

Ya lo intente pero me da error de incompatibilidad de tipos. Gracias

Black_Ocean 16-06-2008 22:58:30

Bueno... aquí te pongo un ejemplo para que uses la matriz como un tipo de dato y se la asignes a una variable para poder pasarla como parámetro en el procedimiento.

Código Delphi [-]
type
  TTablero = array[1..10, 1..15] of integer;

procedure Arriba(const T: TTablero);
begin
  //...líneas de código...
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Tablero: TTablero;
begin
  //..líneas de código...
  Arriba(Tablero);
end;

Saludos y espero que te sirva :D

Fenareth 16-06-2008 23:00:20

Creo que no te entendí al 100 por ciero la primera vez :p...

yo lo que haría es crear algo asi:

Código Delphi [-]
type tablero= array[1..10,1..15] of integer;

si es necesario después declarar variables de tipo tablero:

Código Delphi [-]
var Tab1:Tablero;

en tu procedimiento declarar:

Código Delphi [-]
procedure arriba(T:Tablero);

y mandarlo llamar:

Código Delphi [-]
arriba(tab1);

Espero que ahora sí sea así como lo estabas buscando...

Saludos :o :)

ivanloco 17-06-2008 01:00:53

Muchisimas Gracias a los dos! funciono muy bien!


La franja horaria es GMT +2. Ahora son las 15:41:22.

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