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

Estudie el siguiente formulario:

Matrices donde los límites no son conocidos

En el formulario anterior, se invita al usuario a introducir valores en tres cuadros de texto. El primer cuadro de texto es para la tabla de tiempos que él o ella quiera. El segundo Cuadro de Texto pide el valor inicial de la tabla de multiplicar. El tercer cuadro de texto es para el número final de la tabla de multiplicar. En otras palabras, 1 por 4, 2 por 4, 3 por 4, hasta 12 veces 4.

El punto es que el usuario puede introducir los valores que quiera. No sabremos hasta que se introducen, y se pulsa el botón. Hasta ahora, hemos usado una matriz con un tamaño fijo. Nuestro programa anterior de tablas de tiempos sólo subió ...a 10, y comenzó a 1. Usamos esto para configurar nuestro conjunto:

Números Dim(10) Como Entero

Pero ese arreglo no sería bueno para la forma anterior. Nuestra matriz sólo tenía 11 posiciones. El usuario definitivamente quiere la tabla de 4 veces hasta 12. ¿Hay ¿alguna manera de que podamos establecer un conjunto donde el número de posiciones no se conozca? ¿Cómo ¿podemos establecer un conjunto de tamaño no fijo?

Lo haces así. Primero configura una matriz con los paréntesis vacíos

Números oscuros( ) Como Entero

A continuación, pasar los valores de los Cuadros de Texto a algunas variables

times = Val(Textbox1.Text)
startAt = Val(Textbox2.Text)
endAt = Val(Textbox3.Text)

Podemos usar estos valores para reiniciar la matriz. Se reinicia una matriz usando la palabra ReDim. Luego se especifican los nuevos valores. Como este:

Números ReDim(endAt)

Nuestra matriz original no tenía su tamaño establecido - números oscuros( ) como números enteros. Así que tenemos el número final de la caja de texto. Cuando reiniciamos un arreglo, podemos usar este nuevo valor. Desde que nuestro usuario introdujo el valor 12 para el número final, nuestro La matriz es ahora realmente esto:

Números oscuros(12) Como Entero

Podemos usar las mismas variables para nuestro For Loop. Entonces podemos dar vueltas y vueltas el bucle que asigna valores a nuestra matriz.

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

Para poner a prueba este concepto, o se inicia un nuevo proyecto, o se modifica el que han mostrado. Crea tres cajas de texto y etiquetas. Y añade un nuevo botón. Doble haz clic en tu botón para abrir la ventana del código. Luego agregue el siguiente código (el la línea importante está en rojo):

Números Dim() Como Entero
Dim startAt As Integer
Dim endAt As Integer
Dim times As Integer
Dim StoreResponde como un entero. Dim i As Integer

times = Val(TextBox1.Text)
startAt = Val(TextBox2.Text)
endAt = Val(TextBox3.Text)

Números ReDim(endAt)

Para i = comienzoA hasta el finalA

Respuesta de la tienda = i * veces
numbers(i) = StoreAnswer
ListBox1.Items.Add(times & " times " & i & " = " & números(i))

Siguiente i

Cuando termine, ejecute su programa y pruébelo. Haga clic en el botón y la tabla de tiempos debe aparecer en el Cuadro de la Lista.

Y así es como se establece un conjunto cuando no se sabe de qué tamaño es el conjunto... va a ser... establecer una matriz con paréntesis vacíos. Reajustar la matriz con el ReDim palabra, y luego darle algunos nuevos valores.

Las matrices pueden ser un tema muy delicado, y cuesta un poco acostumbrarse a ellas. Pero valen la pena el tiempo y el esfuerzo, harán que tu vida de codificación mucho más fácil!

Pasaremos a otro tema: el trabajo con cadenas de texto.

Pasemos a los conjuntos multidimensionales --

Espero que te haya sido de ayuda!

Recomendado para ti