Manual Visual Basic 6 - Leccion 06 Español
Manual Visual Basic 6 - Leccion 06 Español
Manual Visual Basic 6 - Leccion 06 Español
com
LECCIÓN 6
En esta lección vamos a familiarizarnos con las estructuras de repetición, las cuales nos
sirven para realizar una misma instrucción un número determinado de veces o indeterminado
dependiendo de una condición.
En esta lección vamos a ver los dos tipos de bucles: con contador o con condi-
ción.
For... Next
Fin: Valor final de la variable. Cuando la variable llegue a este valor, el bucle no
se volverá a realizar.
Incremento: Número que marcará los pasos que debe aumentar el contador.
Este número puede ser tanto positivo como negativo. Eso sí, siempre deberemos tener
cuidado con los valores iniciales y finales para que no se produzca ningún tipo de error.
No podemos hacer, por ejemplo, que el valor inicial sea 10 y el final 1 siempre y cuando
WWW.AREAINT.COM
Next Contador: Línea que indica que se termina el bucle y hace que aumente
el contador según el valor que nos indique step en caso de tenerlo.
. Práctica 1
Pág. 70
Curso de Visual Basic 6.0 - Lección 3 Area Interactiva - www.areaint.com
Aquí será donde el ordenador nos muestre las diferentes tiradas que realizamos.
Nosotros en esta práctica queremos que se realicen tantas tiradas de dado como
nos indique el usuario dentro del TextBox. Para esto nos interesaría crear una es-
tructura de repetición que debería empezar en 1 y terminar en el número que indica
el usuario. Los incrementos que sufrirá el contador deberá ser de uno en uno, por lo
que la parte del step no la especificaremos.
En esta primera línea también definimos en que valor queremos que termine el
bucle. Este valor será el valor que introduzca el usuario dentro del TextBox.
Pág. 71
Curso de Visual Basic 6.0 - Lección 1 Area Interactiva - www.areaint.com
siguiente forma Int(6*Rnd)+1. Con esto conseguiríamos números aleatorios entre el
1 y el 6, ambos inclusive.
Pág. 72
Curso de Visual Basic 6.0 - Lección 3 Area Interactiva - www.areaint.com
Vamos a ver una manera para que cada vez que se inicia el programa los valores
que se consiguen con la instrucción Rnd sean diferentes.
Esta instrucción nos sirve para iniciar con valores, cada vez diferentes, la se-
cuencia de números aleatorios. De tal forma que cada vez que ejecutemos nuestra
aplicación obtendremos secuencias aleatorias diferentes.
Pero esta vez observa como la primera y la segunda secuencia son diferentes.
18. Sin detener la ejecución del programa, vuelve a pedir que se realicen 5 tiradas más.
Observa como en la lista se han añadido 5 valores más a los que ya teníamos, de
esta forma ahora tenemos 10 valores (5 tiradas anteriores y 5 actuales). Si nosotros
seguimos realizando tiradas, los valores de las nuevas tiradas se van añadiendo a la
lista de forma indefinida. Observa que cuando la cantidad de valores superan el tamaño
de la lista aparece una barra de desplazamiento vertical que nos permite poder visualizar
los valores que hemos conseguido en tiradas anteriores.
A nosotros, en esta práctica, lo que nos interesaría es conseguir que cada vez
que se realice una nueva tirada se borre el contenido de la tabla y aparezcan las nuevas
tiradas.
Vamos a ver como podemos borrar la lista cada vez que realizamos una tirada
nueva.
21. Completa el código que ya tienes, para que quede de la siguiente forma:
Dado.Clear
For Contador = 1 To NumTiradas.Text
Dado.AddItem (Int(6*Rnd)+1)
Next Contador
De esta forma cada vez que queramos realizar una nueva tirada, primero se
Pág. 73
Curso de Visual Basic 6.0 - Lección 1 Area Interactiva - www.areaint.com
borrará el contenido de la lista y después se añadirán los elementos nuevos. Cada vez
que se borran los elementos de la lista, el Índice de la lista vuelve a tener como valor
0.
En este apartado vamos ha hacer que el usuario solo pueda poner números en el
número de tiradas que quiere realizar, y no pueda introducir ningún tipo de carácter
más. Esto es una medida de depuración del programa, ya que de esta forma evitamos
que la aplicación aborte al producirse un error.
. Practica 2
1. Ejecuta la aplicación.
2. Escribe una letra en la casilla para indicar el número de tiradas que deseas realizar.
Esta ventana de error es la que tendremos que evitar en muchos casos, para que
el usuario no se encuentre con la aplicación colgada.
Observa como el evento que se ha abierto ha sido Change. El código que escri-
bimos dentro de este evento se ejecutará en el momento en el que se produce un
cambio dentro del TextBox.
Pág. 74
Curso de Visual Basic 6.0 - Lección 3 Area Interactiva - www.areaint.com
Do... Loop
Vamos a ver las dos estructuras y después pasaremos a comentar sus diferen-
cias:
Existen dos estructuras a las que hemos visto antes pero con la diferencia que el
bucle se repetirá mientras no se cumpla la condición, mientras la condición sea
Falsa.
Bucles anidados
En este apartado vamos a ver como podemos anidar, poner dentro de otro,
diferentes estructuras de repetición.
Pág. 75
Curso de Visual Basic 6.0 - Lección 1 Area Interactiva - www.areaint.com
Para esto vamos a realizar una práctica en la que intentaremos ordenar una
tabla de elementos que inicialmente están desordenados. Para ordenar una tabla exis-
ten multitud de métodos diferentes. Algunos de ellos muy simples y poco eficaces,
otros son complejos y con un alto grado de eficacia. La dificultad del sistema de orde-
nación la escogeremos según la cantidad de elementos que deseamos ordenar.
En nuestro caso realizaremos una aplicación que nos ordenará una pequeña
tabla que contiene datos aleatorios. Utilizaremos el método de ordenación más sencillo
y menos eficaz. Este método, llamado Método de la burbuja, es ideal para tablas con
pocos datos.
Método de la burbuja
Los pasos que se siguen exactamente en esta ordenación son los siguientes:
2. Como segundo paso, volvemos a repetir el primero pero esta vez hasta llegar
a comparar el antepenúltimo con el penúltimo, ya que el último elemento ya está
ordenado gracias al primer paso.
3. Volvemos a repetir exactamente lo mismo que en el paso uno, pero esta vez
con un elemento menos, ya que los dos últimos ya están ordenados.
. Práctica 3
Vamos a realizar esta aplicación. Como en todas las prácticas sigue los pasos
que te indicamos.
WWW.AREAINT.COM
Este botón servirá para borrar la tabla que tengamos en pantalla y crear otra.
Para poder visualizar las tablas que vallamos creando utilizaremos un ListBox.
Pág. 76
Curso de Visual Basic 6.0 - Lección 3 Area Interactiva - www.areaint.com
Recuerda que puedes cambiar todas las propiedades que desees de los objetos
insertados en este formulario.
Creación de la tabla
Vamos a pensar como crear esta aplicación para que sea fácil de modificar en el
momento en el que deseemos cambiar el número de elementos que componen la tabla.
Para ello vamos a crear una constante que utilizaremos a lo largo del programa. En el
momento que deseemos utilizar una tabla con más o menos elementos y que el progra-
ma funcione exactamente igual, solo deberemos cambiar el valor de esta constante.
Const Elementos = 12
Con esto crearemos una constante llamada Elementos que podremos consultar
a lo largo de todo nuestro programa.
Vamos a crear en el mismo apartado una tabla que tenga el número de elemen-
tos que marca la constante anteriormente creada. Además esta tabla, para facilitar la
comprensión de nuestro código, pondremos como primer elemento el número 1 y como
último Elemento.
Iniciar proyecto
WWW.AREAINT.COM
Vamos a escribir el código necesario para que al iniciar el proyecto nos aparezca
una tabla de número aleatorios dentro de nuestra tabla.
Pág. 77
Curso de Visual Basic 6.0 - Lección 1 Area Interactiva - www.areaint.com
Observa que en la primera línea, dentro del evento, hemos escrito la instrucción
Randomize para iniciar la función de números aleatorios.
En la segunda línea hemos iniciado un bucle que se repetirá hasta que Conta-
dor llegue hasta el número de elementos que hemos definido en Elementos. Observa
como la variable Contador no la hemos definido anteriormente.
A la vez que llenamos la tabla vamos añadiendo a nuestra Lista los elementos
que se acaban de crear. De esta manera a la vez que los creamos los pasamos a la lista,
así no tenemos que volver a realizar otra pasada por la tabla.
12. Sube por el código de la aplicación hasta llegar al evento que hemos escrito ante-
riormente.
Copiar y pegar
El código se ha copiado.
Recuerda que esta instrucción sirve para borrar el contenido de la Lista para así
Pág. 78
Curso de Visual Basic 6.0 - Lección 3 Area Interactiva - www.areaint.com
poder poner insertar otra lista nueva.
19. Realiza una ejecución de prueba para ver el funcionamiento de los dos eventos
programados hasta el momento.
Ordenación
Los números que aparecen en cada línea no debes copiarlos, los utilizaremos
para facilitar la explicación del funcionamiento del código.
En la línea 4 iniciamos otro bucle, en este caso un For... Next ya que nos
WWW.AREAINT.COM
Pág. 79
Curso de Visual Basic 6.0 - Lección 1 Area Interactiva - www.areaint.com
J con el siguiente. Si resulta que Tabla(J) es más grande (>) que Tabla(J+1) reali-
zamos el cambio de los valores, haciendo pasar el valor de Tabla(J+1) a Tabla(J).
Este cambio lo efectuamos de la siguiente manera en las líneas 6, 7 y 8.
Observa como en esta ocasión solo aparecen 5 elementos en la lista. Esto a sido
gracias a que en todo nuestro código utilizábamos una constante que controlaba el
número de elementos que deseábamos que aparecieran en nuestra tabla. Mira cuantas
líneas de código hubiésemos tenido que cambiar si no hubiésemos utilizado una cons-
tante.
Pág. 80
Curso de Visual Basic 6.0 - Lección 3 Area Interactiva - www.areaint.com
Procedimientos
Vamos a ver una forma de poder compartir estas líneas de código y utilizarlas en
el momento en el que deseemos.
De esta nueva ventana vamos a explicar las opciones que nos interesa.
Dentro del apartado Alcance tenemos dos posibles opciones: Público o Priva-
do. La primera de ellas se utilizaría en el momento que deseamos crear un procedi-
miento que se pueda mirar desde cualquier formulario que tuviera una aplicación. Mien-
tras que la segunda opción la utilizaríamos en el momento en el que queremos que el
procedimiento sólo pueda ser consultado por el formulario en el que nos encontramos.
Dentro del apartado Tipo tenemos 4 opciones de las cuales sólo nos interesan
Pág. 81
Curso de Visual Basic 6.0 - Lección 1 Area Interactiva - www.areaint.com
2: Procedimiento y Función. Vamos a ver que son cada una de estas opciones.
Procedimiento o Sub:
Función o Function:
Una función ejecuta una tarea específica dentro de un programa, pero nos de-
vuelve un valor.
37. Deja seleccionada la opción Procedimiento y escoge la opción Privado dentro del
apartado Alcance.
Observa como dentro del código han aparecido estas líneas de código:
End Sub
Podrás ver que son muy parecidas a las líneas de código de los eventos de los
diferentes elementos.
Dentro de estas dos nuevas líneas de código vamos a escribir el código que se
repite dentro de nuestra aplicación.
Si miramos las líneas que aparecen dentro del procedimiento que hemos creado
Pág. 82
Curso de Visual Basic 6.0 - Lección 3 Area Interactiva - www.areaint.com
anteriormente podremos ver donde deberemos hacer la llamada a Crear.
Concatenación de texto
En este apartado vamos a ver una operador que nos permite concatenar ele-
mentos. La concatenación es la unión de dos o más elementos que están separados,
para formar uno nuevo.
. Practica 4
2. Inserta dos TextBox. Elimina el contenido y deja los nombres que tienen por defec-
to.
4. Inserta un CommandButton. Pon el texto que quieras. No hace falta que cambies
su nombre.
Para unir el contenido de los dos objetos insertados utilizamos el operador &.
9. Pulsa el Botón.
Observa como el contenido de los dos TextBox pasa dentro del Label.
Pág. 83
Curso de Visual Basic 6.0 - Lección 1 Area Interactiva - www.areaint.com
¿Qué tendríamos que hacer para que entre ellos apareciera un espacio en blan-
co?
14. Detén la ejecución una vez hayas introducido diferentes textos en las correspon-
dientes casillas.
Observa que el texto que delante y detrás del texto que deseamos aparezca
entre los elementos a concatenar hemos dejado un espacio, esto lo hacemos para que
no salga junto a los elementos concatenados y la conjunción y. Observa igualmente
que este texto está entre comillas.
Fin de la lección 6
1
Variable en la que podemos almacenar cualquier tipo de dato.
Pág. 84