Esta lección es parte de un tutorial continuo. Esta primera parte está aquí: ¿Qué es un Array?

En la parte anterior, añadiste un código a un botón con el fin de probar las matrices. Cuando pulsaste el botón, probablemente tienes un cuadro de error que aparece, diciéndote que el índice " estaba fuera del los límites de la matriz ." Este es el mensaje de error que puede haber recibido:

Matrices y el número de índice

O éste, en la Comunidad 2017 y 2019:

Matrices y el número de índice

El índice del que habla el mensaje de error es la cifra entre paréntesis en tu conjunto. Hemos creado esta matriz

Dim MyNumbers(4) As Integer

Y el número de Índice más alto es por lo tanto 4 . Pero intentamos mostrar algo en el número de índice 5 :

MyNumbers(5)

Visual Basic dijo "Espera un minuto, el idiota no tiene un número de posición 5!" Así que detuvo el programa y le dio un mensaje de error. Borra esto. línea de su código:

MessageBox.Show("El sexto número es: " & MyNumbers(5))

Así que la forma de obtener información contenida en una matriz es a través de su número de índice - "¿Qué hay en la posición 0 de la matriz? ¿Qué hay en la posición 1 de la matriz?" Una muy... La forma más práctica de obtener la información de su matriz es accediendo a su Índice en un número de For Loop.

Para que no tengas todos esos buzones de mensajes apareciendo, podemos mostrar el resulta en un cuadro de lista.

Añada un cuadro de lista a su formulario. Hágalo bastante amplio, y sólo déjelo en el default Nombre de ListBox1 . A continuación, cambie su código por el siguiente (el nuevo código está en negrita, texto azul):

Dim MyNumbers(4) As Integer

Dim i As Integer

MyNumbers(0) = 10
MyNumbers(1) = 20
MyNumbers(2) = 30
MyNumbers(3) = 40
MyNumbers(4) = 50

Para i = 0 a 4

ListBox1.Items.Add(MisNúmeros(i))

Siguiente i

Ejecute su programa y haga clic en su botón. Su formulario debería tener un aspecto como este:

Matrices y el número de índice

La primera vez que se hace el bucle, la variable llamada i contendrá el número 0 . Visual Basic hará una prueba para ver si nuestra condición final se cumple. El final La condición era " Bucle hasta que la variable i tiene el número 4 ". La variable i sólo mantiene el número 0 , por lo que Visual Basic cae hasta la siguiente línea:

ListBox1.Items.Add(MisNúmeros(i))

¿Y qué hay dentro de la variable i ? El número 0. Entonces, ¿qué es lo que realmente se obtiene que se añade al cuadro de la lista es este:

MyNumbers(0)

En otras palabras, " Agrega al cuadro de lista lo que sea que esté dentro de la matriz en número de posición 0 "

La próxima vez, la variable i sostendrá el número 1. Así que esto se ejecuta

ListBox1.Items.Add(MisNúmeros(1))

Y el bucle continúa dando vueltas y vueltas, añadiendo lo que sea que esté dentro de nuestra matriz hasta que se cumpla la condición final para el bucle.

Cambia la primera línea del bucle For por esto:

Para i = 0 a 5

¿Puedes adivinar lo que pasará? Inténtelo y vea. Asegúrate de saber por qué te el mensaje de error antes de seguir adelante.

No más lectura de estas lecciones online - ¡consigue el eBook aquí!

Arreglos y cadenas de texto

Las matrices también pueden contener otros tipos de datos. Pueden contener cadenas de texto.

  • Ponga otro botón en su formulario
  • Poner la propiedad Text en "String Array"
  • Ponga el siguiente código detrás de su botón

Dim MyText(4) As String

Dim i As Integer

MyText(0) = "This"
MiTexto(1) = "es"
MyText(2) = "a"
MyText(3) = "String"
MyText(4) = "Array"

Para i = 0 a 4

ListBox1.Items.Add(MiTexto(i))

Siguiente i

Cuando hayas terminado, ejecuta el programa y haz clic en tu nuevo botón. El texto que pones en las 5 posiciones de la matriz deben mostrarse en el Cuadro de Lista.

De nuevo, el mismo proceso está en marcha: Configurar una matriz, y especificar cuántos elementos que quieres mantener en la matriz; asigna tus datos a cada posición; gira una y acceder a lo que sea que esté en cada posición de la matriz.

En la próxima parte, veremos más de cerca la asignación de valores a un Array.

Pasar a Asignar valores a una matriz --;

Espero que te haya sido de ayuda!

Recomendado para ti