Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   array como argumente de procedimiento!!!!! (https://www.clubdelphi.com/foros/showthread.php?t=46488)

david_uh 02-08-2007 01:56:56

array como argumente de procedimiento!!!!!
 
hola foro
tengo un pequeño problema,
deseo pasar a un procedieminto una matriz dinámica bidimensional por referencia:
1.- como lo hago, es decir como declaro el procedimeinto??
2.- como se las dimensiones de la matriz dentro del procedimiento, es decir nro de filas y columnas


gracias por cualqueir ayuda

egostar 02-08-2007 01:59:41

no te sirve dos sentencias for para recorrer el array???

Código Delphi [-]
for i := 1 to N then begin
    for j := 1 to M then begin
        //
    end;
end;

Salud OS.

david_uh 02-08-2007 02:02:09

si claro, con dos for pero como se los limites tanto de filas y columnas??

si tambien como hago para decarar un procedure que reciba una matriz dinamica de dos dimensiones de tipo string que la reciba por referencia???

Robert01 02-08-2007 03:30:26

Hola

Primero hay que definir un tipo:

Código Delphi [-]
Type    TNVector  = ARRAY of Float;   
           TNMatrix  = ARRAY of TNVector;


Luego declaramos el arreglo

Código Delphi [-]
Var  myArray: TNMatrix;


A las dimensiones se las das dentro de un procedure usando setlength y para pasarla por referencia se usa var, por ejemplo

Código Delphi [-]

procedure mysub (var myArray,...);


no se si esta es tu duda

Saludos

Delphius 02-08-2007 03:49:23

Para conocer los puntos extremos tienes estas dos funciones:
1. Low(): valor extremo inferior
2. High(): valor extremo superior

De modo que para recorrer puedes usar algo como esto:

Código Delphi [-]
for i := 0 to High(Matriz) do // o i := Low(Matriz)
  for j := 0 to High(Matriz[i]) do
     begin
     ....
     end;

Espero que te sirva.
Saludos,


La franja horaria es GMT +2. Ahora son las 20:04:02.

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