Arrays bidimensionales | Arrays dinámicos
Un ejemplo de un array estático bidimensional(matriz) sería:
Dim notas(3,5) As real
'Inicialización
For contadorHorizontal = 0 To 2
For contadorVertical = 0 To 4
notas(contadorHorizontal,contadorVertical) = contadorHorizontal + contadorVertical
Next
Next
'Visualización de la nota de un alumno
Print notas(1,3)
Utilizamos dos bucles para ir recorriendo la matriz con la fila fija y recorriendo esa fila cambiando el numero de la columna. Lo que vería el usuario despues de ejecutar este trozo de código sería:
Los arrays dinámicos son identicos a los estáticos, con la gran ventaja de que en tiempo de ejecución puedes darles una nueva dimensión. Asi, si necesitas un array pero no sabes la longitud de dicho array o cada vez que se ejecute el programa la dimensión va a cambiar, estos arrays son muy utiles.
La sintaxis de estos arrays es identica a la de los estáticos dejando la dimensión vacia como se indica en el siguiente ejemplo:
Dim / Pubilc nombre_array( ) As Integer
Luego, cuando estas escribiendo el código puedes redimensionarlo cuantas veces quieras con la sentencia ReDim:
ReDim[Preserve] nombre_array (dimensión)[As tipo_de_dato]
La instrucción Preserve lo unico que hace es conservar los valores que ya tenía el array antes de redimensionarlo.
También existe la instrucción Erase que carga la memoria reservada en la sentenciaReDim:
Erase nombre_array
Un ejemplo de un array dinámico lo exponemos en las siguientes lineas:
Dim numeros() As integer
'Redimensión
Redim numeros (10) As integer
'Inicialización
For contador = 1 To 10
numeros(contador) = contador
Next
'Visualización
Print numeros(4)
'Redimensión
Redim numeros (20) As integer
'Inicialización
For contador = 11 To 20
numeros(contador) = contador
Next
'Visualización
Print numeros(14)