Cómo declarar una matriz en VB
Dim Sums (20) Como elementos Double '21.
Para crear una matriz normal, reemplace Dim con Public.
Contadores públicos (14) como enteros
Sumas públicas (20) como dobles
Utilice la misma declaración para usar Dim en un procedimiento almacenado:
Contadores tenues (14) como enteros
Sumas tenues (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, utilice la palabra clave To para proporcionar un límite inferior explícitamente (para el tipo de datos Largo):
Contadores tenues (1 a 15) como entero
Sumas tenues ( 100 a 120) Como cadena
Matriz que contiene otras matrices
La primera declaración crea una matriz de 15 elementos, indexados de 0 a 14. p>
Private Sub Command1_Click ()
Dim intX As Integer 'Declara una variable de contador.
'Declara y coloca una matriz de 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 matriz de cadenas con dos miembros en la nueva matriz.
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. En este caso, los valores deben almacenarse 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
Matriz estática A (1 a 10, 1 a 10) como doble
Dim MultiD (3, 1 a 10, 1 a 15)
Esta declaración crea una matriz tridimensional de 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 ocupado por la matriz aumenta dramáticamente, así que use matrices multidimensionales con precaución. Tenga más cuidado al utilizar matrices de variables, ya que requieren más espacio de almacenamiento.
Utilice bucles para operar matrices
Dim I como entero, J como entero
Matriz estática A (1 a 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
Para crear una matriz dinámica, siga estos pasos:
Declare la matriz usando la declaración Pública (si desea que la matriz sea pública) , o (Declare la matriz a nivel de módulo usando la instrucción Dim si desea que la matriz esté a nivel de módulo, o (si desea que la matriz sea local) declare la matriz dentro de un procedimiento almacenado usando la instrucción Estática o Dim. Agregue una tabla de dimensiones vacía a una matriz para declarar la matriz como una matriz dinámica.
Dim DynArray ()
Utilice la instrucción ReDim para especificar el número real de elementos. ReDim DynArray (X 1)
La declaración ReDim solo puede aparecer dentro de un procedimiento almacenado. A diferencia de la declaración Dim y la declaración estática, la declaración ReDim es una declaración ejecutable que permite a la aplicación realizar operaciones en tiempo de ejecución.
La declaración ReDim admite la misma sintaxis que las matrices fijas. Para cada dimensión, cada declaración ReDim puede cambiar la cantidad de elementos, así como los límites superior e inferior. Sin embargo, las dimensiones de la matriz no se pueden cambiar.
ReDim DynArray (4 a 12)
Por ejemplo, utilice la primera instrucción para crear una matriz dinámica Matrix1 a nivel de módulo:
Dim Matrix1 () Como entero
Sub CalcValuesNow ()
ReDim Matrix1 (19, 29)
End Sub
La instrucción ReDim especifica la matriz como 20 × 30 de matrices enteras (el tamaño total del elemento es 600). Hay otra forma de establecer límites de matriz dinámica usando variables:
ReDim Matrix1 (X, Y)
Tenga en cuenta que puede asignar una cadena a una matriz de bytes de tamaño variable. Las matrices de bytes también se pueden asignar a cadenas de longitud variable. Es importante tener en cuenta que la cantidad de bytes en una cadena varía según la plataforma. La misma cadena ocupa el doble de bytes en una plataforma Unicode que en una plataforma que no es Unicode.
Guardar el contenido de una matriz dinámica
Cada vez que se ejecuta una instrucción ReDim, todos los valores almacenados actualmente en la matriz se pierden.
Esto es muy útil.
A veces desea cambiar el tamaño de una matriz sin perder los datos de la matriz. Utilice ReDim Preserve DynArray (UBound (DynArray) 1) y la palabra clave Preserve
ReDim Preserve Matrix (10, UBound (Matrix, 2) 1)
En lugar de programar así:
p>ReDim Preserve Matrix (UBound (Matrix, 1) 1, 10)