Programar Con Visual Basic

69
1 Programar con Visual Basic Por: Ariel Palazzesi Programar con Visual Basic Por: Ariel Palazzesi @ viernes, 09 de mayo de 2008 Nota vista 17798 veces Si alguna vez has sentido deseos de crear tus propios programas, estas de parabienes: en NeoTeo te enseñaremos, paso a paso, como crear programas utilizando una de las herramientas mas sencillas y potentes que puedes conseguir: Visual Basic. ¿Comenzamos? Figura 1: comenzando la descarga. A pesar de lo ampliamente difundido que se encuentra Visual Basic en todas sus versiones, hasta no hace mucho había que gastar un buen montón de dinero para hacerse con una copia de esta magnifica herramienta. Sin embargo, Microsoft ha decidido distribuir versiones gratuitas de algunos de sus lenguajes de programación más populares. Se trata de copias totalmente operativas, aunque con algunas limitaciones. Visual Basic 2005 Express es la versión gratis que utilizaremos en este tutorial. Para acceder a ella, lo primero que debes hacer es descargar e instalar el paquete correspondiente. Se trata de una descarga de aproximadamente 380MB, que puedes conseguir en el sitio oficial que Microsoft ha puesto en línea para este producto. Veamos como instalarlo. Por supuesto, haremos clic sobre “versión final en español”, lo que hará que nuestro navegador nos pregunte si deseamos guardar o ejecutar el programa al que lleva dicho link. Seleccionaremos “ejecutar”, y esperaremos unos segundos. Primero aparecerá un cuadro como el de la figura 1, indicándonos que esperemos, y luego algo parecido a lo siguiente:

description

Programar Con Visual Basic

Transcript of Programar Con Visual Basic

Page 1: Programar Con Visual Basic

1

Programar con Visual Basic

Por: Ariel Palazzesi

Programar con Visual Basic Por: Ariel Palazzesi @ viernes, 09 de mayo de 2008 Nota vista 17798 veces

Si alguna vez has sentido deseos de crear tus propios programas, estas de parabienes: en NeoTeo te enseñaremos, paso a paso, como crear programas utilizando una de las herramientas mas sencillas y potentes que puedes conseguir: Visual Basic. ¿Comenzamos?

Figura 1: comenzando la descarga.

A pesar de lo ampliamente difundido que se encuentra Visual Basic en todas sus versiones, hasta no hace mucho había que gastar un buen montón de dinero para hacerse con una copia de esta magnifica herramienta. Sin embargo, Microsoft ha decidido distribuir versiones gratuitas de algunos de sus lenguajes de programación más populares. Se trata de copias totalmente operativas, aunque con algunas limitaciones. Visual Basic 2005 Express es la versión gratis que utilizaremos en este tutorial. Para acceder a ella, lo primero que debes hacer es descargar e instalar el paquete correspondiente. Se trata de una descarga de aproximadamente 380MB, que puedes conseguir en el sitio oficial que Microsoft ha puesto en línea para este producto. Veamos como instalarlo. Por supuesto, haremos clic sobre “versión final en español”, lo que hará que nuestro navegador nos pregunte si deseamos guardar o ejecutar el programa al que lleva dicho link. Seleccionaremos “ejecutar”, y esperaremos unos segundos. Primero aparecerá un cuadro como el de la figura 1, indicándonos que esperemos, y luego algo parecido a lo siguiente:

Page 2: Programar Con Visual Basic

2

Programar con Visual Basic

Por: Ariel Palazzesi

Figura 2 Figura 3

Figura 4: ¿Que vamos a descargar?

En la ventana de la figura 2 marcaremos (o no) la casilla que nos permite enviar un feedback a la gente de Bill Gates para que siga mejorando el producto, y en la segunda aceptaremos las condiciones estipuladas en la licencia. Una vez que la hayamos leído de punta a punta, ya podemos marcar la casilla que indica nuestra conformidad, y darle al botón siguiente para continuar. La siguiente decisión que debemos tomar (Figura 4) se refiere a si vamos a descargar solamente Visual Basic 2005 Express, o si también queremos instalar una versión reducida del Microsoft SQL Server 2005. No hay demasiada diferencia de tiempo entre descargarla o no, así que no es mala idea hacernos con una copia de ella. Al fin y al cabo, no seria raro que en algún momento queramos escribir algún programa que haga uso de una base de datos. Al hacer clic en el botón “siguiente”, veremos la pantalla de la figura 5, en la que podremos elegir la carpeta en que se instalará el paquete, y cuanto espacio necesitaremos. Hemos optado por mantener la que nos sugirió el software de instalación. Al darle a “siguiente” otra vez, estamos listos para comenzar con la descarga del resto del paquete (Figura 6).

Page 3: Programar Con Visual Basic

3

Programar con Visual Basic

Por: Ariel Palazzesi

Figura 5: ¿Donde instalar el paquete? Figura 6: Comienza la descarga.

Este es un buen momento para ordenar un poco la habitación, o para salir a por un poco de aire.

Dependiendo de la velocidad de nuestra conexión, el proceso puede demorar entre 40 minutos y un par

de horas. No es mala idea cerrar las demás aplicaciones que estén haciendo uso de Internet, para acelerar

un poco esta etapa. Tarde o temprano el proceso finaliza, y nos invita a reiniciar el ordenador. Una vez hecho esto, el

programa esta listo para ser usado. Y eso es lo que haremos.

La interfaz del IDE

Page 4: Programar Con Visual Basic

4

Programar con Visual Basic

Por: Ariel Palazzesi

Programar con Visual Basic - IDE Figura 7

IDE son las iniciales, en ingles, de Integrated Development Environment, algo asi como entorno de desarrollo integrado. Se trata de un programa que nos pone a disposición las herramientas que necesitamos para programar en un (o en varios) lenguajes de programación. En el caso del Visual Basic 2005 Express, lo primero que vemos es la imagen de la figura 7, de donde podemos elegir si vamos a encarar un proyecto nuevo o editar uno existente. Supongamos que vamos a trabajar en un nuevo proyecto. Si seleccionamos esa alternativa, una ventana como la de la figura 8 nos mostrará las opciones con las que contamos a la hora de decidir el carácter que tendrá nuestro desarrollo. Son algunos menos que las disponibles en la versión completa del Visual Studio, pero no están nada mal para ser gratis. Comenzaremos viendo como se construye un programa “normal” para Windows. Para ello, hacemos dos veces clic sobre el primer icono, el de la leyenda “Aplicación para Windows”. Aparecerá algo parecido a lo de la figura 9.

Figura 8: ¿Que tipo de aplicación construiremos?

Figura 9: El IDE, a pleno.

Page 5: Programar Con Visual Basic

5

Programar con Visual Basic

Por: Ariel Palazzesi

Aquí debemos hacer una aclaración. Debe haber pocos programas que brinden la posibilidad de personalización de sus barras de herramientas como este IDE. Seria muy conveniente que no cambies de lugar las barras, cuadros o botones por ahora, para que la disposición se parezca lo más posible a las capturas de pantalla que ofrecemos como muestra. Eso hará más fácil de seguir las explicaciones. Hemos marcado la barra que contiene las opciones del menú principal con un “1” (en rojo, no puedes no verlo). Desde allí es posible acceder a casi todas las opciones del Visual Basic 2005 Express, que iremos viendo a medida que resulten necesarias. Un “2” señala la fila de iconos que representan las tareas que utilizaremos con mayor frecuencia. Si alguna vez utilizaste alguno de los integrantes del paquete Microsoft Office, ya sabes como se utilizan estos iconos. En “3” tenemos el “Explorador de soluciones”, que es básicamente una lista de cada parte que compone nuestro proyecto, y que proporciona una forma rápida de llegar a cada uno de ellos. La zona marcada con un “4” muestra (y nos permite modificar) las propiedades del objeto o control que hayamos seleccionado en ese momento. Será una de las zonas que mas emplearemos del IDE. En “5” vemos el “formulario” que contendrá los elementos que conforman nuestra aplicación. En el momento que el programa que estamos creando este listo, será la ventana que lo contenga. Allí depositaremos los botones, menues, etiquetas, y todo lo que necesite nuestra aplicación para llevar a cabo su tarea. Por ultimo, “6” muestra el “Cuadro de herramientas”. Este menú, que se divide en varias zonas, será el que proporcione todos los controles que necesitamos para completar nuestra aplicación. La forma de colocar alguno de ellos sobre el “formulario” es tan sencilla como “arrastrarlo” sobre este. La figura 11 muestra como hemos colocado un botón. Lo hemos marcado con un círculo rojo, y también hemos puesto otro para que veas de qué forma se modifico el contenido de la zona “4”, para reflejar la lista de las propiedades que este botón tiene. La figura 12 muestra el mismo formulario, al que hemos agregado una serie de controles diferentes.

Page 6: Programar Con Visual Basic

6

Programar con Visual Basic

Por: Ariel Palazzesi

Figura 10: Nuestro primer control. Figura 11: Agregamos más items al

formulario.

Puedes comenzar con la instalación del paquete, y explorar las herramientas de las que dispone el IDE. Tienes 30 días para registrar (gratuitamente) tu paquete en el sitio Web de Microsoft. Una vez hecho esto, tendrás acceso a una serie de tutoriales y publicaciones que harán más fácil tu aprendizaje. Nosotros seguiremos explicando como hacer uso de Visual Basic 2005 Express en la próxima entrega de este tutorial.

Page 7: Programar Con Visual Basic

7

Programar con Visual Basic

Por: Ariel Palazzesi

Programar con Visual Basic (II)

Por: Ariel Palazzesi @ miércoles, 14 de mayo de 2008

Seguimos con el tutorial que nos enseñará a programar en Visual Basic. Utilizando la versión gratuita Visual Studio Express 2005 como plataforma, en esta entrega nos ocuparemos de los formularios y los controles más comunes que podemos emplear en nuestras aplicaciones. También veremos cuales son sus propiedades más útiles y como cambiarlas.

Resulta bastante complicado elegir un orden determinado al intentar explicar una herramienta como Visual Studio Express 2005. Nosotros vamos a seguir un camino poco ortodoxo, tomando atajos y tratando temas bastante distintos entre si, pero que nos permitirán crear pequeñas aplicaciones desde el primer día. Como habíamos mencionado, el “marco” encargado de contener a nuestra aplicación será el “formulario”. Cuando arrancamos el Visual Studio y elegimos crear una aplicación para Windows, automáticamente el IDE nos proporciona un formulario con el nombre “Form1”. Este formulario tiene una serie de propiedades que pueden modificarse fácilmente: basta con editar el valor que aparece a la derecha de su nombre. Asumimos que el lector tiene a disposición la ayuda que brinda MSDN Library, que se instala junto a Visual Studio Express, para consultar los detalles de cada propiedad. Solo explicaremos las que vayan siendo necesarias para entender los ejemplos que vayamos planteando. Una de las propiedades que primero cambiamos de un formulario es “Text”. El texto que contiene este campo es el que aparecerá como titulo de nuestra ventana. En la figura siguiente puede verse como hemos hecho que nuestro formulario lleve como titulo la frase “NeoTeo – Visual Basic”:

Page 8: Programar Con Visual Basic

8

Programar con Visual Basic

Por: Ariel Palazzesi

Hemos cambiado el titulo de nuestro formulario.

En Visual Basic también pueden cambiarse el valor de estas propiedades mediante órdenes incluidas en el programa. Por ejemplo, podemos utilizar Me.Text = "NeoTeo - Visual Basic" para lograr el mismo resultado. “Me” es el formulario actual, en este caso representa a Form1. Siempre que el código que escribimos este dentro del mismo formulario, nos referimos a él como “Me”. Luego del “.” viene el nombre de la propiedad que queremos cambiar, en este caso “Text”. Y por ultimo, después del igual y entre comillas (por ser una cadena de texto), “NeoTeo – Visual Basic”, que es el titulo que queremos para nuestra ventana. El resultado puede verse a continuación:

Hemos ingresado código VB.

La forma de escribir el código es muy fácil: basta con hacer un clic en la solapa que lleva el nombre del formulario (en este caso “Form1.vb”). El IDE automáticamente escribe por nosotros los encabezados de los procedimientos, por lo que solo escribimos nuestro código.

Page 9: Programar Con Visual Basic

9

Programar con Visual Basic

Por: Ariel Palazzesi

Desde aqui accedemos al codigo de los controles.

Algunas propiedades solo aceptan valores de verdadero o falso. En esos casos, al hacer clic a la derecha del nombre de la propiedad, se abre un menú con ambas alternativas. Por ejemplo “Locked”, que indica si nuestro formulario podrá o no ser cambiado de tamaño mediante el procedimiento normal de arrastrar con el ratón sus bordes, puede ser configurado como “True” (Verdadero) o “False” (Falso):

Desde aqui elegimos el valor deseado.

Otra propiedad que posiblemente quieras cambiar es “Icon”. Si haces clic sobre ella, se abrirá un cuadro de dialogo que te permite elegir el archivo “.ICO” que desees sea el icono que se muestre en la esquina superior de la ventana:

Page 10: Programar Con Visual Basic

10

Programar con Visual Basic

Por: Ariel Palazzesi

Este cuadro de dialogo permite seleccionar el icono del Form1

Al igual que muchas otras caracteristicas, el tamaño del formulario también puede ser cambiado mediante la modificación de sus propiedades. Y esto puede hacerse desde el código. Bastará con agregar Me.Size.Width = ancho deseado (en pixeles) O Me.Size.Height = altura deseada (en pixeles) donde lo necesitemos. Esto es muy util, ya que nos prorciona un mecanismo dinamico para el cambio de los atributos del formulario en tiempo de ejecucion. Puedes probar agregando Me.Size.Width = 480 (donde 480 es el ancho deseado) y ver que ocurre al correr el programa. Si deseas conocer todos los atributos que puedes modificar de los formularios (¡son muchos!) dale un vistazo a la ayuda. Ahora veremos algunos de los controles disponibles.

Controles

Page 11: Programar Con Visual Basic

11

Programar con Visual Basic

Por: Ariel Palazzesi

Programar con Visual Basic (II) Por: Ariel Palazzesi @ miércoles, 14 de mayo de 2008 Nota vista 3204 veces

Seguimos con el tutorial que nos enseñará a programar en Visual Basic. Utilizando la versión gratuita Visual Studio Express 2005 como plataforma, en esta entrega nos ocuparemos de los formularios y los controles más comunes que podemos emplear en nuestras aplicaciones. También veremos cuales son sus propiedades más útiles y como cambiarlas.

Controles Una de las primeras impresiones que se tiene al entrar al IDE de Visual Studio Express 2005 es que hay controles que no utilizaremos nunca. Sin embargo, con el tiempo vamos viendo que todos son útiles en algún momento, y afortunadamente Microsoft los ha puesto a disposición. Los controles simplemente se arrastran con el ratón desde la paleta que está a la izquierda de la pantalla hasta el formulario. Vamos a probar como hacerlo. Intenta arrastrar 3 botones (Button), una etiqueta (Label), 3 casillas (CheckBoxes) y un cuadro de texto (TextBox). No importa demasiado (por ahora) su posición sobre el formulario, aunque si pones un poco de cuidad, podrás colocarlos tal como se ven en la imagen:

Page 12: Programar Con Visual Basic

12

Programar con Visual Basic

Por: Ariel Palazzesi

Una vez hecho esto, vamos a cambiarles a todos estos controles el texto que muestran. Los vamos seleccionando de a uno, utilizando el ratón, y modificamos en la ventana“propiedades” el valor de la propiedad “Text”. Toma tu tiempo, y haz que tus controles queden tal como se ve aquí:

Los controles han sido modificados.

¿Fácil, verdad? Bien, hemos cambiado el nombre que muestran, aunque los controles todavía tienen nombres tan poco amigables como “Button1” o “CheckBox3”. Por ahora los dejaremos así, pero es bueno que sepas que el nombre también es una propiedad que se puede cambiar. Si bien no hace al aspecto de nuestro programa, el uso de nombres descriptivos para los controles que usamos en nuestra aplicación hará más fácil la confección del programa. Vamos a ver como hacer para que los controles que hemos agregado ejecuten alguna tarea cuando el usuario interactúa con ellos. La forma de hacer esto es, simplemente, escribir el código necesario en el evento deseado. Como siempre, un ejemplo puede resultar mucho más simple de entender. Hagamos que cuando presionamos el tercer botón (el que tiene el texto “Salir”) el programa termine. En BASIC, la instrucción que finaliza la ejecución de un programa es “End”. Para escribir esta instrucción en el evento “Click” del Button3 simplemente le damos

Page 13: Programar Con Visual Basic

13

Programar con Visual Basic

Por: Ariel Palazzesi

doble clic, y el IDE nos posicionará en el lugar correcto. Una vez editado, este debería ser el aspecto del código:

Hay que escribir el código necesario en el evento deseado.

La flecha indica el lugar donde debemos escribir “End”. Como ves, el entorno del Visual Basic ha escrito el encabezado del procedimiento por si solo. Una vez hecho esto, veremos que si corremos el programa, al hacer “clic” sobre el botón “Salir”, el programa termina. Los demás, al no tener código asociado, no efectúan ninguna tarea. Tenemos dos botones mas para “programar”. Aprovechemos para ver como las acciones que se llevan a cabo sobre un control pueden influir en otro. Vamos a darle doble clic al botón “Escribir” para acceder a su evento “clic”, y escribir allí el código necesario para que el TextBox1 (el pequeño cuadro de texto de la parte superior del formulario) muestre el texto “Hola mundo!” cuando lo presionamos. El código debería quedar así:

Page 14: Programar Con Visual Basic

14

Programar con Visual Basic

Por: Ariel Palazzesi

Si ejecutamos el programa, veremos que el cuadro de texto aparece vacio. Al hacer clic sobre “Escribir”, su contenido cambia a “Hola mundo!”. Lo que hemos hecho ha sido modificar el evento “click” del Button1 para que modifique la propiedad “Text” del control TextBox1. Resulta bastante más difícil describir el proceso que llevarlo a cabo. El contenido del TextBox1 puede ser modificado utilizando el ratón y el teclado, editando o copiando su contenido. Pero también podríamos modificarlo mediante código. De la misma manera que programamos el comportamiento del primer botón, podemos modificar el segundo para que al presionarlo limpie el contenido del cuadro de texto. Los pasos son los mismos, pero la cadena asignada a TextBox1.Text debe estar vacía:

La cadena asignada a TextBox1.Text debe estar vacía.

¡Listo! Ahora podemos escribir con un botón, borrar con el otro, y salir con el tercero. Y lo mejor de todo es que hemos escrito muy poco código para lograrlo.

CheckBoxes

Page 15: Programar Con Visual Basic

15

Programar con Visual Basic

Por: Ariel Palazzesi

Programar con Visual Basic (II) - CheckBoxes Por: Ariel Palazzesi @ miércoles, 14 de mayo de 2008 Nota vista 3205 veces

Seguimos con el tutorial que nos enseñará a programar en Visual Basic. Utilizando la versión gratuita Visual Studio Express 2005 como plataforma, en esta entrega nos ocuparemos de los formularios y los controles más comunes que podemos emplear en nuestras aplicaciones. También veremos cuales son sus propiedades más útiles y como cambiarlas.

CheckBoxes Con todo lo visto hasta aquí, no debería resultarnos muy difícil hacer que, si el usuario marca alguno de las casillas del formulario, se modifique el contenido del cuadro de texto. En realidad, el procedimiento es el mismo que hemos empleado para modificar el comportamiento de los primeros dos botones: le damos doble clic al CheckBox que queremos editar, y escribimos el codigo necesario. Por ejemplo, en la figura siguiente vemos como hacer para que el al marcar el CheckBox1 el TextBox1 muestre la palabra “Rojo”:

Escribimos el codigo necesario.

Si ejecutamos el programa y efectivamente seleccionamos “Rojo”, el resultado será el siguiente:

Page 16: Programar Con Visual Basic

16

Programar con Visual Basic

Por: Ariel Palazzesi

Todo parece funcionar correctamente.

Ya puedes modificar por ti mismo los otros tres para que escriban “Verde”, “Amarillo” y “Azul”. También puedes comprobar que el botón “Borrar” sigue borrando el contenido del TextBox1, y que el botón “Escribir” escribe “Hola mundo!” independientemente del contenido del cuadro de texto. El código completo debería verse así:

Modificamos los otros tres controles.

Por supuesto, el programa tiene un defecto: El TextBox1 escribe lo que le pedimos al hacer clic, independientemente de que estemos marcando o desmarcando el CheckBoxcorrespondiente. Por supuesto, no es un problema de Visual Basic (que hace exactamente lo que le hemos indicado), sino de nuestro código, que no tiene en cuenta esta situación. En entregas siguientes, cuando conozcamos las instrucciones necesarias para la toma de decisiones, veremos como podemos mejorar nuestro pequeño programa de

Page 17: Programar Con Visual Basic

17

Programar con Visual Basic

Por: Ariel Palazzesi

ejemplo. Por hoy hemos terminado. Seria interesante que, mientras preparamos la próxima entrega, realices muchas pruebas con los controles que hemos visto, y si te surgen inquietudes, las plantees como comentarios en este articulo. Prometemos responder a todas las consultas.

Page 18: Programar Con Visual Basic

18

Programar con Visual Basic

Por: Ariel Palazzesi

Programar con Visual BASIC (III) Por: Ariel Palazzesi @ martes, 10 de junio de 2008 Nota vista 5969 veces

Continuamos aprendiendo a programar con Visual BASIC Studio. En esta tercera entrega dejaremos por un momento los controles de lado, para concentrarnos en las sentencias destinadas a controlar el flujo del programa.

Seguimos con el tutorial.

Sentencias para el control del programa Este grupo de instrucciones pueden modificar el orden en que se ejecutan las demás sentencias que componen nuestro programa. Básicamente, existen dos grupos de instrucciones que pueden llevar a cabo estas tareas: las que determinan la ejecución de un trozo de código tomando una decisión, y las que permiten repetir un grupo de sentencias un número determinado de veces. Comenzaremos analizando las del primer grupo. Sentencias de decisión Una instrucción de este tipo representa una división en el flujo normal del programa. A partir del punto del código en que escribimos una instrucción de este tipo se produce una “división” en dos o mas alternativas. Del resultado de la evaluación de una condición (que forma parte de la sentencia de decisión) dependerá cual de las alternativas es la que finalmente se ejecuta. Dentro de este grupo veremos las sentencias If, Choose y Select Case. Comencemos.

Enlaces Curso Visual BASIC, primera parte Curso Visual BASIC, segunda parte

Page 19: Programar Con Visual Basic

19

Programar con Visual Basic

Por: Ariel Palazzesi

MSDN es una buena fuente de ayuda. ¡Tengamoslo presente!

If…Then de una línea

Page 20: Programar Con Visual Basic

20

Programar con Visual Basic

Por: Ariel Palazzesi

Programar con Visual BASIC (III) - If…Then

Por: Ariel Palazzesi @ martes, 10 de junio de 2008 Nota vista 5971 veces

Continuamos aprendiendo a programar con Visual BASIC Studio. En esta tercera entrega dejaremos por un momento los controles de lado, para concentrarnos en las sentencias destinadas a controlar el flujo del programa.

If…Then Existen varias maneras de utilizar esta sentencia. Su forma más simple ocupa solo una línea de código, y tiene la forma siguiente: If condición then sentencia A menudo los programadores se refieren a este formato como “If de una línea”, y se emplea generalmente para asignar un valor a alguna variable cuando se da una condición determinada. Veamos un ejemplo. Supongamos que si la edad de una persona es mayor a 18 años, debemos guardar en la variable “sujeto_estado” el valor “adulto”. La edad de la persona esta almacenada en la variable “sujeto_edad”. La sentencia If que realiza esta comprobación y (eventual) asignación es la siguiente: If sujeto_edad > 18 then sujeto_estado = “adulto” La sentencia en cuestión, en caso de que la condición sea verdadera (es decir, que la edad del sujeto sea mayor a 18 años), ejecuta la asignación que se encuentra a la derecha del “then”, haciendo que sujeto_estado contenga la cadena “adulto”. Y luego continuará con la sentencia siguiente. En caso de que “sujeto_edad” sea igual o menor a 18, el programa continuará con la sentencia siguiente a la del ejemplo sin realizar ninguna asignación.

Hay una variación posible al “If de una línea”, y consiste en el agregado de la cláusula “else”. Dicha sentencia tiene la siguiente forma: If condición then sentencia1 else sentencia2 Este tipo de construcción es muy útil cuando, en función del resultado que arroje la evaluación de la condición deban ejecutarse uno u otro (pero no ambos) grupo de instrucciones. Nuevamente, un ejemplo nos aclarará mejor la cuestión. Supongamos que queremos asignar a la variable sujeto_estado el valor “adulto” o “niño” dependiendo si es mayor o no de 18 años. Nuestro “If de una línea” quedará como sigue:

Page 21: Programar Con Visual Basic

21

Programar con Visual Basic

Por: Ariel Palazzesi

If sujeto_edad > 18 then sujeto_estado = “adulto” else sujeto_estado = “niño”

Al ejecutar esa línea, Visual BASIC decidirá si la condición es o no verdadera, y en función del resultado ejecutará la asignación que se encuentra a la derecha del ”then” o la que está después del “else”. Independientemente de cual sea el resultado, el programa (luego de realizar la asignación correspondiente) seguirá con la línea siguiente a la del “if…”. Por supuesto, nada de esto sirve cuando necesitamos, luego de evaluar una condición, ejecutar un grupo de instrucciones y no solamente una. En esos casos, si el número de instrucciones es pequeño, podemos optar por separarlas por dos puntos: If condición then sentencia1 : sentencia2 : sentencia3 : …. En caso de que la condición sea verdadera, se ejecutarán todas las sentencias que están luego del “then”, en riguroso orden de izquierda a derecha. El mismo truco puede emplearse para colocar varias sentencias después del “else”.

Pero aún así, hay casos en que esto no basta. Veamos que podemos hacer.

Page 22: Programar Con Visual Basic

22

Programar con Visual Basic

Por: Ariel Palazzesi

Varias lineas

Programar con Visual BASIC (III) Por: Ariel Palazzesi @ martes, 10 de junio de 2008 Nota vista 5972 veces

Continuamos aprendiendo a programar con Visual BASIC Studio. En esta tercera entrega dejaremos por un momento los controles de lado, para concentrarnos en las sentencias destinadas a controlar el flujo del programa.

Visual BASIC es un lenguaje muy extenso.

Por ejemplo, no podemos poner otra sentencia “If…” a continuación del “then” o “else”. Para estos casos tenemos la “versión larga” del “If…”, que ocupa todas las líneas que haga falta, y que, en la practica, es la que más utilizaremos. El formato de esta alternativa es la siguiente: If condición then sentencia1 sentencia2 sentencia3 …. End If El funcionamiento es el mismo que cuando utilizamos los “:” en la versión de una sola linea para separar las sentencias unas de otras, pero se agrega la clausula “End If” al final para que el compilador sepa donde termina el bloque de instrucciones correspondientes al “If…” y donde comienzan las que pertenecen al resto del programa. Si realizamos el ejemplo anterior con este formato, nos quedaría: If sujeto_edad > 18 then sujeto_estado = “adulto” End If Ahora ya sabes por que, cada vez que pueden, los programadores eligen el “If de una línea”. Pero donde realmente se luce es en los casos que el código a ejecutar es mas extenso, ya que no solo permite un numero (teóricamente) infinito de sentencias de todo tipo en su interior, si no que es mucho más legible que el “If de una línea” con

Page 23: Programar Con Visual Basic

23

Programar con Visual Basic

Por: Ariel Palazzesi

sentencias separadas por “:”. Y por supuesto, puede usarse con el “Else”: If condición then Sentencia_v1 Sentencia_v2 Sentencia_v3 …. Else Sentencia_f1 Sentencia_f2 Sentencia_f3 …. End If Pero lo más interesante es que pueden “anidarse” sentencias condicionales, unas dentro de otras. Eso permite la toma de decisiones realmente complejas. Y si somos ordenados (comentando e indentando el código a conciencia), el programa seguirá siendo legible a pesar de la longitud que pueda tener. Veamos un ejemplo. Supongamos que tenemos una variable, llamada “sujeto_sexo”, cuyo valor puede ser “H” o “M” (por “Hombre”o “Mujer”), y otra llamada “sujeto_edad” que contiene (¡como no!) la edad del sujeto. El siguiente código: If sujeto_sexo = “H” then ‘Si el sujeto es HOMBRE If sujeto_edad > 18 then ‘Y tiene más de 18 años… sujeto = “Varón mayor de edad” Else ‘Si no…. Sujeto = “Varón menor de edad” End If Else ‘Si el sujeto es MUJER If sujeto_edad > 18 then ‘Y tiene más de 18 años… sujeto = “Mujer mayor de edad” Else ‘Si no…. Sujeto = “Mujer menor de edad” End If End If coloca en la variable “sujeto” una descripción de la persona basada en los datos conocidos. Puede verse en que forma se han “anidado” un If dentro de otro. La indentación del código permite identificar fácilmente cada parte del programa.

Page 24: Programar Con Visual Basic

24

Programar con Visual Basic

Por: Ariel Palazzesi

Los "if" pueden anidarse.

IIF, el "If...then" sin "then"

Page 25: Programar Con Visual Basic

25

Programar con Visual Basic

Por: Ariel Palazzesi

Programar con Visual BASIC (III) - IIF Por: Ariel Palazzesi @ martes, 10 de junio de 2008 Nota vista 5973 veces

Continuamos aprendiendo a programar con Visual BASIC Studio. En esta tercera entrega dejaremos por un momento los controles de lado, para concentrarnos en las sentencias destinadas a controlar el flujo del programa.

IIF Para terminar con el capitulo dedicado a esta indispensable instrucción, aprenderemos a utilizar el “If…” como función. Efectivamente, es posible utilizar esta sentencia como si fuese una función. Luego de ser evaluada la condición, devuelve en la variable el valor que se encuentra después de la primer “,” (condición verdadera) o el que se encuentra después de la segunda (condición falsa). La forma es la siguiente: Variable = IIF(condición, valor1, valor2) Esta puede ser una herramienta interesante, y en muchos casos puede reemplazar al “If de una línea”. Veamos uno de los ejemplos anteriores, aquel en que la variable sujeto_estado adquiere el valor “adulto” o “niño” dependiendo si es mayor o no de 18 años, “traducido” a este nuevo formato: sujeto_estado = IIF ( sujeto_edad > 18, “adulto”, “niño”) Como puede verse, una vez comprendida la sintaxis puede ser una buena forma de escribir un código claro. Pero no terminan aquí las ventajas del IFF. También puede formar parte de otras sentencias, como el FOR…NEXT. Aún a riesgo de adelantarnos, veamos como podríamos hacer un bucle que cuente hasta 20 o hasta 50 dependiendo del valor de una variable: For i = 1 to IFF(variable = 1, 20, 50) …. …. …. Next i

Page 26: Programar Con Visual Basic

26

Programar con Visual Basic

Por: Ariel Palazzesi

IFF: otra forma de hacer lo mismo.

Si “variable” es 1, el bucle se ejecutará 20 veces. Caso contrario, se ejecutará 50. El código equivalente, de no existir el IFF podría escribirse así: If variable = 1 then For i = 1 to 20 …. …. …. Next i Else For i = 1 to 50 …. …. …. Next i End If O asi: If variable = 1 then limite = 20 else limite = 50 For i = 1 to limite …. …. …. Next i Como puede verse, la forma mas corta de todas es la que emplea el IFF. Conclusión Hemos aprendido como hacer que nuestro programa pueda “tomar decisiones” utilizando algunas de las varias formas que posee la sentencia “if…then”. A medida que vayamos escribiendo nuestros propios programas seremos capaces de

Page 27: Programar Con Visual Basic

27

Programar con Visual Basic

Por: Ariel Palazzesi

determinar rápidamente cual es la más conveniente en cada ocasión. En breve veremos como se emplean las restantes.

Hay muy pocos programas que no usen "If..then".

Page 28: Programar Con Visual Basic

28

Programar con Visual Basic

Por: Ariel Palazzesi

Programar con Visual BASIC (IV) Por: Ariel Palazzesi @ martes, 24 de junio de 2008 Nota vista 4259 veces

Seguimos avanzando en la comprensión de esta fantástica herramienta. Continuaremos analizando en profundidad las sentencias destinadas a controlar el flujo del programa, y proporcionando ejemplos que sirvan para su mejor entendimiento. En esta oportunidad, explicaremos como sacar provecho aChoose() y Select Case.

Visual Basic Просмотр & Совм Ресурс мил. видео Ежедневн загрузка 100% Бесплатно! 4dh.com/Video

También puedes programar juegos en VB2005.

Como hemos visto, existe un grupo de instrucciones que tienen la capacidad de modificar el orden en que se ejecutan las demás sentencias de nuestro programa. En la entrega anterior aprendimos a utilizar “If…Then”, la instrucción de este tipo que se utiliza con mayor frecuencia. Hoy veremos las dos restantes: Choose()y Select Case. Choose() Esta función recibe una lista de parámetros, de los cuales el primero se utiliza como índice para determinar cual de los demás se devuelve al ser evaluada. Esto puede parecer difícil de entender, pero en realidad, como demostraremos con los ejemplos, es muy simple. El formato de Choose() es el siguiente: Variable1 = Choose (indice, valor1, valor1, valor1, valor1,…., valorN) Al ejecutarse esta sentencia, “Variable1” tomará alguno de los valores de la serie “Valor1” a “ValorN”. El contenido de la variable “indice” será el que determine cual resulta elegido: si “indice” es igual a 1, Choose() hará que “Variable1” tome el valor de “Valor1”; si “indice” es igual a 2 tomará el de “Valor2”; y así sucesivamente. Pero un ejemplo nos ayudara aún más a comprender el funcionamiento de Choose():

Page 29: Programar Con Visual Basic

29

Programar con Visual Basic

Por: Ariel Palazzesi

supongamos que tenemos que elegir un color de una lista, donde el valor 1 está asignado al color rojo, el 2 al verde y el 3 al azul. Y queremos que la variable “Variable1” almacene la palabra “rojo”, “verde” o “azul” en función del valor de la variable “color”. Usando Choose(), se haría de la siguiente forma: variable1 = Choose(color, "rojo", "verde", "azul")

El contenido de la variable "indice" determinará la respuesta.

Si hubiésemos querido hacer lo mismo utilizando “If…Then”, el programa sería mucho mas extenso (y quizás mas confuso): Dim variable1 As String Dim color As Integer color = 2 If color = 1 Then variable1 = "rojo" Else If color = 2 Then variable1 = "verde" Else 'asumo que si color no es 1 ni 2, es 3. variable1 = "azul" End If End If

Page 30: Programar Con Visual Basic

30

Programar con Visual Basic

Por: Ariel Palazzesi

Distinto programa, mismo resultado.

Select Case

Page 31: Programar Con Visual Basic

31

Programar con Visual Basic

Por: Ariel Palazzesi

Programar con Visual BASIC (IV) Select Case Por: Ariel Palazzesi @ martes, 24 de junio de 2008 Nota vista 4261 veces

Seguimos avanzando en la comprensión de esta fantástica herramienta. Continuaremos analizando en profundidad las sentencias destinadas a controlar el flujo del programa, y proporcionando ejemplos que sirvan para su mejor entendimiento. En esta oportunidad, explicaremos como sacar provecho aChoose() y Select Case.

Un plugin permite programar para BlackBerry.

Esta instrucción es ideal para utilizar en aquellas situaciones en que debemos elegir una alternativa de entre muchas. Si bien Choose() hace mas o menos esto mismo (“If…Then” también), por lo general “Select Case” resulta más fácil de leer. Particularmente, yo prefiero utilizar “Choose()” cuando quiero que el código (fuente) sea compacto, y “Select Case” cuando hay muchas alternativas, pero cada programador elije la forma que cree más conveniente. Su formato es el siguiente: Select Case <expresión a evaluar> Case <lista de expresiones1> 'Instrucciones a ejecutar Case <lista de expresiones2> 'Instrucciones a ejecutar Case <lista de expresiones3> 'Instrucciones a ejecutar Case <lista de expresionesN> 'Instrucciones a ejecutar Case Else 'Instrucciones a ejecutar si no se cumple ' ninguna de las listas de expresiones anteriores End Select La <expresión a evaluar> puede ser algo tan simple como una variable, o una expresión más compleja que Visual Basic resolverá antes de elegir que grupo de instrucciones ejecutar. Las <lista de expresiones> que siguen a cada sentencia

Page 32: Programar Con Visual Basic

32

Programar con Visual Basic

Por: Ariel Palazzesi

“Case” se evalúan, y de ser verdaderas (solo debería serlo una de ellas) se ejecutan las sentencias que estén a continuación. En caso de que ninguna de las <lista de expresiones> sea verdadera, se ejecutan las instrucciones que están a continuación del “Case Else”. Esta sección no es obligatoria. Si no existe “Case Else” y ninguna de las <lista de expresiones> es verdadera, el programa no ejecutará nada de lo que hay dentro de la estructura. Veamos como podríamos resolver el ejemplo de los colores visto antes, usando Select Case: Select Case color Case 1 variable1 = "rojo" Case 2 variable1 = "verde" Case 3 variable1 = "azul" End Select

Seleccionando colores con Select Case.

Si quisiésemos que, cuando “color” tiene un valor distinto de 1, 2 o 3 “Variable1” fuese igual a la palabra “Error”, podemos agregar la sección “Case Else”: Select Case color Case 1 variable1 = "rojo" Case 2 variable1 = "verde" Case 3

Page 33: Programar Con Visual Basic

33

Programar con Visual Basic

Por: Ariel Palazzesi

variable1 = "azul" Case Else variable1 = "Error" End Select Respecto de las expresiones que pueden utilizarse a continuación de las cláusulas “Case”, no tiene por que ser necesariamente un numero. Supongamos que queremos que si “color” vale 1,2 o 3, “Variable1” sea igual a “Correcto”. No necesitamos usar tres “Case” diferentes, sino que podemos hacerlo en uno solo, separando los valores por comas. Quedaría así: Select Case color Case 1,2,3 variable1 = "Correcto" Case Else variable1 = "Error" End Select

Siempre podemos agregar la sección “Case Else”.

Más Select Case

Page 34: Programar Con Visual Basic

34

Programar con Visual Basic

Por: Ariel Palazzesi

Programar con Visual BASIC IV Mas Select Case Por: Ariel Palazzesi @ martes, 24 de junio de 2008 Nota vista 4262 veces

Seguimos avanzando en la comprensión de esta fantástica herramienta. Continuaremos analizando en profundidad las sentencias destinadas a controlar el flujo del programa, y proporcionando ejemplos que sirvan para su mejor entendimiento. En esta oportunidad, explicaremos como sacar provecho aChoose() y Select Case.

En estos casos, donde queremos hacer lo mismo para un grupo de valores comprendidos en un rango determinado, también podemos utilizar la cláusula “To”. El siguiente código hace exactamente lo mismo que el visto recién: Select Case color Case 1 To 3 variable1 = "Correcto" Case Else variable1 = "Error" End Select Resulta evidente que su la lista de valores es larga, “To” simplifica mucho el código.

También podemos utilizar la cláusula “To”.

En todos los ejemplos vistos, hemos efectuado alguna acción cuando el valor de <expresión a evaluar> es igual a un valor determinado. Pero puede darse el caso de que necesitemos hacer algo cuando la <expresión a evaluar> sea mayor, menor o diferente a un valor determinado. Para ello, debemos utilizar el operador “Is”. Literalmente, el significado, en español, de este operador es “Es”. Su uso brinda una gran flexibilidad a la <expresión a evaluar>. Veamos un ejemplo:

Page 35: Programar Con Visual Basic

35

Programar con Visual Basic

Por: Ariel Palazzesi

Select Case numero Case Is < 11 variable1 = "Primera decena" Case Else variable1 = "mayor de 10" End Select El código anterior guardará en “Variable1” el texto "Primera decena" solo cuando el valor de “numero” sea menor a 11 (es decir, este comprendido entre 0 y 10).

El significado, en español, de este operador es “Es”.

Para terminar con “Select Case”, vamos a resolver un problema utilizando todo lo visto hasta aquí. Supongamos por un momento que en un variable tenemos la edad de una persona, y que debemos, en función de su valor, determinar que en que tipo de establecimiento educativo se encuentra cursando sus estudios (por supuesto, los valores y tipos de establecimientos son completamente ficticios). Mira el código fuente siguiente e intenta comprender que hace cada línea: Dim variable1 As String Dim edad As Integer edad = 20 Select Case edad Case 0, 1, 2 variable1 = "No escolarizado" Case 3, 4, 5 variable1 = "Preescolar" Case 6 To 12 variable1 = "Escuela" Case 13 To 18

Page 36: Programar Con Visual Basic

36

Programar con Visual Basic

Por: Ariel Palazzesi

variable1 = "Colegio" Case 19 To 25 variable1 = "Universidad" Case Is > 25 variable1 = "No escolarizado" Case Else variable1 = "¡No puede tener menos de CERO años!" End Select Seguramente podrás descubrir, leyendo el programa, cual es el valor de “Variable1” una vez ejecutado el código anterior, verdad?

Intenta comprender que hace cada línea.

Con esto terminamos este capitulo de nuestro pequeño curso de programación. La semana próxima comenzaremos con las sentencias capaces de hacer que una porción de nuestro código se repita la cantidad de veces que necesitemos. Mientras tanto, intenta aplicar lo aprendido para fijar los conceptos. ¡Hasta la próxima!

Page 37: Programar Con Visual Basic

37

Programar con Visual Basic

Por: Ariel Palazzesi

Programar con Visual BASIC (V)

Por: Ariel Palazzesi @ martes, 08 de julio de 2008 Nota vista 4084 veces

En la quinta entrega de éste tutorial comenzaremos a analizar las diferentes instrucciones que Visual BASIC dispone para la construcción de bucles (o reiteraciones). Su comprensión nos ayudará a crear programas capaces de realizar tareas más complejas y útiles.

Es muy difícil encontrar un proceso de datos que requiera de algún tipo de repetición. Si solo tuviésemos que llevar a cabo una acción determinada en dos o tres oportunidades, podríamos limitarnos a repetir el código en cuestión la cantidad necesaria de veces. Esto funcionaria, a pesar de que a un programador “serio” le produciría dolor de estomago. Pero si necesitamos efectuar un proceso sobre, digamos, un millón de registros, la solución anterior, además de ser muy poco eficaz, es absolutamente impracticable. Para resolver estas situaciones, los lenguajes de programación proporcionan una serie de instrucciones destinadas a la repetición de porciones de código. Si bien todas ellas hacen básicamente lo mismo, tienen sutiles diferencias que hacen, frente a un determinado problema, unas mas apropiadas que otras.

FOR-NEXT Esta quizás sea la estructura de este tipo mas conocida. De hecho, se encuentra presente en los dialectos BASIC desde los orígenes de este lenguaje. Su formato es el siguiente: For variable = valor_inicial To valor_final Step incremento Instrucciones Next variable donde “variable” irá cambiando su valor a lo largo de la ejecución del bucle For-Next, comenzando con “valor_inicial” hasta “valor_final”, en incrementos de “incremento”. Por cada valor que asuma “variable”, la(s) instrucción(es) que se encuentran entre el For y el Next se ejecutarán una vez. ¿Confuso? Seguramente el ejemplo siguiente te aclarará las cosas. Supongamos que queremos sumar los números enteros de 1 a 10 (ambos inclusive). Usando For-Next podríamos hacerlo así: Dim i, suma As Integer suma = 0 For i = 1 To 10 Step 1 suma = suma + i

Page 38: Programar Con Visual Basic

38

Programar con Visual Basic

Por: Ariel Palazzesi

Next i En primer lugar, declaramos la variable “i”, que será la que controlara el bucle, y la variable “suma” (guardará el total de la suma) como enteras. Luego, hacemos que suma sea igual a cero. Esto no es indispensable, por que el compilador la inicializa por defecto con ese valor, pero es recomendable tener a la vista ese dato. Luego, tenemos el bucle for-Next propiamente dicho. Vemos que “i” adoptará valores desde 1 hasta 10, incrementándose en 1 cada iteración. La sentencia “suma = suma + i” se ejecutará 10 veces, sumando cada vez el valor de “i” en la variable suma. “i” tomará valores 1, 2, 3, 4, 5, 6, 7, 8, 9 y 10, mientras que “suma” será 1, 3, 6, 10, 15, 21, 28, 36, 45 y 55.

Nuestro primer For-Next.

Colocar el nombre de la “variable” a continuación del Next es opcional. Pero a pesar de no ser obligatorio, es una buena práctica hacerlo, ya que en aquellos programas en que se emplean varios bucles, uno dentro de otro, ayuda a identificar a que For corresponde cada Next. Cuando el incremento de la “variable” es 1, como en el ejemplo anterior, tampoco hace falta poner “Step 1”, ya que el compilador lo hace por defecto. Digamos que si queremos escribir lo menos posible, nuestro ejemplo podría quedar como sigue: Dim i, suma As Integer For i = 1 To 10 suma = suma + i Next En programas tan sencillos, podemos omitir todas estas cuestiones que son opcionales. Pero si nuestro programa es muy extenso, o si debe ser modificado o

Page 39: Programar Con Visual Basic

39

Programar con Visual Basic

Por: Ariel Palazzesi

leído por otra persona, conviene incluir todo lo necesario para que su comprensión sea más fácil. La declaración del tipo de la “variable” puede hacerse dentro del mismo “For”, lo que compacta un poco más el código: Dim suma As Integer For i As Integer = 1 To 10 suma = suma + i Next Personalmente, me gusta ésta forma de declarar la variable usada en el bucle.

La declaración de la variable puede hacerse dentro del mismo “For”

Otras alternativas

Page 40: Programar Con Visual Basic

40

Programar con Visual Basic

Por: Ariel Palazzesi

Programar con Visual BASIC (V) Alternativas

Por: Ariel Palazzesi @ martes, 08 de julio de 2008 Nota vista 4087 veces

En la quinta entrega de éste tutorial comenzaremos a analizar las diferentes instrucciones que Visual BASIC dispone para la construcción de bucles (o reiteraciones). Su comprensión nos ayudará a crear programas capaces de realizar tareas más complejas y útiles.

También puede ser útil construir bucles que modifiquen el valor de la “variable” de forma decreciente. Esto es posible gracias a que el valor a continuación del Step puede ser negativo. Si se da esta condición, el valor de la “variable” se decrementa en cada iteración. Veamos un ejemplo: Dim suma As Integer For i As Integer = 100 To 0 Step -2 suma = suma + i Next

En este caso, el valor inicial de “i” será 100, ira descendiendo de a dos unidades en cada iteración, y la última se producirá cuando el valor de “i” sea igual a cero. La variable “suma” va incrementando su valor en cada pasada, y al finalizar contiene la suma de los números pares que se encuentran entre el 0 y el 100, ambos inclusive. Puedes comprobarlo, el resultado final de “suma” será 2550.

La prueba: el resultado final de “suma” es 2550.

Page 41: Programar Con Visual Basic

41

Programar con Visual Basic

Por: Ariel Palazzesi

Por supuesto, en ese caso el “valor_inicial” debe ser mayor que el “valor_final”, si no nuestro bucle no se ejecutará ni una vez. Esto plantea un tema interesante: puede darse el caso de que un bucle no se ejecute ninguna vez, ya que sus valores iniciales son tales que lo hacen imposible. La situación se produce cuando, al principio del bucle, Visual Basic evalúa los valores de “variable”, “valor_inicial”,“valor_final” e “incremento” y descubre que se ha alcanzado el máximo valor posible, saltando a la instrucción que sigue al Next. Por ejemplo, el siguiente código no realiza ninguna suma, ya que el valor inicial es inferior al final, y el incremento es negativo: Dim suma As Integer For i As Integer = 1 To 10 Step -2 suma = suma + i Next

Este código no realiza ninguna suma.

Nada impide utilizar valores no enteros en cualquiera de los parámetros del For-Next. Supongamos que, siguiendo con las sumas, queremos sumar los valores comprendidos entre 0 y 10, de 0.1 en 0.1: Dim suma, i As Double For i = 0 To 10 Step 0.1 suma = suma + i Next (nótese el detalle de que hemos declarado las variables como “Double”). El código anterior sumará 0.0, 0.1, 0.2, etc hasta 10.0 . El resultado, como se ve en la imagen siguiente es 505.

Page 42: Programar Con Visual Basic

42

Programar con Visual Basic

Por: Ariel Palazzesi

Código y resultado de la ejecución.

Por supuesto, todos los parámetros de un For-Next pueden ser variables. Esto le otorga una gran flexibilidad a nuestros programas, ya que permite construir bucles cuyo numero de ejecuciones dependa, por ejemplo, del numero de productos que contiene una base de datos, o de los días que tiene el mes en curso. El ejemplo siguiente ilustra esta posibilidad: Dim suma, i, inicio, final, incremento As Double inicio = 85.7 final = 100.8 incremento = 0.1 For i = inicio To final Step incremento suma = suma + i Next i Por supuesto, como dijimos antes, si no se es cuidadoso se puede terminar con un bucle que no se ejecute ni una vez. Dato curioso: el resultado, que debería ser 14.174 tiene un pequeño error de redondeo.

Page 43: Programar Con Visual Basic

43

Programar con Visual Basic

Por: Ariel Palazzesi

¡Ops! Un error de redondeo.

Por ultimo, hay un par de instrucciones que pueden alterar el número de veces que se va a repetir el contenido de un bucle For-Next. Supongamos que queremos sumar los números enteros hasta que la suma sea superior a 1000. Salvo que seamos muy buenos con la matemática, no tenemos forma de conocer cual será el “valor_final” de nuestra cuenta. Pero con “Exit For” podemos abortar el For-Next cuando queramos. Si Visual BASIC se encuentra con esta instrucción, inmediatamente pasa a la instrucción posterior al Next, sin importar que se haya alcanzado el “valor_final” elegido o no. Así es como se usa: Dim suma, i, inicio, final, incremento As Double inicio = 1 final = 1000 incremento = 1 For i = inicio To final Step incremento suma = suma + i If suma >= 1000 Then Exit For End If Next i Usando el IF-THEN que vimos en una entrega anterior, preguntamos si la suma ya es igual o superior a 1000. En caso de que sea así, ejecutamos el Exit For para

Page 44: Programar Con Visual Basic

44

Programar con Visual Basic

Por: Ariel Palazzesi

abandonar el bucle. En la imagen siguiente puede verse el resultado del programa, y también que “i” sólo ha necesitado incrementarse 35 veces.

Exit For en acción.

For-Next tiene una variante que permite recorrer los ítems de una colección, mediante For-Each. Cuando hayamos visto que son y como se emplean las colecciones, volveremos sobre For-Next para explicar este ultimo aspecto. Con esto terminamos la quinta entrega de nuestro tutorial. En la siguiente veremos los demás tipos de bucles que podemos emplear en nuestros programasVisualBASIC.

Page 45: Programar Con Visual Basic

45

Programar con Visual Basic

Por: Ariel Palazzesi

Programar con Visual BASIC (VI)

Por: Ariel Palazzesi @ martes, 22 de julio de 2008 Nota vista 4403 veces

Tal como habíamos prometido, en esta entrega del tutorial deVisual Basic veremos el resto de los bucles de control. Se trata de las instrucciones del tipo “Do…Loop” (y sus variantes) y “While…End”. También veremos como funciona “GoTo”, que tiene el honor de ser una de las instrucciones más polémicas de todos los lenguajes de programación.

En la quinta entrega de este pequeño tutorial, vimos que con FOR…NEXT podíamos resolver aquellas situaciones en las que un grupo de instrucciones debían repetirse un numero determinado de veces. Pero existen otras situaciones, y aparecen con mucha frecuencia, en las que no se conoce de antemano el número de iteraciones que debería tener nuestro bucle. A pesar de que un programador con experiencia siempre encontrará la forma de afrontar esas situaciones haciendo uso de FOR…NEXT, resulta mas fácil, apropiado y eficiente emplear las instrucciones que el repertorio sentencias de Visual Basic pone a nuestra disposición. Veamos cuales son.

Do…Loop El bucle DO...LOOP es muy versátil. Tanto, que puede reemplazar a FOR…NEXT en casi todos los casos. Con él se pueden crear una gran variedad de bucles diferentes, dependiendo si comprueban una condición antes de ejecutar el bucle una vez; después de la primera ejecución; mientras que se cumple la condición o hasta que la mencionada condición se cumpla. La sintaxis básica de esta estructura es la siguiente: Do Instrucciones… [Exit Do] Instrucciones… Loop Esta es la forma más simple de escribir este tipo de bucle. Las instrucciones comprendidas entre el Do y el Loop se ejecutaran indefinidamente. Resulta muy apropiado para aquellos casos en que nuestro programa se encuentra esperando que ocurra alguna situación determinada, a la vez que repite un grupo de instrucciones. La opción “Exit Do” permite abandonar el bucle cuando lo deseemos. En general, una sentencia “If…Then” comprueba el valor de alguna expresión, y cuando dicha expresión es verdadera, se ejecuta el “Exit Do”. El siguiente ejemplo ilustra este caso: Dim edad As Integer

Page 46: Programar Con Visual Basic

46

Programar con Visual Basic

Por: Ariel Palazzesi

edad = 20 Do edad = edad - 1 If edad = 0 Then Exit Do End If Loop Como puede verse, el bucle se repetirá mientras que el valor de “edad” sea diferente de cero. Cuando esto ocurre, la condición que evalúa el “If…Then” será verdadera y el control del programa saltará a la instrucción que haya a continuación del “Loop”.

La opción “Exit Do” permite abandonar el bucle cuando lo deseemos.

La segunda forma en que se puede escribir un bucle “Do…Loop” es la que sigue: Do { While | Until } condición Instrucciones… [Exit Do] Instrucciones… Loop Por supuesto, no podemos utilizar “While” y “Until” a la vez. En esta forma del bucle, la condición se evalúa al comienzo del mismo. En el caso de utilizar la opción “While”, el bucle se repetirá mientras que la condición sea verdadera. Podemos escribir el ejemplo anterior utilizando esta posibilidad: Do While edad <> 0 edad = edad - 1 Loop

Page 47: Programar Con Visual Basic

47

Programar con Visual Basic

Por: Ariel Palazzesi

Como puede verse, es mucho más simple utilizar “While” que “If…Then” y “Exit Do”. Aclaramos que la condición evalúa que edad sea diferente de cero. También podríamos haber resuelto el problema con el uso de “Until”: Do Until edad = 0 edad = edad - 1 Loop En este caso, el bucle se repetirá hasta que edad sea igual a cero. En estos dos ultimo ejemplos puede darse el caso de que, si edad es igual a cero cuando se llega a la instrucción “Do”, las instrucciones existentes en el interior del bucle no se ejecuten nunca.

El bucle se repetirá hasta que edad sea igual a cero.

La tercera forma que puede adoptar el bucle que estamos analizando es la siguiente: Do Instrucciones… [Exit Do] Instrucciones… Loop { While | Until } condición Como puede verse, se ha delegado la capacidad de evaluar la condición al final del bucle. Esto tiene la particularidad de permitir que el grupo de instrucciones existentes en el interior del bucle se ejecuten al menos una vez, independientemente de que la condición a evaluar sea o no verdadera. Nuestro ejemplo podría resolverse así: Dim edad As Integer edad = 20

Page 48: Programar Con Visual Basic

48

Programar con Visual Basic

Por: Ariel Palazzesi

Do edad = edad - 1 Loop Until edad = 0 O asi: Dim edad As Integer edad = 20 Do edad = edad - 1 Loop While edad <> 0

Se puede evaluar la condición al final del bucle.

En todos los casos puede utilizarse, entre las instrucciones que están dentro del bucle, la sentencia “Continue Do”, que hace que el control del programa salte nuevamente al “Do…”, repitiendo el ciclo actual. Veamos ahora como utilizar “While…End”

While…End

Page 49: Programar Con Visual Basic

49

Programar con Visual Basic

Por: Ariel Palazzesi

Programar con Visual BASIC (VI) While…End

Por: Ariel Palazzesi @ martes, 22 de julio de 2008 Nota vista 4405 veces

Tal como habíamos prometido, en esta entrega del tutorial deVisual Basic veremos el resto de los bucles de control. Se trata de las instrucciones del tipo “Do…Loop” (y sus variantes) y “While…End”. También veremos como funciona “GoTo”, que tiene el honor de ser una de las instrucciones más polémicas de todos los lenguajes de programación.

Si comprendiste la forma en que funciona el bucle "Do… Loop" con la opción “While”, no tendrás ninguna dificultad en aprender a usar “While…End”. “While…End” tiene la siguiente estructura: While condición Instrucciones… [Exit While] Instrucciones… [Continue While] Instrucciones… End While Lo primero que notamos es que en este bucle también existe la posibilidad de abandonarlo en cualquier momento, gracias a “Exit While”; y que, al igual que antes, la sentencia “Continue While” Este es el tipo de bucle que debemos usar si deseamos repetir un conjunto de instrucciones un número indefinido de veces. Esto ocurrirá mientras la condición sea verdadera. Es menos flexible que “Do...Loop”, pero a muchas personas les resulta más sencillo de utilizar.

Page 50: Programar Con Visual Basic

50

Programar con Visual Basic

Por: Ariel Palazzesi

No tendrás ninguna dificultad en aprender a usar “While…End”.

Su funcionamiento es el siguiente: si la condición es verdadera, se ejecutan todas las instrucciones hasta que se encuentra la instrucción “End While”. Luego, el control vuelve a la instrucción “While” y se comprueba de nuevo la condición. Esto se repite hasta que la condición evaluada resulte falsa, en cuyo caso el control pasa a la instrucción que sigue a la instrucción “End While”. Para poder compararla con las otras opciones vistas, vamos a escribir el código de los ejemplos anteriores utilizando “While…End”: Dim edad As Integer edad = 20 While edad <> 0 edad = edad - 1 End While Como puede verse, resulta muy simple de usar. Para terminar, tengamos presente que si se desea repetir las instrucciones un número fijo de veces, la instrucción “For...Next”siempre es la mejor opción.

GoTo

Page 51: Programar Con Visual Basic

51

Programar con Visual Basic

Por: Ariel Palazzesi

Programar con Visual BASIC (VI) - GoTo

Por: Ariel Palazzesi @ martes, 22 de julio de 2008 Nota vista 4406 veces

Tal como habíamos prometido, en esta entrega del tutorial deVisual Basic veremos el resto de los bucles de control. Se trata de las instrucciones del tipo “Do…Loop” (y sus variantes) y “While…End”. También veremos como funciona “GoTo”, que tiene el honor de ser una de las instrucciones más polémicas de todos los lenguajes de programación.

GoTo Esta instrucción es la “oveja negra” de todos los dialectos BASIC, aunque también existe en otros lenguajes de programación. Su función consiste en transferir, sin condiciones, la ejecución del programa a otro punto del mismo, identificado por una etiqueta (o número de línea) determinada. En realidad, en la “prehistoria” de la programación, en la época en que los lenguajes de programación eran muy primitivos, la mayoría de los bucles se construían con “GoTo”. De esta forma se lo utiliza en Visual Basic: Instrucciones… Goto etiqueta Instrucciones… Etiqueta: Instrucciones… Cuando el programa se encuentra con “GoTo etiqueta”, salta a la instrucción siguiente a “Etiqueta:”. “Etiqueta:” puede estar antes o después del “GoTo”, lo que permite hacer “saltos hacia atrás” o “saltos hacia adelante”. Tampoco hay limite entre la cantidad de instrucciones que pueden escribirse entre el “GoTo” y la “etiqueta:”.

Page 52: Programar Con Visual Basic

52

Programar con Visual Basic

Por: Ariel Palazzesi

Esta “libertad” que otorga hace que muchos programadores, en general los principiantes, hagan un uso abusivo del “GoTo”, y sus programas sean muy difíciles de comprender. Además, es posible escribir cualquier programa sin necesidad de siquiera un solo “Go To”. Para terminar este capitulo, realizaremos el ejemplo de antes, pero con “GoTo”: Dim edad As Integer edad = 20 repetir: edad = edad - 1 If edad > 0 Then GoTo repetir End If Como puede verse, y a pesar de su poca longitud, el código resulta algo mas confuso que los otros ejemplos. En programas largos, de miles de instrucciones, con varios “GoTo” saltando de un lado para otro, el seguimiento del programa puede convertirse en una pesadilla, incluso para la misma persona que lo escribió. Con esto, damos por finalizada esta entrega del tutorial de programación en Visual Basic.Dentro de unos días publicaremos el capítulo siguiente.

Page 53: Programar Con Visual Basic

53

Programar con Visual Basic

Por: Ariel Palazzesi

Programar con Visual Basic (VII) Por: Ariel Palazzesi @ viernes, 08 de agosto de 2008 Nota vista 3873 veces

A partir de esta entrega veremos cuales son y como se emplean los controles que dispone Visual Basic. Son estos elementos los que nos permitirán crear la interfaz con el usuario de nuestras aplicaciones, y también manejar muchas de las potentes características que dispone esta herramienta.

Los controles, que pueden arrastrarse y soltarse sobre los formularios (Forms) de Visual Basic, son componentes extremadamente importantes para la construcción de las aplicaciones. Son, en resumen, los que permiten confeccionar la interfaz que el usuario utilizara para controlar las funciones de nuestro programa. Proveen mecanismos para proporcionar información al usuario (Label, ToolTip, PictureBox, TreeView, etc.), organizar los datos para que sean fácilmente interpretados (GroupBox, TabControl, Panel, etc.), ingresar datos (TextBox, ComboBox, MonthCalendar, etc.), seleccionar una(s) opcion(es) de entre varias (ListBox, CheckBox, RadioButton, etc.) o interactuar con elementos que no pertenecen, necesariamente, a nuestra aplicación (OpenFileDialog, SaveFileDialog, PrintDocument, etc.). Además, algunos controles especiales nos proporcionan herramientas para manejar o complementar otros controles (ImageList, ToolTip, etc.) No veremos absolutamente todos los disponibles, pero la información que proporcionaremos en esta entrega y las dos o tres siguientes bastará para que el lector pueda sacar provecho de todos los controles que posee Visual Basic. Esta es la paleta de controles

Page 54: Programar Con Visual Basic

54

Programar con Visual Basic

Por: Ariel Palazzesi

disponibles:

Figura 1

Comenzaremos viendo como utilizar los “Controles comunes”. Es bastante difícil encontrar alguna aplicación que no utilice alguno de estos controles como parte de su interfaz. El primero de ellos, cuyo icono es una pequeña flecha, no es en realidad un control, sino la herramienta que podemos usar para mover o seleccionar alguno de los controles que tenemos en nuestro formulario. Hecha esta aclaración, comencemos con el análisis. Lo primero que haremos será abrir elMicrosoft Visual Basic 2005 Express, seleccionemos “Aplicación para Windows”, y asegurémonos que tenemos el “Form1” en la pantalla, en modo diseño. Deberíamos tener a la vista algo más o menos así:

Page 55: Programar Con Visual Basic

55

Programar con Visual Basic

Por: Ariel Palazzesi

Figura 2

Figura 3

El primer control que usaremos será “Button”. Como habrás adivinado, se trata del clásico botónpresente en prácticamente la totalidad de las ventanas de cada programa. Este control puede ejecutar una acción cuando el usuario hace clic sobre él.

Utilizando la flecha, arrastraremos uno hasta el formulario “Form1”. No importa demasiado, al menos por ahora, en que posición lo coloquemos, ni tampoco su tamaño. Es más, puede ser un buen momento para que pases unos minutos “jugando” con la flecha y el control, para asegurarte que comprendes de qué forma puedes arrastrarlo por el formulario o cambiar su tamaño. Una vez colocado el control, el formulario se verá como sigue:

Page 56: Programar Con Visual Basic

56

Programar con Visual Basic

Por: Ariel Palazzesi

Figura 4

Lo primero que vamos a aprender es como cambiarle el nombre, ya que “Button1”difícilmente sea apropiado para nuestra aplicación. Vamos a modificar el botón para que termine la aplicación cuando le hacemos clic, así que un nombre apropiado para el sería“Salir”. Debemos, como se ve en la imagen, utilizar el cuadro “Propiedades” para cambiar el valor correspondiente al atributo “Text” del control. Simplemente, hacemos clic sobre ese renglón, y escribimos “Salir” (o lo que queramos poner). Debería quedar como la figura de la derecha.

Figura 5 Figura 6

Con esto tenemos el botón con el texto deseado escrito en él. Ahora, vemos como hacer para que, cuando el usuario haga “clic” sobre el control, la aplicación termine. Para ello, debemos escribir un trozo de código que se ejecute cuando esta acción tenga lugar. La forma de hacerlo es muy sencilla: simplemente, damos un doble clic sobre el botón, yVisual Basic pasará al Form.vb, tal como se ve en la figura:

Page 57: Programar Con Visual Basic

57

Programar con Visual Basic

Por: Ariel Palazzesi

Figura 7

El IDE de Visual Basic nos facilita mucho las cosas. Tanto, que como puede verse nos lleva directamente al lugar exacto donde debemos escribir el código que se ejecutará, en tiempo de ejecución, al pulsar el botón. Como queremos que la aplicación termine cuando esto ocurra, simplemente escribimos “End”:

Figura 8

Una vez hecho esto, ya podemos probar nuestro programa para ver si funciona correctamente. Para ello, basta con presionar “F5” o hacer clic sobre la flecha verde de la barra de herramientas que tenemos en la parte superior del IDE, debajo del menú. El programa arrancará, y se verá más o menos como sigue:

Page 58: Programar Con Visual Basic

58

Programar con Visual Basic

Por: Ariel Palazzesi

Figura 9

Obviamente, ya habrás hecho clic sobre el botón y comprobado como se cierra la ventana.

MsgBox()

Page 59: Programar Con Visual Basic

59

Programar con Visual Basic

Por: Ariel Palazzesi

Programar con Visual Basic VII MsgBox()

Por: Ariel Palazzesi @ viernes, 08 de agosto de 2008 Nota vista 3874 veces

A partir de esta entrega veremos cuales son y como se emplean los controles que dispone Visual Basic. Son estos elementos los que nos permitirán crear la interfaz con el usuario de nuestras aplicaciones, y también manejar muchas de las potentes características que dispone esta herramienta.

Por supuesto, podemos hacer cosas mucho más interesantes con este control. Aprovecharemos, de paso, para aprender a utilizar la función MsgBox(), que permite desplegar pequeñas ventanas con un mensaje (y algunos botones) en ella. Su sintaxis es la siguiente: MsgBox(prompt[, buttons][, title][, helpfile, context]) Donde prompt, que obligatoriamente debe estar, es una cadena que representa el texto que aparecerá en el cuadro de diálogo. La longitud máxima de prompt es de unos 1024 caracteres, variando con el ancho de los caracteres utilizados. Buttons es un parámetro opcional. Es una expresión numérica que corresponde a la suma de los valores que especifican el número y el tipo de los botones que se pretenden mostrar, el estilo de icono que se va a utilizar, la identidad del botón predeterminado y la modalidad del cuadro de mensajes. Si no ponemos nada (o ponemos “0”), solo aparecerá un botón con el texto “Ok” que cerrará el cuadro de dialogo cuando le demos clic. Title es otra cadena opcional, que se muestra en la barra de título del cuadro de diálogo. Si se omite este parámetro, en la barra de título se verá el nombre de la aplicación.

Helpfile también es opcional. Es la cadena que identifica el archivo de ayuda relacionado con el cuadro de dialogo. Volveremos sobre este tema cuando tratemos la forma de implementar ayuda interactiva en nuestras aplicaciones. El parámetro context también se relaciona con la ayuda. Veamos un ejemplo. La siguiente línea MsgBox("Aprendiendo Visual Basic", 0, "NeoTeo") genera un cuadro de diálogo con el texto "Aprendiendo Visual Basic", un solo botón con el texto “Ok” y el titulo “NeoTeo”. Tal cual se ve en la imagen:

Page 60: Programar Con Visual Basic

60

Programar con Visual Basic

Por: Ariel Palazzesi

Figura 10

Ahora bien, seguramente te estas preguntando “¿Cómo hago yo para enterarme que poner para crear cada combinación de botones?”. Y nosotros, rápidamente, te

damos la

respuesta:

Tabla 1

Page 61: Programar Con Visual Basic

61

Programar con Visual Basic

Por: Ariel Palazzesi

Como puede verse, Visual Basic proporciona una palabra clave para que no tengamos que recordar números extraños. El siguiente código MsgBox("Error grave, se ha perdido la información",VbAbortRetryIgnore + VbCritical,"Error grave") Muestra como podemos utilizarlas. Y la figura de abajo el resultado que produce:

Figura 11

Tabla 2

Lo interesante de MsgBox() es que devuelve un código que nos indica que botón ha pulsado el usuario. Esto significa que, si somos lo suficientemente hábiles a la hora de escribir nuestros programas, podremos realizar diferentes acciones en respuesta a la respuesta (¡ops!) del usuario.

El siguiente código muestra un aviso de alerta con los botones Anular, Reintentar y Omitir. Luego, utilizando la instrucción If-Then, el programa analiza la respuesta del usuario y muestra otro cuadro de diálogo que nos confirma cual fue el botón presionado:

Page 62: Programar Con Visual Basic

62

Programar con Visual Basic

Por: Ariel Palazzesi

Dim a As Integer a = MsgBox("Error grave, se ha perdido la información", vbAbortRetryIgnore + vbCritical, "Error grave") If a = vbAbort Then MsgBox("Presionaste Anular") End If If a = vbRetry Then MsgBox("Presionaste Reintentar") End If If a = vbIgnore Then MsgBox("Presionaste Omitir") End If

Figura 12 Figura 13

Como puede verse, resulta muy simple utilizar los controles disponibles en Visual Basic. Hoy no hemos visto más que una pequeñísima parte de las opciones de uno de sus controles, pero afortunadamente, la mayor parte de las características y propiedades de un control existen y se utilizan de la misma forma en casi todos los demás. Esto facilitará mucho nuestro aprendizaje.

Page 63: Programar Con Visual Basic

63

Programar con Visual Basic

Por: Ariel Palazzesi

Programar con Visual Basic (VIII) Por: Ariel Palazzesi @ viernes, 19 de septiembre de 2008 Nota vista 2004 veces

Otra entrega del tutorial de Visual Basic, también dedicado a loscontroles que podemos utilizar en nuestras aplicaciones. Ya conocemos a fondo el control "Button", que forma parte de casi todos los proyectos VB, y hoy comenzaremos con los controles que permiten al usuario seleccionar o definir opciones. Dentro de este grupo hay algunos clásicos como el RadioButton, el CheckBox o elListBox. ¡A por ellos!

Con mucha frecuencia, nuestra aplicación escrita en Visual Basic necesita que el usuario seleccione una alternativa (o varias) de un grupo más o menos numeroso de opciones. Por ejemplo, si estamos rellenando listas con los datos de alumnos de una institución, es posible que queramos ingresar el sexo al que pertenece cada uno. La caja de herramientas de VB dispone de varios controles que pueden ayudarnos en esta tarea. Este capítulo de nuestro pequeño tutorial se encarga justamente de esta clase de controles. RadioButton El RadioButton es el control por excelencia para realizar este tipo de tarea. Para emplearlo, simplemente debemos arrastrar el numero de controles que necesitemos desde la caja de herramientas al formulario, y luego cambiarles el nombre. Si no lo hacemos, tendrán un aspecto parecido al de la figura 1, y nada sabrá que significa cada opción. Este control se utiliza para presentar al usuario un conjunto de opciones mutuamente excluyentes. Si el usuario selecciona un componente del grupo de RadioButton Disponibles en el formulario, todos los demás se desmarcan o deseleccionan solos. Esta característica de exclusión mutua se aplica perfectamente al ejemplo anterior. Vamos a ver cómo podemos utilizarlo. Comienza por arrastrar al formulario dos controlesRadioButton, un Button y un Label. Luego de que lo hagas, el formulario presentará un aspecto similar al de la figura:

Figura 1

Page 64: Programar Con Visual Basic

64

Programar con Visual Basic

Por: Ariel Palazzesi

Antes de seguir, vamos a cambiar la descripción de los controles, tal como hicimos en la entrega anterior del tutorial. Pondremos "Masculino" y "Femenino" a los RadioButton, "Listo" al botón y "" (nada) al Label. Si todo ha salido bien, nuestro formulario se parecerá al de la figura 2.

Figura 2

Figura 3

Recuerda que el cambio lo haces modificando la propiedad "Text" de cada control, y que el Label, al tener un nombre "vacío" no se verá en el formulario. Luego, mediante código, haremos que muestre el valor seleccionado por los RadioButton. Como puede verse en la figura 3, si damos "Play" a nuestra aplicación, los RadioButton funcionan, y resulta imposible marcar más (o menos) de uno: al intentarlo, el otro se desmarca.

Figura 4

Page 65: Programar Con Visual Basic

65

Programar con Visual Basic

Por: Ariel Palazzesi

Ahora escribiremos un trozo de código en el evento Click del Button1, para que cuando lo presionemos le cambie la propiedad Text al Label, así este muestra cual es el sexo que hemos seleccionado. Le damos un doble click al control Button1 (que ahora tiene el texto "Salir" escrito encima) y debería abrirse una ventana similar a la de la figura 4.

En ella, dentro del "Private Sub Button1_Click" escribimos lo siguiente: If RadioButton1.Checked Then Label1.Text = "Masculino" If RadioButton2.Checked Then Label1.Text = "Femenino" Cada instrucción "If…Then" válida uno de los RadioButton, y en función de su estado (concretamente, si su propiedad "Checked" es verdadera) modifica la propiedad Text del Label1. Más fácil, imposible. El código debe verse como sigue:

Figura 5

Sería interesante que ejecutes el programa que has escrito y compruebes que realmente funciona. También puedes probar de hacer algunos cambios. Por ejemplo, inventa un problema que tenga tres o más alternativas y resuélvelo modificando este código; o cambia el nombre de los controles (RadioButton1, RadioButton2) a algo más "humano", como "SexoM" y "SexoF". Verás que si lo haces así el código resultante es mucho más legible. Más adelante veremos cómo realizar grupos de RadioButton en el mismo formulario, para que funcionen de forma independiente unos de otros. Esto permitirá, dentro del mismoForm, seleccionar varias clases de cosas al mismo tiempo.

Page 66: Programar Con Visual Basic

66

Programar con Visual Basic

Por: Ariel Palazzesi

Programar con Visual Basic (VIII) Por: Ariel Palazzesi @ viernes, 19 de septiembre de 2008 Nota vista 2006 veces

Otra entrega del tutorial de Visual Basic, también dedicado a loscontroles que podemos utilizar en nuestras aplicaciones. Ya conocemos a fondo el control "Button", que forma parte de casi todos los proyectos VB, y hoy comenzaremos con los controles que permiten al usuario seleccionar o definir opciones. Dentro de este grupo hay algunos clásicos como el RadioButton, el CheckBox o elListBox. ¡A por ellos!

Figura 6

CheckBox Las situaciones en las que debemos elegir solo una alternativa de una lista de opciones no son las únicas posibles. De hecho, es bastante común el caso en que debamos seleccionar varias opciones de un grupo mayor. En estos casos, RadioButton y sus opciones mutuamente excluyentes son inútiles. Pero afortunadamente, existen los CheckBox. Desde el punto de vista del uso del control (colocación en el Form y configuración) no difiere demasiado del visto anteriormente. Sin embargo, cuando lo usamos, veremos que si tenemos una opción seleccionada y presionamos otra, la primera permanece en ese estado. Abramos un nuevo proyecto en Visual Basic 2005 Express Edition, y arrastremos cinco controles CheckBox al formulario, más o menos como se ve en la figura 6.

Luego, desde el cuadro de propiedades, modifiquemos su propiedad "Text" para que aparezcan como "Rojo", "Verde", "Azul", "Blanco" y "Negro":

Page 67: Programar Con Visual Basic

67

Programar con Visual Basic

Por: Ariel Palazzesi

Figura 7

Figura 8

Si ejecutas ahora el proyecto, verás como tranquilamente puedes dejar todos sin marcar (RadioButton obligaba a tener siempre uno elegido), marcar uno solo como si fuese un RadioButton o bien elegir varios de ellos (¡o todos¡)

Figura 9

Un "truco" útil consiste en modificar el texto que aparece al lado de cada caja del CheckBox durante la misma ejecución del programa. Hay casos en los que las "preguntas" que debemos hacer al usuario dependen de alguna respuesta anterior (por ejemplo, si es hombre o mujer), y mediante la modificación de la propiedad "Text" del CheckBox se puede lograr cambiar la apariencia del Form. Para establecer valores en el código se hace, por ejemplo, así: CheckBox1.Text = "¿Es usted mayor de edad?" CheckBox2.Text = "¿Está casado?" CheckBox3.Text = "¿Tiene hijos?" CheckBox4.Text = "¿Estudió alguna carrera?" CheckBox5.Text = "¿Tiene coche?"

Page 68: Programar Con Visual Basic

68

Programar con Visual Basic

Por: Ariel Palazzesi

Si este trozo de código lo escribimos dentro del evento Load del Form, cuando se abre la ventana que contiene nuestra aplicación el aspecto de los CheckBox será el de la figura 9, independientemente de los valores que hayamos elegido para cada "Text" en tiempo de diseño.

La propiedad Checked del CheckBox es la que cambia al seleccionar (o no) el control. Esta propiedad valdrá "1" (o verdadero) en caso de que el control este seleccionado, y "0" (o falso) en caso contrario. Mediante "If…Then" podemos tomar una decisión basada en el estado de cada CheckBox. Podemos agregar un Label (label1) y un Button (Button1) al Form, y escribir el código que mostramos a continuación para ver como programar respuestas al estado de cada CheckBox. En el ejemplo siguiente, si la persona es mayor de edad, está casada y tiene hijos, el Label1 mostrará el mensaje "¡Linda familia!": If CheckBox1.Checked = True Then If CheckBox2.Checked = True Then If CheckBox3.Checked = True Then Label1.Text = "¡Linda familia!" End If End If End If En tiempo de ejecución, nuestro Form se verá más o menos así:

Figura 10

Figura 11

Page 69: Programar Con Visual Basic

69

Programar con Visual Basic

Por: Ariel Palazzesi

Si seleccionamos los tres primeros CheckBox y luego hacemos clic en el botón, el texto del Label1 cambiará (Figura 11). Es importante destacar que el mensaje "¡Linda familia!" solo será visible cuando las tres opciones mencionadas estén seleccionadas, independientemente del estado de las otras dos, ya que no se han tenido en cuenta en el código mostrado.

Figura 12

Si hay algo en lo que Visual Basic se destaca, es en lo potente y compacto de su código. Solo hemos escrito una decena de líneas y tenemos controles que cambian su valor en tiempo de ejecución, comprobamos el estado de algunos de ellos al presionar un botón, y modificamos el texto de una etiqueta en función de lo que ha seleccionado el usuario. Esto hace que uno se sienta cómodo y pueda avanzar rápidamente en la comprensión del lenguaje.

La próxima entrega de este tutorial tratará sobre algunos de los controles restantes, y la forma en que podemos aprovechar todo su potencial a la hora de escribir nuestros programas. ¡Hasta entonces!