Cómo crear una matriz en el módulo vb
Declarar un arreglo de tamaño fijo
Hay tres formas de declarar un arreglo de tamaño fijo, dependiendo del rango de validez que debe tener el arreglo:
Para cree una matriz normal. Declare la matriz utilizando la declaración pública en la sección de declaración del módulo.
Para crear una matriz a nivel de módulo, declare la matriz usando la declaración Privada en la sección de declaración del módulo.
Para crear una matriz local, declare la matriz usando la declaración privada en el procedimiento almacenado.
Establecer límites superior e inferior
Utilice paréntesis después del nombre de la matriz para declarar los límites superior e inferior de la matriz. El límite superior no debe exceder el rango del tipo de datos Long (-2.147.483.648 a 2.147.483.647). Por ejemplo, la siguiente declaración de matriz puede aparecer en la sección de declaración de un módulo:
Contadores tenues (14) como entero '15 elementos.
Sumas tenues (20) como doble ' 21 elementos.
Para crear una matriz normal, reemplace Dim con Public.
Contadores públicos (14) como enteros
Sumas públicas (20) como dobles
En el procedimiento almacenado, Dim usa la misma declaración:
Contadores atenuados (14) como enteros
Sumas atenuadas (20) como dobles
La primera declaración crea una matriz de 15 elementos, indexados del 0 al 14. La segunda declaración crea una matriz de 21 elementos, con índices que van de 0 a 20.
Para especificar un límite inferior, debe utilizar la palabra clave To para proporcionar el límite inferior explícitamente (para el tipo de datos Largo):
Contadores atenuados (1 a 15) como entero
Dim Sums (100 a 120) como cadena
En la declaración anterior, los contadores están indexados del 1 al 14. Los contadores tienen un rango de índice de 1 a 15, mientras que las sumas tienen un rango de índice de 100 a 200.
Matrices que contienen otras matrices
Puede crear matrices de tipos de datos variables y ubicarlas junto con matrices de diferentes tipos de datos. El siguiente código crea dos matrices, una que contiene números enteros y la otra que contiene cadenas. Luego declare una tercera matriz Variant y coloque las matrices de enteros y cadenas en ella:
Private Sub Command1_Click ()
Dim intX As Integer 'Declara la variable de contador.
'Declara y coloca una matriz de números enteros.
Atenuar contadoresA (5) como entero
Para intX = 0 a 4
contadoresA (intX) = 5
Siguiente intX
'Declara y coloca una matriz de cadenas.
Atenuar contadoresB (5) como cadena
Para intX = 0 a 4
contadoresB (intX) = "hola"
Siguiente intX
Dim arrX (2) As Variant 'Declara una nueva matriz de dos elementos.
arrX (1) = contadoresA () 'Mover otra matriz a la matriz.
arrX (2) = contadoresB ()
MsgBox arrX (1) (2) 'Muestra los miembros de cada array.
MsgBox arrX (2) (3)
End Sub
Matriz multidimensional
A veces es necesario rastrear y registrar información relevante en la matriz. Por ejemplo, para rastrear cada píxel en la pantalla de una computadora, es necesario hacer referencia a sus coordenadas X e Y. Esto requiere almacenar los valores en una matriz multidimensional.
Se pueden declarar matrices multidimensionales en Visual Basic. Por ejemplo, la siguiente declaración declara una matriz bidimensional de 10 × 10 en un procedimiento almacenado.
Matriz estática A (9, 9) como doble
Puede declarar dos dimensiones, o cualquiera de las dos dimensiones, y utilizar un límite inferior explícito:
Matriz estática A (1 a 10, 1 a 10) como doble
Puede generalizar todo esto a matrices de más de dos dimensiones. .Por ejemplo:
Dim MultiD (3, 1 a 10, 1 a 15)
Esta declaración crea una matriz tridimensional de tamaño 4 × 10 × 15. El número total de elementos es el producto de las tres dimensiones, que es 600.
Nota Cuando aumenta la dimensionalidad de una matriz, el espacio de almacenamiento que ocupa aumenta drásticamente, así que tenga cuidado al utilizar matrices multidimensionales. Tenga más cuidado al utilizar matrices de variables, ya que requieren más espacio de almacenamiento.
Uso de bucles para manipular matrices
Las matrices multidimensionales se pueden procesar de manera eficiente anidándolas usando bucles For. Por ejemplo, en MatrixA, puede asignar un valor a cada elemento según su posición en la matriz:
Dim I As Integer, J As Integer
Static MatrixA(1 To 10 , 1 A 10) Como Doble
Para I = 1 A 10
Para J = 1 A 10
MatrizA (I, J) = I * 10 J
Siguiente J
Siguiente I