Array de Arrays

Roberto G?
17 de Marzo del 2006
Estoy tratando de utilizar una dll cuyas instrucciones me dicen que una de las funciones utiliza (en Delphi, aunque me dicen que es compatible con VB) uno de los datos siguientes

ReaderDataOfOnePack = Record
nModemId : Integer;
nReaderId : Integer;
nRecordCount : Integer;
naryModemRecordId : Array[1..RecordCountOfOnePack] of Integer;
naryRecordType : Array[1..RecordCountOfOnePack] of Integer;
naryReaderRecordId : Array[1..RecordCountOfOnePack] of Integer;
byteFailCount : Byte;
charary2CardNo : Array[1..RecordCountOfOnePack] of Array[1..21] of Char;
charary2Time : Array[1..RecordCountOfOnePack] of Array[1..14] of Char;
naryParamNo : Array[1..RecordCountOfOnePack] of Integer;//Parameter ID
naryParamValue : Array[1..RecordCountOfOnePack] of Integer;//Parameter value
bytearyPoint : Array[1..RecordCountOfOnePack] of Byte;//Byte point
end;

Al tratar de utilizarlo en VB, tengo el problema de que los datos charary2CardNo y charary2Time son arrays de arrays y no consigo hacer que funcione, ya que no puedo definir un tipo array de arrays. Aunque he intentado definiendo una matriz de tipo de usuario, y estos definirlos como matrices, no ma ha funcionado.

¿Alguien sabe como podría implementarlo para que funcione?

mvallejos
17 de Marzo del 2006
Supongo que ese código es de Pascal o Delphi, porsupuesto que esa sintaxis en VB no va a funcionar.
Si lo que necesitas es una Estructura cque contengas arrays y a su vez, existirá un array de esa estructura, debería ser algo mas o menos así (en un módulo)

Public Type Ejemplo
nModemId As Integer
nReaderId As Integer
nRecordCount As Integer
naryModemRecordId ( ) as Integer
naryRecordType ( ) as Integer
End Type

Public Ejemplos(10) as Ejemplo


Cuando ves una declaración de arrays como en el ejemplo

naryModemRecordId ( ) as Integer

El ( ) significa que es una lista dinámica que podrás dimensionar en tiempo de ejecución con Redim. De todos modos, si lo deseas, puedes ponerle la cantidad de elementos entre los paréntesis

naryModemRecordId ( 10 ) as Integer

Lista de 11 elementos ( 0 a 10)

naryModemRecordId (1 to 10 ) as Integer

Lista de 10 elementos ( 1 a 10)


Saludos