Pasar como argumento solo una dimension de un array bidimensional
Buenos días,
Tengo un problema a la hora de pasar como argumento una dimension de un array bidimensional que no se como solucionar. Queria ver si me podeis echar una mano con esto. Tengo una función calcular(numeros: array of byte). Tengo un array bidimensional declarado de esta forma: bidimensional: array of array of byte; La segunda dimension de esta variable coincide en tamaño con el de la variable numeros y contienen el mismo tipo de datos, pero no se, si es que es posible, como pasarlo. He probado varias formas pero siempre obtengo errores en la compilación: Calcular(bidimensional[1]) -> da error: Incompatible types: Array and dynamic array Calcular(bidimensional[1,0]) -> da error: Incompatible types array and byte.. Se puede conseguir? Saludos |
Hola,
Tal vez puedas hacer algo parecido a esto. Nota que, por claridad, he usado "strings" en lugar de "bytes". Primero declaramos dos tipos de array, de una y de dos dimensiones:
A continuación nuestro procedimiento "Calculate", que, recibe como argumento un array de una dimensión:
El siguiente es el código en que hacemos uso de lo anterior:
Todo el código junto en una unidad/formulario:
Nota que sería bien cambiar el nombre de los tipos de array a unos más descriptivos. |
Muchas gracias.
Muy bien detallado :-) Un abrazo. |
paquechu,
Cita:
El código anterior define un arreglo de dos dimensiones y pasa solo la dimensión que desea manipular en un momento dado a un arreglo de una dimensión y a un procedimiento como parámetro del mismo. Espero sea útil :) Nelson. |
Pues también me vale ;-)
Saludos. |
La franja horaria es GMT +2. Ahora son las 05:41:00. |
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