MATERIAL DE APOYO TUTORIAL VISUAL BASIC 2008 EXPRESS Ing. Juventino Israel García Andrade Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Í Índice Funcionamiento de la programación Cómo funciona la programación ¿Qué es un lenguaje de programación? Compilador Lenguajes de programación Lenguaje maquina Lenguaje Ensamblador Lenguaje Fortran Lenguaje COBOL Lenguaje BASIC El lenguaje Pascal El lenguaje C El lenguaje C++ Los lenguajes Orientados a Objetos El lenguaje Java El lenguaje Visual Basic Hello World!! ¿Qué es Visual Basic 2008 Express? El proceso de desarrollo Familiarizarse Modo de diseño Crear un nuevo proyecto en Visual Basic Crear la apariencia visual de un programa Introducción a los formularios Windows Forms Interfaz de usuario Utilizar formularios Agregar controles al formulario Interactuar con el usuario: Utilizar botones Utilizar los botones Utilizar etiquetas y cuadros de texto Mostrar texto con el control Label Recibir texto con el control TextBox Agregar código Comprender propiedades, métodos y eventos 1 1 1 2 2 2 4 4 4 4 5 5 5 6 6 6 7 9 9 10 12 14 17 17 17 18 23 25 25 27 27 27 29 31 pág. i Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Hacer que el programa reaccione ante el usuario: Crear un controlador de eventos 33 Nombre de objetos 36 Ocultar y mostrar formularios 37 Habilitar y deshabilitar un botón 39 Ocultar y mostrar un botón 40 Cambiar el color de fondo de un TextBox y un Label 41 El control PictureBox 42 El control RadioButton 43 El control LinkLabel 46 El control ListBox 48 El control ComboBox 49 El control MenuStrip 51 El control Timer 52 Realizar la manipulación básica de datos en el lenguaje de programación visual 54 54 Representación de palabras, números y valores con variables 54 Almacenar información en variables o Declarar variables 54 o Asignar variables 55 o Declarar y asignar variables con un valor predeterminado 55 59 Tipos de datos para números 62 Tipos de datos para texto 63 Palabras y texto: Utilizar variables de cadena para organizar palabras o ¿Qué es una cadena? 63 66 Matrices: Variables que representan más de un valor o Asignar valores a las matrices 67 Aritmética: Crear expresiones con variables y operadores 70 Operadores aritméticos 70 Operadores de asignación 72 Sentencias de control 73 Sentencia If … Then … Else … 73 Operador lógico 74 Mensajes de Advertencia 85 La Caja de comprobación (CheckBox) 89 91 Como utilizar la Caja de comprobación (CheckBox) Hacer que un programa repita acciones: Establecer bucles For...Next 93 El Control ProgressBar - Barra de progreso 94 Sentencia Select Case 96 Hacer una conexión de base de datos MS Access 2007 con VB 2008 utilizando el 97 asistente Publicar un proyecto 104 BIBLIOGRAFÍA pág. ii 107 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Visual Basic 2008 Express Funcionamiento de la programación Antes de comenzar el aprendizaje del lenguaje de programación Visual Basic, puede ser útil comprender lo que es un lenguaje de programación y cómo funciona, incluso alguna terminología de programación. El mejor punto de partida es comenzar con los conceptos básicos. Cómo funciona la programación Por sí solo, un equipo no es inteligente. Esencialmente, un equipo es sólo un gran grupo de pequeños modificadores electrónicos que están activados o desactivados. Al establecer diferentes combinaciones de estos modificadores, se logra que el equipo realice alguna acción, por ejemplo, que muestre algo en la pantalla o que emita un sonido. Eso es la programación en su concepto más básico: decirle a un equipo qué hacer. Claro está, que comprender qué combinación de modificadores logrará que el equipo haga lo que se desea será una gran tarea; aquí es donde los lenguajes de programación adquieren un papel importante. ¿Qué es un lenguaje de programación? Las personas se expresan utilizando un lenguaje con muchas palabras. Los equipos utilizan un lenguaje simple que consta sólo de números 1 y 0, con un 1 que significa "activado" y un 0 que significa "desactivado". Tratar de hablar con un equipo en su propio lenguaje sería como tratar de hablar con una persona utilizando el código Morse. Un lenguaje de programación actúa como un traductor entre el usuario y el equipo. En lugar de aprender el lenguaje nativo del equipo (conocido como lenguaje máquina), se puede utilizar un lenguaje de programación para dar instrucciones al equipo de un modo que sea más fácil de aprender y entender. Un programa especializado conocido como compilador toma las instrucciones escritas en el lenguaje de programación y las convierte en lenguaje máquina. Esto significa que, como desarrollador de Visual Basic, no precisa entender lo que el equipo hace o cómo lo hace, sólo es necesario entender cómo funciona el lenguaje de programación de Visual Basic. pág. 1 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Compilador Los compiladores son programas o herramientas que permite traducir un texto (código fuente) escrito en un lenguaje de alto nivel a un lenguaje comprensible por las computadoras (código objeto). Lenguajes de programación Una persona que quiere que el ordenador realice una determinada tarea escribe un programa en un lenguaje de programación determinado, y el ordenador (utilizando ciertos traductores llamados compiladores e intérpretes) es capaz de realizar dicha tarea. Lenguaje maquina El lenguaje máquina fue el primero que empleo el hombre para la programación de las primeras computadoras. Una instrucción en lenguaje máquina puede representarse de la siguiente forma: 011011001010010011110110 Esta secuencia es fácilmente ejecutada por la computadora, pero es de difícil interpretación, siendo aun más difícil la interpretación de un programa (conjunto de instrucciones) escrito de esta forma. Esta dificultad hace que los errores sean frecuentes y la corrección de los mismos costosa, cuando no imposible, al igual que la verificación y modificación de los programas. La anterior secuencia de dígitos binarios (bits) puede indicar a la computadora que: <<Traslade el contenido de la posición de memoria X a la posición de memoria Y.>> Si lo vemos escrito de esta forma, lo entenderemos fácilmente, ya que está en nuestro lenguaje natural, pero la máquina elemental será incapaz de entender nada. Vemos, que la forma de indicar a la máquina lo que debe hacer es totalmente diferente de la indicar a un ser humano lo mismo, por lo que deben emplearse sistemas de traducción de una forma a otra. pág. 2 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Ya se ha dicho que en un principio el programador empleaba directamente el lenguaje máquina. En este caso el traductor era el programador; pero vimos también los problemas que esto causaba. Con la práctica en el manejo de la máquina se cayó en la cuenta de que se podría utilizar la propia máquina para ayudar en la traducción de estos programas. Es decir, que si a una máquina elemental se le dotaba de un programa, también elemental, que tradujera un número determinado de caracteres alfabéticos en una secuencia de unos y ceros, se podría escribir un programa constituido por una secuencia de grupos de caracteres alfabéticos, en la que cada uno de los grupos indicaría una acción a realizar por el ordenador y, una vez escrito el programa, sería la propia máquina la que pasaría los grupos de caracteres a bits. Las ventajas de esto son evidentes, ya que para el hombre resulta más fácil manipular grupos de caracteres y la traducción se haría de manera automática. Por ejemplo, se podría escribir: TRASLADAR 11010110, 00011101. Esto indicaría que el contenido de la posición 11010110 había que pasarlo a la posición 00011101 si se sabe que al grupo alfabético TRASLADAR le corresponde la secuencia de bits 11110101. La máquina traduciría la anterior instrucción como: 11110101 11010110 00011101 Al grupo alfabético se le denomina mnemotécnico, y existirá un mnemotécnico por cada instrucción. Se le da este nombre porque sirve para recordar con mayor facilidad el conjunto de instrucciones de una determinada máquina. De esta forma aparecieron los lenguajes ensambladores (Assembler, en inglés). Poco a poco, con el avance de la programación (Software), estas primeras y sencillas ayudas se fueron haciendo más complejas, permitiendo que, además de los mnemotécnicos correspondientes a la operación a realizar, se pudieran emplear otros para indicar, por ejemplo, los operandos. Ejemplo: La anterior instrucción se podría escribir de la siguiente forma: TRASLADAR POS-A POS-B Que nos resulta de más fácil comprensión. pág. 3 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Lenguaje Ensamblador El lenguaje ensamblador es un tipo de lenguaje de bajo nivel utilizado para escribir programas informáticos, y constituye la representación más directa del código máquina específico para cada arquitectura de computadoras legible por un programador. Fue usado principalmente en los inicios del desarrollo de software, cuando aun no se contaba con los potentes lenguajes de alto nivel. Actualmente se utiliza con frecuencia en ambientes académicos y de investigación, especialmente cuando se requiere la manipulación directa de hardware, se pretenden altos rendimientos o un uso de recursos controlado y reducido. Muchos dispositivos programables (como los microcontroladores) aun cuentan con el ensamblador como la única manera de ser manipulados. Lenguaje Fortran En 1957 aparece el lenguaje Fortran (siglas de FORmula TRANslator), el primer lenguaje de alto nivel ampliamente difundido y utilizado a nivel mundial. El primer compilador de Fortran fue desarrollado por un equipo de IBM liderado por John W. Backus. Inicialmente Fortran fue utilizado en el mundo científico y en aplicaciones militares, y se escribieron multitud de librerías matemáticas para cálculo numérico, algunas de las cuales siguen utilizándose hoy en día. Lenguaje COBOL En 1960, aparece COBOL, este lenguaje tenía como objetivo ser utilizado en el procesamiento de datos a gran escala. Inmediatamente fue adoptado en bancos, compañías y dependencias oficiales que siguen utilizándolo hoy en día. Lenguaje BASIC El lenguaje BASIC fue creado en 1964 por los norteamericanos John Kemeny y Thomas Kurtz, en el Dartmouth College. Su intención era diseñar un lenguaje adecuado para la enseñanza. No tenía, por tanto, pretensiones de gran potencia, pero era fácil de aprender y permitía abordar pronto pequeños proyectos. BASIC son las iníciales de Beginner's All-purpose Symbolic Instruction Code (código de instrucciones simbólicas de propósito general para principiantes). El BASIC tuvo una gran expansión en los años 80, cuando se impuso como lenguaje estándar para los microordenadores domésticos de ocho bits. Se usó ampliamente en la enseñanza y también en la programación profesional. Sin embargo, era un lenguaje pág. 4 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade poco estructurado y recibió muchas críticas por promover malos hábitos de programación. Pero en lugar de desaparecer, fueron surgiendo versiones nuevas con características más avanzadas. Aún hoy, Visual Basic y su sucesor, Visual Basic .NET (aunque son variantes ya muy alejadas del original) son lenguajes de programación muy usados en entorno Windows. El lenguaje Pascal El lenguaje Pascal se creó en 1970 con el objetivo de disponer de un lenguaje de programación de alto nivel y propósito general (se utiliza para gran diversidad de aplicaciones) orientado hacia los nuevos conceptos de programación, desarrollado por el profesor suizo Niklaus Wirth como un lenguaje para la enseñar la programación de modo disciplinado, fácil de aprender y con la complejidad suficiente para permitir una correcta preparación de los programadores futuros. El lenguaje C C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior es decir el lenguaje B, a su vez basado en BCPL, Basic Combined Programming Language (Lenguaje de Programación Básico Combinado). Al igual que B, es un lenguaje orientado a la implementación de Sistemas Operativos, con el se desarrolla el sistema operativo UNIX. C es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones. El lenguaje C++ C++ es un potente lenguaje de programación que apareció en 1980, continuando con las ventajas, flexibilidad y eficacia del C. Es un lenguaje de programación que permite programar desde sistemas operativos, compiladores, aplicaciones de bases de datos, procesadores de texto, juegos, etc. C++ ha ido evolucionando y ha contribuido con la aparición de Java, simplificando instrucciones de C++, añadiendo nuevas funcionalidades para realizar aplicaciones utilizables desde Internet. pág. 5 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Los lenguajes Orientados a Objetos A finales de la década de los 80 se popularizó un nuevo paradigma de programación denominado Programación Orientada a Objetos. Se trataba de una nueva forma de programar que hacía más fácil escribir y mantener código, porque se asemejaba más con la forma de pensar del cerebro humano. Pronto los lenguajes evolucionaron a sus respectivas versiones orientadas a objetos. Así nació en 1986 el lenguaje C++ de manos de Bjarne Stroustrup, que partía del lenguaje C y le añadía la posibilidad de trabajar con objetos. Nace también en 1986 el lenguaje Delphi (en sus principios denominado Object Pascal), como una evolución de Pascal para incluirle características de orientación a objetos. El lenguaje Java Java es un lenguaje orientado a objetos diseñado en 1990 por James Gosling y Patrick Naughton, de la empresa Sun Microsystems. El origen del nombre “Java” es bastante curioso, se rumora que sus creadores discutían sobre cómo llamar al lenguaje mientras tomaban café, y al final les gustó el nombre de la marca del café que tomaban, el café “Java”. Su desarrollo se realizó siempre con un concepto en mente: “Write Once, Run Anywhere”. Esto significa que Java se diseñó pensando en que un programa escrito en este lenguaje pudiese ser ejecutado en cualquier máquina, no sólo ordenadores, sino también cualquier dispositivo electrónico como calculadoras, dispositivos móviles, portátiles, etc. Esta idea de un lenguaje universal ya había sido abordada por el lenguaje C y su estandarización ANSI, pero la realidad es que no se consiguió hasta la llegada de Java. En la actualidad el uso de Java ha sido muy impulsado por la amplia influencia de Internet, debido a la universalidad de Java por la capacidad de sus programas para ser ejecutados en cualquier tipo de máquina. El lenguaje Visual Basic Visual Basic es uno de los tantos lenguajes de programación que podemos encontrar hoy en día. Dicho lenguaje nace del BASIC (Beginner´s All-purpose Symbolic Instruction Code) que fue creado en su versión original en el Dartmouth College, con el propósito de servir a aquellas personas que estaban interesadas en iniciarse en algún lenguaje de programación. Luego de sufrir varias modificaciones, en el año 1978 se estableció el BASIC estándar. La sencillez del lenguaje ganó el desprecio de los programadores avanzados por considerarlo "un lenguaje para principiantes". Primero fue GW-BASIC, luego se transformó en QuickBASIC y actualmente se le conoce como Visual Basic. Esta versión combina la sencillez del BASIC con un pág. 6 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade poderoso lenguaje de programación Visual que juntos permiten desarrollar robustos programas para Windows. Esta fusión de sencillez y la estética permitió ampliar mucho más el monopolio de Microsoft, ya que el lenguaje sólo es compatible con Windows, un sistema operativo de la misma empresa. Visual Basic ya no es más "un lenguaje para principiantes" sino que es una perfecta alternativa para los programadores de cualquier nivel que deseen desarrollar aplicaciones compatibles con Windows. Hello World!! Cuando aprendemos a programar algún lenguaje de programación, por lo general, el primer programa que escribimos es el "Hello World" (hola mundo), el cual sólo muestra en pantalla las dichas palabras. A continuación se muestra el código de ese primer programa en alguno de los lenguajes de programación más conocidos Assembler - Intel Fortran ; Hello World for Intel Assembler (MSDOS) mov ax,cs mov ds,ax mov ah,9 mov dx, offset Hello int 21h xor ax,ax int 21h Hello: db "Hello World!",13,10,"$" C Assembler - Linux ;; Hello World for the nasm Assembler (Linux) SECTION .data msg db "Hello, world!",0xa ; len equ $ - msg SECTION .text global main main: mov eax,4 mov ebx,1 mov ecx,msg mov edx,len int 0x80 mov eax,1 mov ebx,0 int 0x80 Hello World in Fortran PROGRAM HELLO WRITE (*,100) STOP 100 FORMAT (' Hello World! ' /) END Ada -- Hello World in Ada with Text_IO; procedure Hello_World is begin Text_IO.Put_Line("Hello World!"); end Hello_World; COBOL * Hello World in COBOL ***************************** IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. ENVIRONMENT DIVISION. DATA DIVISION. PROCEDURE DIVISION. MAIN SECTION. DISPLAY "Hello World!" STOP RUN. **************************** pág. 7 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Delphi HTML // Hello World in Delphi <HTML> <!-- Hello World in HTML --> <HEAD> <TITLE>Hello World!</TITLE> </HEAD> <BODY> Hello World! </BODY> </HTML> Program Hello_World; {$APPTYPE CONSOLE} Begin WriteLn('Hello World'); End. Pascal {Hello World in Pascal} program HelloWorld(output); begin WriteLn('Hello World!'); end. C++ // Hello World in C++ (pre-ISO) #include <iostream.h> main() { cout << "Hello World!" << endl; Java // Hello World in Java class HelloWorld { static public void main( String args[] ) { System.out.println( "Hello World!" ); } } VRML #VRML V2.0 utf8 # Hello World in VRML Shape { geometry Text {string "Hello World!"} } } PHP C# // Hello World in Microsoft C# ("C-Sharp"). using System; class HelloWorld { public static int Main(String[] args) { Console.WriteLine ("Hello, World!"); return 0; } } pág. 8 <?php // Hello World in PHP echo 'Hello World!'; ?> VisualBasic6 Private Sub Form_Load() MsgBox ("Hello World") End Sub Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade ¿Qué es Visual Basic 2008 Express? Visual Basic 2008 es una evolución del lenguaje Visual Basic, que se diseñó para generar aplicaciones con seguridad y orientadas a objetos de manera productiva. Visual Basic permite a los desarrolladores centrar el diseño en Windows, la Web y dispositivos móviles. El proceso de desarrollo Visual Basic Express facilita el proceso de desarrollar aplicaciones; en la mayoría de los casos, el proceso consta de los pasos siguientes: Cree un proyecto. Un proyecto contiene todos los archivos necesarios para la aplicación y almacena información sobre la aplicación. A veces, una aplicación contendrá más de un proyecto, por ejemplo, un proyecto de aplicación para Windows y uno o varios proyectos de biblioteca de clases. Tal aplicación se denomina solución, que es sólo otro nombre para un grupo de proyectos. Diseñe la interfaz de usuario. Para ello, puede arrastrar distintos controles, como botones y cuadros de texto, a una superficie de diseño conocida como formulario. Puede establecer propiedades que definan el aspecto y comportamiento del formulario y de sus controles. Escriba el código. A continuación, tendrá que escribir el código de Visual Basic Express que define cómo se comportará la aplicación y cómo interactuará con el usuario. Visual Basic Express facilita la escritura de código con características como Intellisense, finalización automática y miniprogramas. Pruebe el código. Siempre deseará probar la aplicación para asegurarse de que se comporta del modo que esperaba; este proceso se conoce como depuración. Visual Basic Express dispone de herramientas de depuración que facilitan la búsqueda y corrección de errores en el código de forma interactiva. Distribuya la aplicación. Una vez que la aplicación está completa, puede instalar el programa final en el equipo o distribuirlo y compartirlo con otros usuarios. Visual Basic Express utiliza una nueva tecnología conocida como publicación de ClickOnce, que permite implementar fácilmente una aplicación con un asistente y proporcionar versiones actualizadas de la aplicación si más adelante realiza cambios. pág. 9 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Familiarizarse A primera vista, la interfaz de usuario de Visual Basic Express, también conocida como entorno de desarrollo integrado o IDE, puede resultar extraña, pero una vez que se familiarice, será fácil de utilizar. En las secciones siguientes se describen las partes del IDE que más utilizará. Cuando se inicia por primera vez Visual Basic Express, verá que la ventana Página de inicio ocupa la mayor parte. La página de inicio contiene una lista de los proyectos recientes en los que se puede hacer clic, un área Introducción con vínculos a temas de Ayuda importantes y una lista de vínculos a artículos en línea y otros recursos. Si se conecta a Internet, esta lista se actualizará regularmente. Página de inicio pág. 10 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade En el lado derecho del IDE, se muestra la ventana Explorador de soluciones. Inicialmente está en blanco, pero aquí es donde se mostrará la información sobre el proyecto o grupos de proyectos conocidos como soluciones. En el lado izquierdo del IDE, se muestra una ficha vertical marcada Cuadro de herramientas. También está en blanco inicialmente, pero a medida que trabaja se rellenará con elementos que se pueden utilizar para la tarea en la que está trabajando. Cuadro de herramientas pág. 11 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Modo de diseño Cuando abre o crea un proyecto, el aspecto del IDE cambia al modo de diseño. Ésta es la parte visual de Visual Basic, donde se diseña el aspecto de la aplicación. IDE en el modo de diseño También se observará que aparece una nueva ventana, la Ventana Propiedades, bajo la ventana Explorador de soluciones. Aquí es donde establecerá las distintas propiedades que definen el aspecto y comportamiento del formulario y sus controles. Ventana Propiedades pág. 12 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Hay numerosas ventanas adicionales en el IDE, cada una para una tarea concreta. La ventana Lista de errores aparece en la parte inferior del IDE si se escribe código incorrecto o aparecen otros errores en tiempo de diseño. Si hace doble clic en un formulario o control, se abre una nueva ventana llamada Editor de código. Aquí es donde se escribe el código para la aplicación. El Editor de código es algo más que un simple editor de texto, ya que utiliza una tecnología conocida como IntelliSense que facilita la escritura del código al proporcionar información según escribe. Editor de código IntelliSense pág. 13 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Crear un nuevo proyecto en Visual Basic En el menú Inicio de Windows, elija Microsoft Visual Basic Express. Aparecerá la pantalla de bienvenida de Visual Basic Express. Ésta es la interfaz para Visual Basic Express, también conocida como entorno de desarrollo integrado o IDE. En el menú Archivo, haga clic en Nuevo proyecto. Nuevo proyecto pág. 14 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Aparece el cuadro de diálogo Nuevo proyecto. Seleccione Aplicación de Windows Forms y haga clic en Aceptar. Aplicación de Windows Forms Se muestra un nuevo formulario en el IDE y se agregan los archivos necesarios para el proyecto a la Ventana Explorador de soluciones. Si éste es el primer proyecto de Aplicación para Windows que ha creado, se denomina "WindowsApplication1". WindowsApplication1 Form1 pág. 15 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Cuando crea un nuevo proyecto por primera vez, sólo existe en la memoria. Si cierra el entorno de desarrollo integrado (IDE) de Visual Basic, se le pide que guarde o descarte el proyecto. Cuando lo guarde, puede darle un nombre más significativo. Al crear el proyecto, aparece un formulario (Form1) también conocido como diseñador de formularios, en el entorno de desarrollo integrado (IDE). Este formulario representa una ventana que se mostrará cuando se ejecuta el programa. Muchos programas muestran más de una ventana, por lo que un proyecto puede contener múltiples formularios. Para agregar un nuevo formulario ir al menú Proyecto, Agregar Windows Forms Formularios pág. 16 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Crear la apariencia visual de un programa Introducción a los formularios Windows Forms. La interfaz de usuario es la parte del programa que ven los usuarios cuando ejecutan el programa. Una interfaz de usuario suele estar formada por una ventana o formulario principal y varios controles, como botones, campos para la introducción de texto, etc. Los programas de Visual Basic Express que se ejecutan en el equipo se denominan Aplicaciones de Windows Forms y la interfaz de usuario se crea mediante los controles de formularios Windows Forms. Las lecciones de esta sección le mostrarán cómo crear una interfaz de usuario utilizando algunos de los controles de formularios Windows Forms más comunes. Interfaz de usuario En esta lección, aprenderá lo que es una interfaz de usuario (UI), qué son los controles y cómo agregar controles a una interfaz de usuario. En los primeros equipos personales, los usuarios interactuaban con programas principalmente a través de línea de comandos. Se iniciaba un programa y después se hacía una pausa para recibir los datos proporcionados por el usuario. La mayoría de los programas utilizados hoy se ejecutan en una o varias ventanas que permiten que el usuario se comunique, o relacione, con el programa escribiendo, haciendo clic en los botones, eligiendo elementos en los menús preestablecidos y así sucesivamente. Interfaz de base de datos en C++ Interfaz de base de datos en Visual Basic 6 pág. 17 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Utilizar formularios Los formularios son las unidades de creación básicas para la interfaz de usuario. Cada formulario del programa representa una ventana que se aparece a los usuarios. Al trabajar en el IDE (entorno de desarrollo integrado) de Visual Basic, un formulario es el diseñador que se utiliza para crear la interfaz de usuario, lo que sería similar a utilizar Windows Paint para dibujar una imagen. Los controles se utilizan en el diseñador para crear la apariencia de la interfaz de usuario. Un control es un objeto que tiene un aspecto y comportamientos predefinidos. Por ejemplo, un control botón (Button) tiene el aspecto y el comportamiento de un botón de comando: cuando un usuario hace clic en él, cambia para mostrarlo. Cada control de Visual Basic tiene una finalidad. Por ejemplo, los controles TextBox se utilizan para introducir texto, mientras que los controles PictureBox se utilizan para mostrar imágenes. Hay más de cincuenta controles diferentes incluidos en Visual Basic. Al diseñar la interfaz de usuario, se arrastran los controles desde el cuadro de herramientas, se colocan en un formulario, luego se ubican y se cambian de tamaño para crear el aspecto deseado. Puede cambiar el aspecto aún más estableciendo propiedades de formularios y controles en la Ventana de Propiedades. Por ejemplo, los formularios y la mayoría de los controles tienen una propiedad BackColor que se utiliza para establecer su color de fondo. Las propiedades también se utilizan para definir el comportamiento de un formulario o control. Por ejemplo, la propiedad ShowInTaskbar de un formulario determina si el formulario aparecerá en la barra de tareas de Windows cuando se esté ejecutando el programa. Mediante el uso de propiedades, puede personalizar la apariencia y el comportamiento de la interfaz de usuario. Ejemplo: Para cambiar las propiedades de un formulario En el menú Archivo, seleccione Nuevo proyecto. pág. 18 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Nuevo proyecto En el cuadro de diálogo Nuevo proyecto, en el panel Plantillas, haga clic en Aplicación de Windows Forms. En el cuadro Nombre, escriba FirstForm y haga clic en Aceptar. Aplicación de Windows Forms Nombre Se crea un nuevo proyecto de formularios Windows Forms. Aparece un nuevo formulario en la ventana principal y sus propiedades son visibles en la Ventana de Propiedades, en la esquina inferior derecha del IDE de Visual Basic Express. pág. 19 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Haga clic en el formulario para seleccionarlo. Formulario (Form1) Ventana de Propiedades En la Ventana de Propiedades, cambie la propiedad Text para que se lea "Mi primer formulario" y presione Enter. Text pág. 20 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade El texto en la parte superior del formulario cambia después de especificar el nuevo valor. Mi primer formulario En la Ventana de Propiedades, cambie la propiedad BackColor a un color diferente seleccionando un color desde la lista desplegable. BackColor Resultado: pág. 21 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Observe que la propiedad BackColor se cambia a través de una interfaz especial. Esta interfaz le permite ver el color antes de seleccionarlo y le permite elegir entre los colores utilizados actualmente por el sistema, colores estándar Web o una selección de colores más personalizada. También puede escribir sólo el nombre del color (por ejemplo, Blue) en el cuadro en la Ventana de Propiedades. Experimente cambiando otras propiedades del formulario. pág. 22 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Agregar controles al formulario En este procedimiento, agregará los controles al formulario seleccionando el control en la ventana Cuadro de herramientas, que se encuentra normalmente en el lado izquierdo del IDE de Visual Basic Express, y arrastrándolo al formulario. Se manipularán las propiedades de los controles. Cuadro de herramientas Para agregar controles al formulario desde el Cuadro de herramientas, arrastre un control Button, un control TextBox, un control Label y finalmente un control CheckBox hasta el formulario. Seleccione el control Button y arrástrelo alrededor del formulario para cambiar su ubicación. pág. 23 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Observe cómo aparecen las instrucciones cuando lo arrastra cerca de los otros controles. Estas instrucciones pueden ayudar a colocar los controles en forma precisa. Repita el proceso con los otros controles hasta que la interfaz de usuario tenga el aspecto que desea. Seleccione el control Button, luego haga clic y arrastre los cuadrados blancos para cambiar el tamaño. Haga clic en cada control dentro del formulario y cambie algunas de sus propiedades en la Ventana de Propiedades. Entre las propiedades que puede cambiar se encuentran: Font, BackColor, ForeColor, Size y Text entre otros. Presione F5 para ejecutar el programa. pág. 24 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Aparecerá una ventana con los controles que acaba de agregar. Observe que puede hacer clic en el botón, activar y desactivar la casilla de verificación y escribir en el cuadro de texto. Interactuar con el usuario: Utilizar botones En esta lección, obtendrá información sobre cómo agregar un control Button a un formulario, cómo cambiar el aspecto del botón y cómo escribir código que se ejecute cuando se haga clic en él. La manera más fácil para los usuarios de interactuar con el programa es mediante botones. Por ejemplo, muchos programas tienen botones Salir. Como se vio en la lección anterior, el control Button de Visual Basic Express parece y se comporta como botón de comando. El control Button también tiene eventos predefinidos que se pueden utilizar para iniciar acciones tales como finalizar un programa. Utilizar los botones En general, los botones son controles rectangulares que tienen una apariencia elevada en el formulario. Sin embargo, hay muchas propiedades que se pueden establecer para cambiar su apariencia. La más común es la propiedad Text, que determina el texto mostrado y este se muestra en la fuente o el tipo de letra determinado por la propiedad Font. La propiedad BackColor determina el color de fondo del botón y la propiedad ForeColor determina el color del texto. Cuando el usuario hace clic en un botón en tiempo de ejecución, el control Button provoca el evento Click. Cuando aparece un evento, los controles ejecutan el código como respuesta a esos eventos. pág. 25 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Ejemplo: Crear un botón que permita cerrar el formulario utilizando la caja de herramientas de Visual Basic 2008. Crea un formulario con las siguientes características: Button1 Haga doble clic en el control Button1. Código: --------------------------------------------------------------------------------------------------Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Close() End Sub End Class ------------------------------------------------------------------ Otra linea de código que permite cerrar el formulario El comando Me.Close() y End permiten cerrar un formulario. --------------------------------------------------------------------------------------------------Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click End End Sub End Class ------------------------------------------------------------------ Presione F5 para ejecutar el programa. Otra forma de ejecutar el programa… Iniciar depuración pág. 26 Detener depuración Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Utilizar etiquetas y cuadros de texto En esta lección, aprenderá a utilizar los controles Label y TextBox para mostrar texto y aceptar la entrada de texto del usuario. Una de las maneras más fáciles de transmitir y recibir la información de los usuarios es a través de texto. Puede mostrar texto sobre la funcionalidad de un programa y también recibir datos como texto del usuario y utilizarlos en el programa. Visual Basic Express proporciona dos controles diseñados para mostrar y recibir el texto. Son los controles Label y TextBox. Mostrar texto con el control Label El control Label es el control primario para mostrar texto. Éste aparece en el formulario como texto delimitado por un área de forma rectangular. Generalmente, el color de esta área es igual que el color del formulario, por lo que aparece como si fuera texto del formulario. Dado que el control Label tiene como objetivo principal mostrar texto, las propiedades más importantes para un control Label son las propiedades que controlan su aspecto. La propiedad Text contiene el texto que se muestra en el control Label. La propiedad Font determina la fuente con la que se mostrará el texto. La propiedad ForeColor determina el color del texto en sí y la propiedad BackColor determina el color de fondo. Recibir texto con el control TextBox Cuando se necesita mostrar y recibir texto, se diseña el control TextBox para controlar el trabajo. Además de mostrar el texto, el control TextBox permite a los usuarios escribir texto en tiempo de ejecución, y el programa puede recuperar ese texto. Al igual que con el control Label, las propiedades que son más importantes para el control TextBox son aquéllas relacionadas con la apariencia. Una propiedad importante es la propiedad Text, que representa el texto del control TextBox. Cuando un usuario escribe en el control TextBox, la propiedad Text se actualiza para reflejar los cambios. pág. 27 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade De este modo, el texto que se muestra en el control TextBox siempre refleja el valor de la propiedad Text. También hay propiedades que afectan al comportamiento del control TextBox. La propiedad Multiline determina si el control TextBox permite varias líneas. Si esta propiedad se establece en False, el control TextBox siempre tendrá exactamente una línea de alto y no se podrá ampliar verticalmente. Si se establece en True, el control TextBox permite varias líneas y puede tener el alto deseado. pág. 28 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Agregar código En el Diseñador de Windows Forms, haga doble clic en el control Button. Se abre una nueva ventana denominada Editor de código. Aquí es donde se agrega el código para el programa. Es posible que haya observado que cuando se abre el Editor de código, éste ya contiene algún código con el siguiente aspecto: --------------------------------------------------------------------------------------------------------Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click | End Sub --------------------------------------------------------------------------------------------------------Este código es un controlador de eventos, también denominado procedimiento Sub. Cualquier código dentro de este procedimiento (entre Sub y End Sub) se ejecuta cada vez que se haga clic en el botón. También se observa que el cursor se encuentra dentro del procedimiento de evento, de manera que todo lo que se tiene que hacer es escribir. pág. 29 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Ejemplo: Crear una interfaz de usuario con los controles Button, Label y TextBox. Label1 TextBox1 Button1 Label2 Label3 Haga doble clic en el control Button1. Código: --------------------------------------------------------------------------------------------------Public Class Form1 Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged End Sub __________________________________________ Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click End Sub __________________________________________ Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click End Sub _________________________________________ Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click End Sub _________________________________________ Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Label3.Text = TextBox1.Text End Sub End Class ------------------------------------------------------------------ Presione F5 para ejecutar el programa. pág. 30 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Comprender propiedades, métodos y eventos Todos los objetos en el lenguaje de Visual Basic, incluidos los formularios y controles, tienen sus propias propiedades, métodos y eventos. Las propiedades pueden considerarse como los atributos de un objeto, los métodos como sus acciones y los eventos como sus respuestas. Un objeto corriente como un globo de helio también tiene propiedades, métodos y eventos. Las propiedades de un globo incluyen atributos visibles como su alto, diámetro y color. Otras propiedades describen su estado (inflado o desinflado) o atributos que no se ven, como su edad. Todos los globos tienen estas propiedades, aunque sus valores pueden diferir de un globo a otro. Un globo también tiene métodos o acciones conocidas que puede realizar. Tiene un método para inflarse (llenarlo con helio), un método para desinflarse (expulsar su contenido) y un método para elevarse (soltarlo). Asimismo, todos los globos pueden tener estos métodos. Los globos también tienen respuestas a ciertos eventos externos. Por ejemplo, un globo responde al evento de ser pinchado desinflándose o al evento de ser soltado elevándose. Propiedades, métodos y eventos Un globo tiene propiedades (Color, Alto y Diámetro), responde a eventos (Puncture) y puede ejecutar métodos (Deflate, MakeNoise). pág. 31 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Propiedades Si pudiera programar un globo, el código de Visual Basic Express podría parecerse al siguiente "código" que establece las propiedades de un globo. Balloon.Color = Red Balloon.Diameter = 10 Observe el orden del código: el objeto (Globo) seguido por la propiedad (Color) seguida por la asignación del valor (= Rojo). Métodos Los métodos de un globo se denominan de este modo. Balloon.Inflate () Balloon.Deflate () El orden es parecido al de una propiedad: el objeto (un nombre), seguido por el método (un verbo). Eventos El globo podría responder a un evento de la siguiente manera. Balloon.MakeNoise ("Bang") pág. 32 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Hacer que el programa reaccione ante el usuario: Crear un controlador de eventos En esta lección, aprenderá a crear un controlador de eventos. Los controles tienen propiedades, métodos y eventos y se utilizan para crear la interfaz de usuario. Los eventos son situaciones especiales que le pueden suceder a un control. Por ejemplo, se puede hacer clic en un control, se puede escribir texto en él, el puntero del mouse se puede mover sobre el control y así sucesivamente. Cuando se produce algo interesante, el control provoca un evento; es decir, envía una señal al programa para hacerle saber que ha sucedido algo. El programa comprueba si tiene algún método para controlar dicho evento. Tales métodos se denominan controladores de eventos. Un ejemplo es un método que se ejecuta cuando se hace clic en un botón, como el método que se creó en Interactuar con el usuario: utilizar botones. Puede crear controladores de eventos para una variedad de eventos de control. En esta lección, creará controladores de eventos para controlar los eventos MouseEnter y MouseLeave de un botón: los eventos que se provocan cuando se mueve un mouse sobre un control. Ejemplo: Para controlar el evento MouseEnter 1. En el menú Archivo, seleccione Nuevo proyecto. 2. En el cuadro de diálogo Nuevo proyecto, en el panel Plantillas, haga clic en Aplicación de Windows Forms. 3. En el cuadro Nombre, escriba Eventos y, a continuación, haga clic en Aceptar. 4. Se abre un nuevo proyecto de formularios Windows Forms. 5. En el Cuadro de herramientas, arrastre un control Button hasta el formulario. pág. 33 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade 6.- Haga doble clic en el control Button1. Justo sobre el Editor de código, observe los dos cuadros desplegables. El cuadro de la izquierda contiene una lista de todos los controles que aparecen en el formulario, al igual que Form1, (General) y (Eventos de Form1). El cuadro de la derecha muestra cada uno de los eventos disponibles para el elemento que se muestra en el cuadro de la izquierda. General 7.- En el cuadro de la izquierda (General), elija Button1 pág. 34 Eventos Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade 8.- En el cuadro de la derecha, elija MouseEnter. Button1 MouseEnter Button1_MouseEnter Aparece un nuevo controlador de eventos denominado Button1_MouseEnter en el Editor de código. 9.- En el controlador de eventos Button1_MouseEnter, escriba el siguiente código. --------------------------------------------------------------------------------------Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click End Sub Private Sub Button1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.MouseEnter End End Sub End Class ---------------------------------------------------------------------------------------Presione F5 para ejecutar el programa. pág. 35 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Pase el puntero del mouse sobre el botón. Observe que cuando el puntero del mouse pasa sobre Button1 se genera la acción. Nombre de objetos En principio cada objeto de Visual Basic debe tener un nombre, por medio del cual se hace referencia a dicho objeto. El nombre (name) puede ser el que el usuario desee, e incluso Visual Basic proporciona nombres por defecto para los diversos controles. Estos nombres por defecto hacen referencia al tipo de control y van seguido de un número que se incrementa a medida que se van introduciendo más controles de ese mismo tipo en el formulario, por ejemplo, Text1 para una caja de texto, Text2 para otra caja de texto, Command1 para un botón de comando, Command2 para otro botón de comando, etc. Los nombres por defectos no son adecuados porque sólo hacen referencia al tipo de control, pero no al uso que de dicho control está haciendo el programador. Por ejemplo, si se agregan dos botones a una aplicación (Command1, Command2) uno para salir de la aplicación y otro para guardar los cambios hechos en la aplicación, sería recomendable que el botón de cerrar lleve por nombre “cmdCerrar” y el botón de guardar “cmdGuardar” y no los nombres por defecto Command1 y Command2, ya que en ocasiones no sabremos para que utilizamos uno y para que utilizamos el otro. Para asignar los nombres a los controles existe una convención ampliamente aceptada que es la siguiente: se utilizan siempre tres letras en minúscula que indican el tipo de control, seguido de otras letras (la primera en mayúscula) libremente escogidas por el usuario, que tienen que hacer referencia al uso que se va a dar a ese control. La tabla 1.1 muestra las abreviaturas de los controles más usuales, junto con la nomenclatura inglesa de la que se derivan. Abreviatura chk Control CheckBox Abreviatura cbo Control Combo y Drop-ListBox cmd drv frm hsb lbl lst opt shp tmr CommandButton DriveListBox Form HorizontalScrollBar Label List OptionButton Shape Timer dir fil fra img lin mnu pct txt vsb DirListBox FileListBox Frame Image Line Menu PictureBox TextBox VerticalScrollBar Tabla 1.1. Abreviaturas para los controles más usuales. pág. 36 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Ocultar y mostrar formularios Ejemplo: Para ocultar un formulario y mostrar otro 1. Agrega 2 formularios Para agregar un nuevo formulario se debe ir al menú Proyecto, Agregar Windows Forms 2.- Ir al formulario 1 y agregar los controles que se muestran en la siguiente imagen. Label1 Button1 3.- Ir al formulario 2 y agregar los controles que se muestran en la siguiente imagen. Label1 pág. 37 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade 4.- Regresar al formulario 1 y Haga doble clic en el control Button1. Código: --------------------------------------------------------------------------------------------------Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Form2.Show() Me.Hide() End Sub End Class --------------------------------------------------------------------------------------------------Presione F5 para ejecutar el programa. Los formularios poseen un método llamado Hide que permite ocultar el formulario y otro método llamado Show que permite mostrarlo después de haber sido ocultado. Form2 indica el nombre del formulario que en este caso es el formulario 2, Me indica el nombre del formulario con el que se está trabajando actualmente, que en este caso es el formulario 1. pág. 38 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Habilitar y deshabilitar un botón Ejemplo: 1.- Abra un nuevo formulario e inserte tres botones. Button1 Button2 Button3 2.- Escriba en Button1 en la propiedad Text “Botón Principal” y en la propiedad (Name) escriba “cmdBotonPrincipal”. 3.- Escriba en Button2 en la propiedad Text “Deshabilitar” y en la propiedad (Name) “cmdDeshabilitar”. 4.- Escriba en Button3 en la propiedad Text “Habilitar” y en la propiedad (Name) “cmdHabilitar”. 5.- Haga doble clic en el control Button2. Código: --------------------------------------------------------------------------------------------------Private Sub cmdDeshabilitar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdDeshabilitar.Click cmdBotonPrincipal.Enabled = False End Sub --------------------------------------------------------------------------------------------------6.- Regrese a la vista de diseño del formulario y haga doble clic en el control Button3. Código: --------------------------------------------------------------------------------------------------Private Sub cmdHabilitar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdHabilitar.Click cmdBotonPrincipal.Enabled = True End Sub --------------------------------------------------------------------------------------------------- pág. 39 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Ocultar y mostrar un botón Ejemplo: 1.- Abra un nuevo formulario e inserte tres botones. Button1 Button2 Button3 2.- Escriba en Button1 en la propiedad Text “BOTÓN 1” 3.- Escriba en Button2 en la propiedad Text “MOSTRAR BOTÓN 1” 4.- Escriba en Button3 en la propiedad Text “OCULTAR BOTÓN 1” 5.- Haga doble clic en el control Button2. Código: --------------------------------------------------------------------------------------------------Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Button1.Visible = True End Sub --------------------------------------------------------------------------------------------------6.- Regrese a la vista de diseño del formulario y haga doble clic en el control Button3. Código: --------------------------------------------------------------------------------------------------Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Button1.Visible = False End Sub --------------------------------------------------------------------------------------------------- pág. 40 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Cambiar el color de fondo de un TextBox y un Label Ejemplo: 1.- Abra un nuevo formulario e inserte un cuadro de texto, una etiqueta y un botón. TextBox1 Label1 Button1 2.- Haga doble clic en el control Button1. Código: --------------------------------------------------------------------------------------------------Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click TextBox1.BackColor = Color.Green Label1.BackColor = Color.Green End Sub End Class --------------------------------------------------------------------------------------------------- pág. 41 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade El control PictureBox El control PictureBox se utiliza para mostrar y cargar archivos de imagen. Ejemplo: Presione F5 para ejecutar el programa. pág. 42 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade El control RadioButton El RadioButton permite al usuario seleccionar una única opción entre un grupo de elecciones cuando se emparejan con otros controles RadioButton. Cuando el usuario selecciona un botón de opción dentro de un grupo, los otros se borran automáticamente. Ejemplo: Cambiar el color de un texto. 1.- Abra un nuevo formulario e inserte un TextBox y seis RadioButtons como se visualiza en la siguiente imagen. RadioButton1 RadioButton2 RadioButton3 RadioButton4 RadioButton5 RadioButton6 TextBox1 2.- Haga doble clic en el control RadioButton1. Código: --------------------------------------------------------------------------------------------------Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged TextBox1.ForeColor = Color.Red End Sub --------------------------------------------------------------------------------------------------- pág. 43 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade 3.- Regrese a la vista de diseño del formulario y haga doble clic en el control RadioButton2. Código: --------------------------------------------------------------------------------------------------Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged TextBox1.ForeColor = Color.Blue End Sub --------------------------------------------------------------------------------------------------4.- Regrese a la vista de diseño del formulario y haga doble clic en el control RadioButton3. Código: --------------------------------------------------------------------------------------------------Private Sub RadioButton3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton3.CheckedChanged TextBox1.ForeColor = Color.Green End Sub --------------------------------------------------------------------------------------------------5.- Regrese a la vista de diseño del formulario y haga doble clic en el control RadioButton4. Código: --------------------------------------------------------------------------------------------------Private Sub RadioButton4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton4.CheckedChanged TextBox1.ForeColor = Color.Yellow End Sub --------------------------------------------------------------------------------------------------6.- Regrese a la vista de diseño del formulario y haga doble clic en el control RadioButton5. Código: --------------------------------------------------------------------------------------------------Private Sub RadioButton5_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton5.CheckedChanged TextBox1.ForeColor = Color.Orange End Sub --------------------------------------------------------------------------------------------------- pág. 44 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade 7.- Regrese a la vista de diseño del formulario y haga doble clic en el control RadioButton6. Código: --------------------------------------------------------------------------------------------------Private Sub RadioButton6_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton6.CheckedChanged TextBox1.ForeColor = Color.Black End Sub --------------------------------------------------------------------------------------------------Presione F5 para ejecutar el programa. pág. 45 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade El control LinkLabel El control LinkLabel de formularios Windows Forms permite agregar vínculos de estilo Web a aplicaciones de Windows Forms. Puede establecer parte del texto como un vínculo a un objeto o una página Web. Ejemplo: Abrir una página de internet desde un LinkLabel. 1.- Abra un nuevo formulario e inserte un LinkLabel. LinkLabel1 2.- Haga doble clic en el control LinkLabel1. Código: --------------------------------------------------------------------------------------------------Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked System.Diagnostics.Process.Start("http://www.google.com") End Sub --------------------------------------------------------------------------------------------------Presione F5 para ejecutar el programa. pág. 46 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Ejemplo: Enviar un correo electrónico desde un LinkLabel. 1.- Abra un nuevo formulario e inserte un LinkLabel. Linklabel1 2.- Haga doble clic en el control LinkLabel1. Código: --------------------------------------------------------------------------------------------------Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked System.Diagnostics.Process.Start("mailto:[email protected]?subject=SALUDO S") End Sub --------------------------------------------------------------------------------------------------Presione F5 para ejecutar el programa. pág. 47 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade El control ListBox El control ListBox permite mostrar una lista de elementos para que el usuario los seleccione haciendo clic en ellos. Un control ListBox puede proporcionar una o varias selecciones mediante la propiedad SelectionMode. ListBox también proporciona la propiedad MultiColumn para poder mostrar los elementos en columnas en lugar de mostrarlos en una lista vertical. Con esto, el control puede mostrar más elementos visibles y el usuario ya no necesita desplazarse a un elemento. Ejemplo: Agregar información a un ListBox 1.- Abra un nuevo formulario e inserte un TextBox, un ListBox y un Button como se visualiza en la siguiente imagen. ListBox1 Button1 TextBox1 2.- Haga doble clic en el control Button1. Código: --------------------------------------------------------------------------------------------------Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim agregar As String agregar = TextBox1.Text ListBox1.Items.Add(agregar) End Sub --------------------------------------------------------------------------------------------------- pág. 48 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade El control ComboBox El control ComboBox de los formularios Windows Forms se utiliza para mostrar datos en un cuadro combinado desplegable. De forma predeterminada, el control ComboBox aparece en dos partes: la parte superior es un cuadro de texto que permite al usuario escribir un elemento de la lista. La segunda parte es un cuadro de lista que muestra una lista de elementos, de los cuales el usuario puede seleccionar uno. Agregar información a un ComboBox y un Listbox Ejemplo: 1.- Abra un nuevo formulario e inserte un ComboBox, un ListBox y dos Button como se visualiza en la siguiente imagen. ComboBox1 ListBox1 Button1 Button2 2.- Haga doble clic en el control Button1. Código: --------------------------------------------------------------------------------------------------Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ComboBox1.Items.Add("Visual Basic 6.0") ComboBox1.Items.Add("Visual Basic 2005") ComboBox1.Items.Add("Visual Basic 2008") ListBox1.Items.Add("Visual Basic 6.0") ListBox1.Items.Add("Visual Basic 2005") ListBox1.Items.Add("Visual Basic 2008") End Sub --------------------------------------------------------------------------------------------------- pág. 49 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade 3.- Regrese a la vista de diseño del formulario y haga doble clic en el control Button2. Código: --------------------------------------------------------------------------------------------------Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ComboBox1.Items.Remove("Visual Basic 6.0") ComboBox1.Items.Remove("Visual Basic 2005") ComboBox1.Items.Remove("Visual Basic 2008") ListBox1.Items.Remove("Visual Basic 6.0") ListBox1.Items.Remove("Visual Basic 2005") ListBox1.Items.Remove("Visual Basic 2008") End Sub --------------------------------------------------------------------------------------------------Presione F5 para ejecutar el programa. pág. 50 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade El control MenuStrip Este control agrupa los comandos de aplicación y los hace más fácilmente accesibles Los menús exponen la funcionalidad a sus usuarios presionando comandos agrupados por un tema común. Con el control puede crear fácilmente menús como los de Microsoft Office. Ejemplo: 1.- Abra un nuevo formulario e inserte un MenuStrip y coloque la información que se muestra en la siguiente imagen. MenuStrip 2.- Haga doble clic en el escrito Salir. Código: --------------------------------------------------------------------------------------------------Private Sub SalirToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SalirToolStripMenuItem.Click Application.Exit() End Sub --------------------------------------------------------------------------------------------------- pág. 51 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade El control Timer El control Timer es un temporizador que nos permite ejecutar instrucciones de código, rutinas, funciones etc..., cada cierto intervalo de tiempo. Este control es invisible en tiempo de ejecución, esto quiere decir que no tiene interfaz gráfica, solo es visible cuando lo agregamos a un formulario y estamos en modo de diseño. La propiedad más importante de este control es la propiedad Interval La propiedad Interval devuelve o establece el número de milisegundos entre dos llamadas al evento Timer de un control Timer, esto quiere decir que la propiedad es la que determina el intervalo en el que ejecutará las instrucciones que estén en el evento llamado Timer, que es el único evento que posee el control. Ejemplo: 1.- Abra un nuevo formulario e inserte un Label1 y un Timer como se visualiza en la siguiente imagen. Label1 Timer1 pág. 52 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade 2.- Haga doble clic en el formulario (Form1). Código: --------------------------------------------------------------------------------------------------Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Timer1.Enabled = True Timer1.Interval = 1 End Sub --------------------------------------------------------------------------------------------------- 3.- Regrese a la vista de diseño del formulario y haga doble clic en el control Timer1. Código: --------------------------------------------------------------------------------------------------Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Label1.Text = TimeOfDay End Sub --------------------------------------------------------------------------------------------------Presione F5 para ejecutar el programa. pág. 53 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Realizar la manipulación básica de datos en el lenguaje de programación visual Representación de palabras, números y valores con variables Las variables son un concepto importante en programación. Una variable es una letra o un nombre que puede almacenar un valor. Al crear programas, se pueden utilizar variables para almacenar números, por ejemplo, el alto de un edificio, o palabras, por ejemplo, el nombre de una persona. Resumiendo, se pueden utilizar variables para representar cualquier tipo de información que el programa necesite. Almacenar información en variables Hay tres pasos para utilizar una variable: Declarar la variable. Indicar al programa el nombre y el tipo de variable que se desea utilizar. Asignar la variable. Proporcionar un valor a la variable. Utilizar la variable. Recuperar el valor contenido en la variable y utilizarlo en el programa. Declarar variables Cuando declara una variable, tiene que decidir cómo llamarla y qué tipo de datos asignarle. Se declara una variable utilizando las palabras clave Dim y As, como se muestra a continuación. Ejemplo: -----------------------------------------------------------------------------Public Class Form1 Dim aNumber As Integer Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub End Class ------------------------------------------------------------------------------Esta línea de código indica al programa que se desea utilizar una variable denominada aNumber, que almacene números enteros (el tipo de datos Integer). pág. 54 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Puesto que aNumber es un Integer, sólo puede almacenar números enteros. Por ejemplo, si desea almacenar 42.5 utilizará el tipo de datos Double. Y si desea almacenar una palabra, utilizará un tipo de datos String. Ejemplos de cómo declarar las variables. -----------------------------------------------------------------------------Public Class Form1 Dim aNumber As Integer Dim aDouble As Double Dim aName As String Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub End Class ------------------------------------------------------------------------------- Asignar variables Se asigna un valor a la variable con el signo =, que a veces se denomina operador de asignación, como se muestra en el ejemplo siguiente. -----------------------------------------------------------------------------Public Class Form1 Dim aNumber As Integer Dim aDouble As Double Dim aName As String Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load aNumber = 0 End Sub End Class ------------------------------------------------------------------------------Esta línea de código toma el valor 0 y lo almacena en la variable declarada previamente denominada aNumber. Declarar y asignar variables con un valor predeterminado Como se muestra anteriormente, puede declarar una variable en una línea de código y asignar más tarde el valor en otra línea. Esto puede producir un error si intenta utilizar la variable antes de asignarle un valor. Por esa razón, es mejor declarar y asignar las variables en una línea única. Aunque no sepa aún el valor que contendrá la variable, puede asignar un valor predeterminado. El código para declarar y asignar la misma variable mostrada anteriormente será similar al siguiente. pág. 55 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade -----------------------------------------------------------------------------Public Class Form1 Dim aNumber As Integer = 0 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub End Class ------------------------------------------------------------------------------- Ejemplo: En este ejercicio, realizará un breve programa que crea tres variables, les asigna valores y a continuación muestra cada valor en una ventana llamada cuadro de mensaje. Comencemos creando el proyecto donde se almacenará el código. Para crear el proyecto Si aún no está abierto, abra Visual Basic Express en el menú Inicio de Windows. En el menú Archivo, haga clic en Nuevo proyecto. Nuevo proyecto En el cuadro de diálogo Nuevo proyecto, en el panel Plantillas, haga clic en Aplicación de Windows Forms. En el cuadro Nombre, escriba VARIABLES y haga clic en Aceptar. pág. 56 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Aplicación de Windows Forms Nombre Visual Basic Express creará los archivos para el programa y abrirá el Diseñador de Windows Forms. Formulario (Form) A continuación, se crearán las variables. Para crear las variables y mostrar sus valores Haga doble clic en el formulario. El Editor de código abrirá una sección de código llamada Form1_Load. Esta sección de código, denominada procedimiento, contiene las instrucciones que se llevarán a cabo cuando se cargue por primera vez el formulario en la memoria. pág. 57 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Escriba el siguiente código. -----------------------------------------------------------------------------Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim anInteger As Integer = 42 Dim aSingle As Single = 39.345677653 Dim aString As String = "Hola Mundo" End Sub End Class ------------------------------------------------------------------------------Este código declara tres variables: Integer, Single y String, y asigna sus valores predeterminados. Sugerencia Al escribir el código, quizá haya observado que después de escribir As, aparece una lista de palabras bajo el cursor. Esta característica se llama Intellisense. Le permite escribir las primeras letras de una palabra y seleccionarla en la lista. Una vez seleccionada, presione la tecla TAB para finalizar la palabra. pág. 58 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Nota Siempre que representa texto real en un programa, éste debe aparecer entre comillas (" "). Esto le dice al programa que interprete el texto como texto real en lugar de interpretarlo como un nombre de variable. Debajo del código que escribió en el paso anterior, escriba lo siguiente. -----------------------------------------------------------------------------Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim anInteger As Integer = 42 Dim aSingle As Single = 39.345677653 Dim aString As String = "Hola Mundo" MsgBox(anInteger) MsgBox(aSingle) MsgBox(aString) End End Sub End Class ------------------------------------------------------------------------------Las tres líneas del código le dicen al programa que muestre cada valor que asignó en el paso anterior en una nueva ventana, utilizando la función MsgBox. La línea final indica al programa que finalice después de ejecutar este procedimiento: se utiliza la instrucción End. Presione F5 para ejecutar el programa. Haga clic en el botón Aceptar en cada ventana según aparezcan. Observe que sucesivamente se muestra el valor de cada variable y, a continuación, el programa finaliza. Después de que el programa finaliza, puede regresar y cambiar los valores que se asignaron en el código y ejecutar la aplicación de nuevo: verá que se muestran los nuevos valores. Tipos de datos para números La mayoría de los programas informáticos tratan con números de una forma u otra. Hay varias maneras diferentes de expresar números, Visual Basic Express cuenta con varios tipos de datos numéricos que tratan eficazmente con números. pág. 59 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade El tipo de dato numérico que más se utiliza es Integer, utilizado para representar un número entero (un número sin parte fraccionaria). Cuando se elige un tipo de datos para representar números enteros, hay que utilizar el tipo de datos Long si la variable va a almacenar números mayores que dos mil millones; de lo contrario, el tipo Integer es más útil. No todos los números son números enteros; por ejemplo, cuando se divide dos números enteros, el resultado es a menudo un número entero más una fracción (9 dividido por 2 es igual a 4.5). El tipo de datos Double se utiliza para representar números que tienen una parte fraccionaria. Ejemplo: -----------------------------------------------------------------------------Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim Numero1 As Integer = 9 Dim Numero2 As Integer = 2 Dim Resultado As Double Resultado = Numero1 / Numero2 MsgBox(Resultado) End End Sub End Class ------------------------------------------------------------------------------Presione F5 para ejecutar el programa. pág. 60 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Ejemplo: Elaborar una división utilizando la caja de herramientas de Visual Basic 2008 Crea un formulario con las siguientes características: Label1 Label2 Label3 Button1 TextBox1 TextBox2 TextBox3 Haga doble en el control Button1. Codigo: -----------------------------------------------------------------------------Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub _________________________ Dim Numero1 As Integer Dim Numero2 As Integer Dim resultado As Double _________________________ Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Numero1 = TextBox1.Text Numero2 = TextBox2.Text resultado = Numero1 / Numero2 TextBox3.Text = resultado End Sub End Class ------------------------------------------------------------------------------- pág. 61 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Presione F5 para ejecutar el programa. Tipos de datos para texto La mayoría de los programas también tratan con texto, ya sea mostrando información al usuario o capturando texto escrito por el usuario. El texto normalmente se almacena en el tipo de datos String, que puede contener una serie de letras, números, espacios y otros caracteres. El tipo String puede tener cualquier longitud, desde una frase o un párrafo a sólo un carácter o nada en absoluto (cadena nula). -----------------------------------------------------------------------------Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim aString As String = "Hola Mundo" MsgBox(aString) End End Sub End Class ------------------------------------------------------------------------------- pág. 62 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Por cada variable que representa un único carácter, también hay un tipo de datos Char. Si sólo necesita contener un carácter en una única variable, utilice el tipo de datos Char en lugar de String. -----------------------------------------------------------------------------Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim aString As Char = "Hola Mundo" MsgBox(aString) End End Sub End Class ------------------------------------------------------------------------------- Palabras y texto: Utilizar variables de cadena para organizar palabras En esta lección, aprenderá a utilizar el tipo de datos String para representar palabras y texto. En la lección anterior, aprendió a utilizar las variables para almacenar los datos en el programa y que cada variable debe ser del tipo adecuado para los datos que almacenará. En esta lección, aprenderá sobre el tipo de datos String utilizado para almacenar el texto. ¿Qué es una cadena? Una cadena es cualquier serie de caracteres de texto, como letras, números, caracteres especiales y espacios. Las cadenas pueden ser frases y oraciones legibles, como "El rápido zorro de color café salta sobre el perro perezoso" o una combinación aparentemente ininteligible como "@#fTWRE^3 35Gert". pág. 63 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Las variables String se crean del mismo modo que otras variables: declarando primero la variable y asignándole un valor, como se muestra a continuación. -----------------------------------------------------------------------------Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim aString As String = "Esta es una cadena" End Sub End Class ------------------------------------------------------------------------------- Al asignar un texto real (también denominado literales de cadena) a una variable String, el texto debe estar entre comillas (" "). También puede utilizar el carácter = para asignar una variable String a otra variable String, como se muestra en este ejemplo. -----------------------------------------------------------------------------Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim aString As String = "tambien una cadena" Dim bString As String = " " bString = aString MsgBox("y esta es " & bString) End End Sub End Class ------------------------------------------------------------------------------- pág. 64 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Otros ejemplos: -----------------------------------------------------------------------------Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim aString As String = "Hola" Dim bString As String = " " Dim cString As String = "Mundo" cString = aString & bString & cString MsgBox(cString) End End Sub End Class ------------------------------------------------------------------------------- -----------------------------------------------------------------------------Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim aString As String = "Hola" Dim bString As String = "Mundo" Dim cString As String cString = aString & " " & bString MsgBox(cString) End End Sub End Class ------------------------------------------------------------------------------- pág. 65 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Matrices: Variables que representan más de un valor En esta lección, aprenderá a utilizar matrices para almacenar grupos de valores. Como aprendió en las lecciones anteriores, las variables se utilizan para almacenar diferentes tipos de datos que el programa utiliza. Hay otro tipo de variable denominado matriz que proporciona una manera conveniente de almacenar diversos valores del mismo tipo. Por ejemplo, suponga que está escribiendo un programa para un equipo de futbol y desea almacenar los nombres de todos los jugadores que se encuentran en el campo de juego. Puede crear 11 variables de cadenas separadas, una para cada jugador o puede declarar una variable de matriz que se parezca al código que aparece a continuación. -----------------------------------------------------------------------------Public Class Form1 Dim players() As String Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub End Class ------------------------------------------------------------------------------Una variable de matriz se declara colocando paréntesis después del nombre de la variable. Si se sabe cuántos valores se necesita almacenar, también se puede especificar el tamaño de la matriz en la declaración de la siguiente manera. -----------------------------------------------------------------------------Public Class Form1 Dim players(10) As String Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub End Class ------------------------------------------------------------------------------Puede parecer extraño que el tamaño de la matriz sea 10 cuando un equipo del futbol tiene 11 jugadores. Esto se debe a que la matriz está formada por una cantidad de valores o elementos, que comienzan con el elemento 0 y terminan con el número especificado en la declaración. En este caso, la matriz contiene los elementos 0 a 10, de un total de once. pág. 66 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Asignar valores a las matrices Al igual que con otros tipos de valores, debe asignar valores a las matrices. Para ello, se hace referencia al número del elemento como parte de la asignación, como se muestra a continuación. -----------------------------------------------------------------------------Public Class Form1 Dim players(10) As String Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load players(0) = "Juan" players(1) = "Pedro" players(2) = "Mario" End Sub End Class ------------------------------------------------------------------------------- Ejemplo: -----------------------------------------------------------------------------Public Class Form1 Dim players(10) As String Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load players(0) = "Juan" players(1) = "Pedro" players(2) = "Mario" MsgBox(players(1)) End End Sub End Class ------------------------------------------------------------------------------- pág. 67 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Al igual que con otros tipos de valores, puede declarar y asignar los valores a una matriz en una línea única de la siguiente manera. -----------------------------------------------------------------------------Public Class Form1 Dim players() As String = {"Juan", "Pedro", "Mario"} Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub End Class ------------------------------------------------------------------------------- Ejemplo: -----------------------------------------------------------------------------Public Class Form1 Dim players() As String = {"Juan", "Pedro", "Mario"} Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load MsgBox(players(2)) End End Sub End Class ------------------------------------------------------------------------------- pág. 68 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Ejemplo: Programa que al insertar un número da el nombre del jugador. Crea un formulario con las siguientes características: Label1 TextBox1 Button1 Label2 Haga doble en el control Button1. Codigo: -----------------------------------------------------------------------------Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub Dim nombres() As String = {"", "Ricardo Espadas", "Álvez", "Suárez", " López "} Dim numero As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click numero = TextBox1.Text Label2.Text = nombres(numero) End Sub End Class ------------------------------------------------------------------------------Presione F5 para ejecutar el programa. pág. 69 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Aritmética: Crear expresiones con variables y operadores En esta lección, aprenderá a crear expresiones para realizar operaciones aritméticas y devolver valores. Una expresión es un segmento de código que realiza operaciones aritméticas y, a continuación, devuelve un valor. En el siguiente ejemplo se muestra una expresión de suma simple. 5+4 Cuando se evalúa, la expresión 5 + 4 devuelve el valor 9 y se compone de dos partes: los operandos (5 y 4), que son los valores en los que se realiza la operación, y el operador (+), que especifica la operación que se va a realizar. Operadores aritméticos Las expresiones habitualmente se utilizan para realizar operaciones aritméticas con variables: suma, resta, multiplicación o división. La tabla siguiente describe los operadores normalmente utilizados para operaciones aritméticas. El tipo de variable que se utiliza al realizar la operación aritmética puede afectar el resultado. La división de dos números a menudo da como resultado un valor que no es un número entero. Por ejemplo, cuando se divide 3 por 2, el resultado es 1,5. Si se asigna el valor devuelto de esa expresión a una variable Integer, se redondeará al número entero más cercano. Al realizar la división, se debe utilizar una variable Double para almacenar el valor devuelto. pág. 70 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Ejemplo: Programa para sumar números decimales. TextBox1 TextBox3 Button1 Label1 TextBox2 Label2 Haga doble en el control Button1. Codigo: -----------------------------------------------------------------------------Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub Dim valor1 As Double Dim valor2 As Double Dim resultado As Double Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click valor1 = TextBox1.Text valor2 = TextBox2.Text resultado = valor1 + valor2 TextBox3.Text = resultado End Sub End Class ------------------------------------------------------------------------------Presione F5 para ejecutar el programa. pág. 71 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Operadores de asignación Un operador de asignación altera el valor de un objeto si alterar su tipo. El operador usual de asignación (=), copia el valor del operando de la derecha en el operando de la izquierda, aplicando las conversiones de tipo usuales cuando es necesario. El operador básico de asignación es "=" A primera vista se podría pensar que es el operador de comparación "igual que" Pero no, realmente significa que el operando de la izquierda toma el valor de la expresión a la derecha. pág. 72 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Sentencias de control Las sentencias de control, denominadas también estructuras de control, permiten tomar decisiones y realizar un proceso repetidas veces. Son los denominados bifurcaciones y bucles. Este tipo de estructuras son comunes en cuanto a concepto en la mayoría de los lenguajes de programación, aunque su sintaxis puede variar de un lenguaje de programación a otro. Se trata de un conjunto de estructuras muy importantes ya que se encargan de controlar el flujo de un programa según los requerimientos del mismo. Sentencia If … Then … Else … Los operadores de comparación se utilizan frecuentemente para comparar valores y tomar decisiones basadas en esa comparación. La toma de decisiones en el programa se tratará exhaustivamente en Hacer que un programa elija entre dos posibilidades. Formatos de la sentencia IF: If <condición> Then <Sentencias1> Else <Sentencias2> End If Si<condición> Entonces <Sentencias1> Sino <Sentencias2> End If Si condición es True (verdadera), se ejecutan las sentencias que están a continuación de Then, y si condición es False (falsa), se ejecutan las sentencias que están a continuación de Else, si esta cláusula ha sido especificada. Ejemplo: --------------------------------------------------------------------------------Dim numero As Integer = 10 If numero < 20 Then MsgBox("El número es menor de 10.") Else MsgBox("El número es mayor de 10." End If ----------------------------------------------------- pág. 73 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Cambiar el color de fondo de un TextBox utilizando la Sentencia If -Then - Else Ejemplo: 1.- Abra un nuevo formulario e inserte un cuadro de texto y un botón. TextBox1 Button1 2.- Haga doble en el control Button1. Código: --------------------------------------------------------------------------------------------------Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If TextBox1.Text = ("VERDE") Then TextBox1.BackColor = Color.Green ElseIf TextBox1.Text = ("ROJO") Then TextBox1.BackColor = Color.Red ElseIf TextBox1.Text = ("AMARILLO") Then TextBox1.BackColor = Color.Yellow Else TextBox1.Text = "NO SE ENCUENTRA EL COLOR" TextBox1.BackColor = Color.White End If End Sub --------------------------------------------------------------------------------------------------- Si la palabra es AMARILLO en el cuadro de texto al oprimir el botón cambia el color de fondo del cuadro de texto por el color que se escribió, si no se encuentra el color aparece un mensaje “NO SE ENCUENTRA EL COLOR”. pág. 74 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Operador lógico Se utilizan para combinar las expresiones lógicas, es decir, que nos permiten evaluar más de una expresión lógica a la vez. Los operadores And, Or y Not trabajan con operando que son expresiones lógicas. Su formato es: [Operando1] operador lógico [Operando2] Donde operando1 y operando2 pueden ser cualquier expresión lógica. Ejemplos: 5 > 6 And 7 > 20 3 > 1 And 6 < 20 Falso. Verdadero. El operador lógico And (y): El operador And (y) combina dos o más condiciones simples y produce un resultado verdadero sólo si todos los operando son verdaderos. Operando 1 True True False False and Operando 2 True False True False Valor True False False False El operador lógico Or (o): Proporciona un valor verdadero si uno de los operando es verdadero. Operando 1 True True False False Or Operando 2 True False True False Valor True True True False pág. 75 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade El operador lógico Not (no): Niega el valor original de una expresión, si es verdadero será falso, si es falso será verdadero. Not Operando True False Valor False True Ejemplo del uso del operador Not: ---------------------------------------------------------------------Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim a As Integer = 10 Dim b As Integer = 8 Dim c As Integer = 6 Dim firstPattern, secondPattern, thirdPattern As Integer firstPattern = (Not a) secondPattern = (Not b) thirdPattern = (Not c) MsgBox(firstPattern) MsgBox(secondPattern) MsgBox(thirdPattern) End Sub Para indicar que se quiere ejecutar uno de varios bloques de sentencias dependientes cada uno de ellos de una condición, la estructura adecuada es la siguiente: If condicion1 Then Sentencias1() ElseIf condicion2 Then Sentencias2() Else Sentencias(-n) End If Si se cumple la condicion1 se ejecutan las sentencias1, y si no se cumple, se examinan secuencialmente las condiciones siguientes hasta Else, ejecutándose las sentencias correspondientes al primer ElseIf cuya condición se cumpla. Si todas las condiciones son Falsas, se ejecutan las sentencias-n correspondiente a la cláusula Else, que es la opción por defecto. pág. 76 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Cambiar el color de fondo de un TextBox utilizando la Sentencia If -Then – ElseIf Else y el operador Or (O). Ejemplo: 1.- Abra un nuevo formulario e inserte un cuadro de texto y un botón. TextBox1 Button1 2.- Haga doble en el control Button1. Código: --------------------------------------------------------------------------------------------------Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If TextBox1.Text = ("VERDE") Or TextBox1.Text = ("verde") Then TextBox1.BackColor = Color.Green ElseIf TextBox1.Text = ("ROJO") Or TextBox1.Text = ("rojo") Then TextBox1.BackColor = Color.Red ElseIf TextBox1.Text = ("AMARILLO") Or TextBox1.Text = ("amarillo") Then TextBox1.BackColor = Color.Yellow Else TextBox1.Text = "NO SE ENCUENTRA EL COLOR" TextBox1.BackColor = Color.White End If End Sub --------------------------------------------------------------------------------------------------- Si la palabra que escribió es AMARILLO ó amarillo, cambia el color de fondo del cuadro de texto por el color que se escribió, si no se encuentra el color aparece un mensaje “NO SE ENCUENTRA EL COLOR”. pág. 77 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Utilizar un Password para activar un botón utilizando Sentencia If -Then – Else. Ejemplo: 1.- Abra un nuevo formulario e inserte los controles que se muestran en la imagen. Button1 Label1 Button2 TextBox1 2.- Seleccione el control TextBox1, y en la Ventana de Propiedades en la opción PasswordChar coloque un asterisco (*), la propiedad PasswordChar Indica el carácter que se debe mostrar cuando se escriben contraseñas. PasswordChar 3.- Haga doble clic en el formulario (form1). Código: --------------------------------------------------------------------------------------------------Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Button1.Enabled = False End Sub --------------------------------------------------------------------------------------------------- pág. 78 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade 4.- Regresar a la vista del diseño del formulario y hacer doble clic en Button2. Button2 Código: --------------------------------------------------------------------------------------------------Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click If TextBox1.Text = ("12345") Then Button1.Enabled = True Label1.Text = "CONTRASEÑA CORRECTA" Else Label1.Text = "CONTRASEÑA INCORRECTA" End If End Sub --------------------------------------------------------------------------------------------------El código anterior se interpreta de la siguiente manera: Si el texto del cuadro de texto (TextBox) es igual a 12345 se activa el botón (Button1) y muestra en la etiqueta (Label1) el texto CONTRASEÑA CORRECTA, pero si no, muestra en la etiqueta (Label1) el texto CONTRASEÑA INCORRECTA. pág. 79 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Crear un formulario de inicio de sesión con usuario y contraseña utilizando la Sentencia If -Then - Else y el operador AndAlso Ejemplo: Para crear el proyecto Si aún no está abierto, abra Visual Basic Express en el menú Inicio de Windows. 1.- En el menú Archivo, haga clic en Nuevo proyecto. Nuevo proyecto 2.- En el cuadro de diálogo Nuevo proyecto, en el panel Plantillas, haga clic en Aplicación de Windows Forms. 3.- En el cuadro Nombre, escriba MI_USUARIO y haga clic en Aceptar. Aplicación de Windows Forms Nombre pág. 80 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Visual Basic Express creará los archivos para el programa y abrirá el Diseñador de Windows Forms. Formulario (Form1) Visual Basic 2008 ofrece un formulario de inicio de sesión predefinido el cual se puede obtener desde el menú Proyecto, Agregar Windows Forms, Formulario de inicio de sesión. Formulario de inicio de sesión pág. 81 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade 4.- Seleccionar el formulario LoginForm1. El cuadro de texto del nombre de usuario (TextBox) viene predefinido con el nombre UsernameTextBox y el cuadro de texto de contraseña con el nombre PasswordTextBox, los nombres pueden ser modificados si se desea en la Ventana de Propiedades (Name). UsernameTextBox PasswordTextBox 5.- Dar doble clic al botón Aceptar. Código: --------------------------------------------------------------------------------------------------Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click If UsernameTextBox.Text = ("JIGA") AndAlso PasswordTextBox.Text = ("12345") Then MsgBox("CLAVE CORRECTA") Form1.Show() Me.Hide() Else MsgBox("INCORRECTO") End If --------------------------------------------------------------------------------------------------- pág. 82 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade El código anterior se interpreta de la siguiente manera: Si el texto del cuadro de texto (UsernameTextBox) es igual a JIGA y también el texto del cuadro de texto (PasswordTextBox) es igual a 12345 se muestra un mensaje con la palabra CLAVE CORRECTA, muestra el formulario1 y oculta el formulario actual, pero si no, sólo se muestra un mensaje con la palabra INCORRECTO. 6.- Regresar a la vista del diseño del formulario y hacer doble clic en Botón Cancelar. Código: --------------------------------------------------------------------------------------------------Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click UsernameTextBox.Text = "" PasswordTextBox.Text = "" End Sub --------------------------------------------------------------------------------------------------Al ejecutar el programa se iniciará con el formulario 1 (Form1) y no con el formulario LoginForm1, para cambiar el formulario con el que se desea iniciar en primer lugar se deberá ir al menú Proyecto, Propiedades de WindowsApplication1… Propiedades de WindowsApplication1 pág. 83 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Se visualizará la siguiente ventana: En la opción Formulario de inicio aparecerán todos los formularios con los que se está trabajando y se seleccionará el formulario con el que se desea iniciar. Formulario de inicio Presione F5 para ejecutar el programa. pág. 84 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Mensajes de Advertencia Estos iconos corresponden a los siguientes mensajes: Mensaje crítico. Mensaje de pregunta. Mensaje exclamativo. Mensaje de información. Para mostrar el icono en cuestión o para que Visual Basic lo entienda, es necesario escribir lo siguiente: Mensaje crítico. VbCritical ó 16 Mensaje de pregunta. VbQuestion ó 32 Mensaje exclamativo. VbExclamation ó 48 Mensaje de información. VbInformation ó 64 Ejemplos: Código: --------------------------------------------------------------------------------------------------Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim VENTANA VENTANA = vbInformation MsgBox("ERROR", VENTANA) End End Sub --------------------------------------------------------------------------------------------------- pág. 85 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Código: --------------------------------------------------------------------------------------------------Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim VENTANA VENTANA = 64 MsgBox("ERROR", VENTANA) End End Sub --------------------------------------------------------------------------------------------------- Código: --------------------------------------------------------------------------------------------------Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim VENTANA As String VENTANA = vbYesNo + vbQuestion MsgBox("ERROR", VENTANA) End End Sub --------------------------------------------------------------------------------------------------- pág. 86 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Código: --------------------------------------------------------------------------------------------------Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim VENTANA As String VENTANA = vbYesNo + vbCritical MsgBox("ERROR", VENTANA) End End Sub --------------------------------------------------------------------------------------------------- Código: --------------------------------------------------------------------------------------------------Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim VENTANA As String VENTANA = vbYesNo + vbExclamation MsgBox("ERROR", VENTANA) End End Sub --------------------------------------------------------------------------------------------------- pág. 87 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Ejemplo: 1.- Abra un nuevo formulario e inserte un botón. 2.- Haga doble en el control Button1. Código: --------------------------------------------------------------------------------------------------Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Mensaje, Estilo, Respuesta 'Se declaran las variables Mensaje = "¿Deseas salir de la aplicacion?" 'Define el mensaje. Estilo = vbYesNo + vbQuestion 'Define los botones. Respuesta = MsgBox(Mensaje, Estilo) 'Muestra el mensaje. 'Verifica cual fue el botón pulsado por el usuario. If Respuesta = vbYes Then 'El usuario eligió el botón Sí. MsgBox("Gracias por utilizar el programa") Me.Hide() Else ' El usuario eligió el botón No. MsgBox("Se hizo clic en el botón No.") End If End Sub --------------------------------------------------------------------------------------------------- pág. 88 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade La Caja de comprobación (CheckBox) El control CheckBox de los formularios Windows Forms indica si una condición determinada está activada o desactivada. Se utiliza habitualmente para presentar al usuario una selección de tipo Sí/No o Verdadero/Falso. Puede utilizar grupos de casillas de verificación para mostrar múltiples opciones entre las cuales el usuario puede elegir una o más. Es similar al control RadioButton aunque en este caso puede seleccionarse cualquier número de controles CheckBox agrupados. Ejemplo: Aplicación que muestra el control CheckBox y sus propiedades, programado desde el editor de código. 1.- Abra un nuevo formulario 2.- Haga doble en el formulario (Form1). Código: --------------------------------------------------------------------------------------------------Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim CheckBox1 As New CheckBox() CheckBox1.Text = "CAJA DE COMPROBACIÓN" CheckBox1.Location = New Point(40, 10) CheckBox1.Size = New Size(195, 45) Me.Controls.Add(CheckBox1) End Sub --------------------------------------------------------------------------------------------------Me.Controls.Add(CheckBox1) permite agregar un control al formulario en este caso es el control CheckBox1. pág. 89 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Ejemplo 2: Aplicación que muestra el control Button y sus propiedades, programado desde el editor de código. 1.- Abra un nuevo formulario 2.- Haga doble en el formulario (Form1). Código: --------------------------------------------------------------------------------------------------Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim Button1 As New Button() Button1.Text = "MI BOTÓN" Button1.Location = New Point(40, 20) Button1.Size = New Size(195, 45) Button1.ForeColor = Color.Blue Button1.BackColor = Color.Aqua Me.Controls.Add(Button1) End Sub --------------------------------------------------------------------------------------------------- pág. 90 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Como utilizar la Caja de comprobación (CheckBox) Propiedad Text La propiedad del CheckBox que visualiza el texto en el control se llama Text. Para establecerla se realiza desde la Ventana de Propiedades de Visual Basic, o en tiempo de ejecución de esta manera: Código: --------------------------------------------------------------------------------------------------Private Sub Form_Load() Check1.Text = "Es usted mayor de edad" Check2.Text = "¿ Tiene hijos ?" Check3.Text = "¿ Estudió alguna carrera ?" End Sub --------------------------------------------------------------------------------------------------Propiedad Checked La principal propiedad de este control es Checked. Cuando está en False, el CheckBox no está marcado, cuando está en True se muestra marcado. Ejemplo: 1.- Abra un nuevo formulario e inserte los controles que se muestran en la imagen. Label1 RectangleShape1 Label2 CheckBox1 CheckBox2 Button1 CheckBox3 Cuando se presione el botón, se mostrará un mensaje que arroje el resultado de la misma, evaluando mediante la propiedad Checked de cada Checkbox. Antes de evaluar los CheckBox comprobamos que se haya ingresado un texto en el TextBox1, si no se ingresó nada, se muestra un mensaje de advertencia y se termina la rutina mediante la instrucción Exit Sub, en cambio si se ingresó un nombre, Visual Basic prosigue la ejecución del resto del código: pág. 91 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade 2.- Haga doble clic en Button1. Código: --------------------------------------------------------------------------------------------------Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' -- Esta variable almacenará los datos para mostrar ' -- el resultado al final de la rutina Dim Resultado As String ' -- Esto verificará si el TextBox1 no está vacio y se ha ingresado un nombre If TextBox1.Text = "" Then ' -- si está vacío mostramos el mensaje MsgBox("Debe ingresar un nombre", vbExclamation, "Encuesta") ' -- Mediante Exit Sub salimos de la rutina Exit Sub End If ' -- Ahora guardamos en la Variable Resultado el nombre que ' -- se ingresó en el control text1 Resultado = "Su nombre es " & TextBox1.Text & vbNewLine ' -- Evaluamos el CheckBox1 (mayor de edad) If CheckBox1.Checked = False Then Resultado = Resultado & "Usted no es mayor de edad" Else Resultado = Resultado & "Usted es mayor de edad" End If ' -- Le agregamos a la variable resultado un salto de línea Resultado = Resultado & vbNewLine ' -- Evaluamos el CheckBox2 (Si tiene hijos ) If CheckBox2.Checked = 0 Then Resultado = Resultado & "Usted no tiene Hijos" Else Resultado = Resultado & "Usted tiene hijos" End If Resultado = Resultado & vbNewLine' -- Otro salto de linea If CheckBox3.Checked = 0 Then' -- Evaluamos el CheckBox3 (si estudió) Resultado = Resultado & "Usted no estudió una Carrera" Else Resultado = Resultado & "Usted estudió una Carrera" End If ' -- Mostramos el valor de la variable Resultado con la información MsgBox(Resultado, vbInformation, "Encuesta") End Sub --------------------------------------------------------------------------------------------------- pág. 92 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Hacer que un programa repita acciones: Establecer bucles For...Next La instrucción For...Next sirve para repetir las acciones en el programa y para contar cuántas veces se han realizado estas acciones. Cuando escribe un programa, debe repetir las acciones con frecuencia. Por ejemplo, suponga que está escribiendo un método que muestra una serie de números en pantalla. Deseará repetir la línea de código que muestra el número las veces que sea necesario. El bucle For...Next le permite especificar un número y repetir un código contenido dentro de ese bucle para el número específico de veces. El siguiente ejemplo muestra cómo aparece un bucle For...Next en un código. Código: --------------------------------------------------------------------------------------------------Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim i As Integer = 0 For i = 1 To 5 MsgBox(i) Next End Sub End Class --------------------------------------------------------------------------------------------------- El bucle For...Next comienza con una variable de contador, i. Ésta es una variable que utiliza el bucle para contar la cantidad de veces que se ha ejecutado. La siguiente línea (For i = 1 to 5) le dice al programa cuántas veces se debe repetir el bucle y los valores i que va a tener. Cuando el código entra en el bucle For...Next, se inicia con i que contiene el primer valor, en este caso 1. Cuando se alcanza la línea Next, se agrega 1 a i y la ejecución de programa regresa nuevamente a la línea For. Esto se repite hasta que el valor de i es mayor que el segundo número en la línea For, en este caso 5. Cuando esto sucede, el programa continúa con cualquier código después de la línea Next. pág. 93 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade El Control ProgressBar - Barra de progreso El control ProgressBar nos permite medir el progreso de una tarea o proceso en nuestro programa. Este control posee 3 propiedades fundamentales para trabajar en el código a la hora de mostrar el progreso en la barra. Estas tres propiedades principales son: Value, Maximum, Minimum. Las propiedades Maximum y Minimum definen el intervalo de valores que representarán el progreso de una tarea. Normalmente, la propiedad Minimum se establece en 0, y la propiedad Maximum se establece en un valor que indica que la tarea ha terminado. Por ejemplo, para mostrar correctamente el progreso al copiar un grupo de archivos, la propiedad Maximum se podría establecer en el número total de archivos que se van a copiar. La propiedad Value representa el progreso que la aplicación realiza para terminar la operación. El valor mostrado por ProgressBar sólo aproxima el valor actual de la propiedad Value. Según el tamaño del control ProgressBar, la propiedad Value determina cuándo se debe mostrar el siguiente bloque o aumentar el tamaño de la barra. Un control ProgressBar indica visualmente el progreso de una operación larga en uno de los tres estilos siguientes: Bloques segmentados que aumentan en pasos de izquierda a derecha. Una barra continua que se rellena de izquierda a derecha. Un bloque que se desplaza por una ProgressBar en modo de marquesina. La propiedad Style determina el estilo de ProgressBar que se muestra. Style pág. 94 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Ejemplo: 1.- Abra un nuevo formulario e inserte una barra de progreso (ProgressBar) y un botón (Button). ProgressBar 1 Button1 2.- Haga doble en el control Button1. Código: --------------------------------------------------------------------------------------------------Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ProgressBar1.Maximum = 5000 ProgressBar1.Minimum = 0 ProgressBar1.Value = 0 Dim x As Long For x = ProgressBar1.Minimum To ProgressBar1.Maximum ProgressBar1.Value = x Next MsgBox("BIENVENIDO") End Sub End Class --------------------------------------------------------------------------------------------------- pág. 95 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Sentencia Select Case La sentencia case se utiliza para elegir entre diferentes alternativas. Una sentencia case se compone de varias sentencias simples. Cuando case se ejecuta, una de las sentencias simples se selecciona y ejecuta. Su formato es: Select Case Expresión Case 1 [sentencias1]() Case 2 [sentencias2]() Case …N [Sentencias…N] Case Else [Sentencias-sino] End Select Ejemplo: Código: --------------------------------------------------------------------------------------------------Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Select Case TextBox1.Text Case 1 MsgBox("Este es el número uno.") Case 2 MsgBox("Este es el número dos.") Case 3 MsgBox("Este es el número tres.") Case 4 MsgBox("Este es el número cuatro.") Case Else MsgBox("No se a proporcionado los valores 1, 2, 3 o 4") End Select End Sub --------------------------------------------------------------------------------------------------Si el texto de la caja de texto (TextBox) toma el valor de 1 entonces se ejecuta el caso 1 que en este caso se ejecuta la sintaxis MsgBox (“Este es el número uno.”), si toma el valor de 2 entonces se ejecuta el caso 2 y a si sucesivamente si se toma el valor diferente a 1, 2, 3 y 4 mostrará en mensaje “No se a proporcionado los valores 1, 2, 3 o 4” pág. 96 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Hacer una conexión de base de datos MS Access 2007 con VB 2008 utilizando el asistente Si aún no está abierto, abra Visual Basic Express en el menú Inicio de Windows. 1.- En el menú Archivo, haga clic en Nuevo proyecto. Nuevo proyecto 2.- En el cuadro de diálogo Nuevo proyecto, en el panel Plantillas, haga clic en Aplicación de Windows Forms. 3.- En el cuadro Nombre, escriba MI_BD y haga clic en Aceptar. Aplicación de Windows Forms Nombre Visual Basic Express creará los archivos para el programa y abrirá el Diseñador de Windows Forms. pág. 97 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Haga clic en el menú Datos, Mostrar orígenes de datos. Aparecerá una ventana llamada Origen de datos. Origen de datos Elige "Agregar un nuevo origen de datos" pág. 98 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Elige "Base de datos" y luego haga clic en Siguiente Base de datos Haga clic en Nueva conexión Nueva conexión Por defecto la conexión se establece en SQL, para hacer la conexión de base de datos con Access se debe cambiar oprimiendo la opción Cambiar. Cambiar pág. 99 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Seleccione "Archivo de base de datos de Microsoft Access” y luego haga clic en Aceptar. El origen de datos se ha cambiado a Archivo de base de datos de Microsoft Access (OLE DB), Ahora se tiene que cargar el archivo de base de datos para el proyecto. Para ello, haga clic en "Examinar" y seleccione el archivo de base de datos. Examinar Probar conexión Puede hacer clic en "Probar conexión" para comprobar el estado de conexión. Una vez listo, continúe con el paso siguiente haciendo clic en el botón Aceptar. pág. 100 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Hacer clic en el botón Siguiente Es posible que aparezca este mensaje emergente, haga clic en Sí para copiar el archivo de base de datos en la carpeta del proyecto. Hacer clic en el botón Siguiente pág. 101 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Elija los objetos de la base de datos que desea tener en el conjunto de datos y de clic en Finalizar. Diríjase a la ventana de Orígenes de datos, seleccione el nombre de la tabla de base de datos y arrástrelo hacia el formulario. pág. 102 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Puede agregar cada uno de los campos de la tabla al formulario. Campo NOMBRE Campo APELLIDO Presione F5 para ejecutar el programa. pág. 103 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Publicar un proyecto Ejemplo: Con el ejemplo anterior de la base de datos, se proseguirá con la publicación del proyecto. Teniendo el proyecto concluido se deberá ir al menú Proyecto, opción Propiedades de MI_BD, donde MI_BD es el nombre del proyecto con el que se está trabajando. Propiedades de MI_BD Aparecerá una ventana como la que se muestra en la siguiente imagen. pág. 104 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Se dará clic en la pestaña Aplicación. En la opción Nombre del ensamblado se puede cambiar el nombre de acuerdo al proyecto, para este caso se colocará el nombre Base de datos. Puede elegir un Icono que será la imagen que identifique al programa y el formulario con el que se desea iniciar entre otras opciones. Aplicación Nombre del ensamblado Icono Formulario de inicio pág. 105 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Dirigirse a la pestaña Publicar. Seleccione la ubicación de la carpeta donde se guardará la publicación. Finalmente oprima la opción Publicar ahora. Ubicación de publicación Publicar Publicar ahora La publicación está concluida, ahora diríjase a la carpeta donde se guardo dicha publicación y encontrará los archivos ejecutables del proyecto listos para ser instalados en el equipo. pág. 106 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Control PrintDocument Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click PrintDocument1.PrinterSettings.Copies = 1 PrintDocument1.Print() End Sub Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage e.Graphics.DrawString(TextBox1.Text, TextBox1.Font, Brushes.Blue, 200, 300) End Sub End Class pág. 107 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade Control AxWindowsMediaPlayer1 Para agregar el control AxWindowsMediaPlayer1 deberá activarlo desde Menú “Herramientas”, Elegir elementos del cuadro de herramientas, pestaña componentes COM, Windows Media Player. AxWindowsMediaPlayer1 Button1 OpenFileDialog1 2.- Haga doble en el control Button1. Código: --------------------------------------------------------------------------------------------------Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click OpenFileDialog1.Filter = "Windows (*.mp3)|*.mp3" OpenFileDialog1.ShowDialog() AxWindowsMediaPlayer1.URL = OpenFileDialog1.FileName End Sub pág. 108 Tutorial Visual Basic 2008 Express Ing. Juventino Israel García Andrade REFERENCIAS http://msdn.microsoft.com http://www.alegsa.com.ar Visual Basic 2008 By Everts Garay Gaitan pág. 109