• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Manual visual basic 6.0
 

Manual visual basic 6.0

on

  • 87,966 views

 

Statistics

Views

Total Views
87,966
Views on SlideShare
87,809
Embed Views
157

Actions

Likes
12
Downloads
2,639
Comments
9

8 Embeds 157

http://conalep184claudiahyanez.wordpress.com 129
http://aula.uas.edu.mx 14
http://aevb6.blogspot.com 5
http://www.edmodo.com 3
http://www.blogger.com 2
https://twitter.com 2
http://zoroart.com.ar 1
http://pinterest.com 1
More...

Accessibility

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

19 of 9 previous next Post a comment

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Manual visual basic 6.0 Manual visual basic 6.0 Document Transcript

    • INTRODUCCIÓN. GENERALIDADES Visual Basic es un lenguaje de programación de los llamados "visuales", puesto que parte de la programación que se realiza con él se basa en la utilización de elementos visuales. La palabra "Visual" hace referencia al método que se utiliza para crear la interfaz gráfica de usuario. En lugar de escribir numerosas líneas de código para describir la apariencia y la ubicación de los elementos de la interfaz, simplemente podemos agregar objetos prefabricados en su lugar dentro de la pantalla, que ahorran mucho tiempo de programación y que sobrepasan el concepto de la programación convencional en cuanto a la estructura secuencial del programa. Profundizaremos en estos conceptos a medida que avancemos en el desarrollo del curso. Tradicionalmente el lenguaje Basic (Beginners All-Purpose Symbolic Instruction Code) se ha considerado como el lenguaje adecuado para principiantes en el mundo de la programación, si bien se le achaca que no tiene la potencia suficiente para cubrir todas las expectativas de los programadores avanzados. Cierto es que aunque nos permite la creación de componentes y trabajar con objetos, otros lenguajes tienen más potencia en la programación orientada a objetos, pero a medida que han avanzado en las versiones de Visual Basic, ha aumentado su versatilidad. Este curso pretende ser una iniciación a la programación en Visual Basic, que posteriormente puede implementarse con otros cursos avanzados en el sentido de profundizar en el concepto de la programación. La versatilidad a la que se hace alusión viene del hecho de que una vez realizado este curso se tiene la base suficiente para abordar otros aspectos de la programación actual. En primer lugar, podríamos abordar la programación de VBA (Visual Basic para Aplicaciones), que nos permitirá programar rutinas de código que nos proporcionarán mayor potencia y funcionalidad de nuestras aplicaciones ofimáticas, por ejemplo para los programas del paquete Microsoft Office: Microsoft Word, Microsoft Excel, Microsoft Access..., las macros que se pueden programar en estos programas se escriben en VBA, que es un lenguaje basado en Visual Basic, es decir una vez conocido este, aprender VBA consiste en tener en cuenta las especificaciones que hace sobre el Visual Basic que ya conocemos, la idea a transmitir es que no hay que aprender nada nuevo desde el principio, sino que con poco esfuerzo, rápidamente podemos empezar a crear nuestras propias macros. En segundo lugar, y teniendo en cuenta el auge que está teniendo Internet actualmente, el conocer Visual Basic nos abre una ventana a la programación para Internet. En la creación de páginas Web se utiliza el lenguaje HTML, en combinación con otros que le proveen de funcionalidad, uno de ellos es el VBScript, que en realidad no es otra cosa que una adaptación de Visual Basic, dicho de otra forma, conociendo Visual Basic, cuesta muy poco aprender VBScript, lo que nos permitirá programar ASP (Active Server Pages). Esto quedará mejor explicado con un ejemplo: Suponer que queremos programar una página Web que además de los enlaces a otras páginas nos permita, por ejemplo, consultar una base de datos en Access, esta consulta no se puede programar con HTML ya que no dispone de órdenes para ello, necesitamos enlazar la página en HTML a una página ASP, la cual programaremos mezclando HTML y VBScript, que es la que mediante el VBScript nos permitirá ejecutar la consulta a la base de datos. CARACTERÍSTICAS DE VISUAL BASIC. Podríamos decir que Visual Basic es un lenguaje orientado a eventos. En las aplicaciones tradicionales o "por procedimientos", la aplicación es la que controla qué partes de código y en qué secuencia se ejecutan. La ejecución comienza con la primera línea de código y continúa con una ruta predefinida a través de la aplicación, llamando a los procedimientos según se necesiten. En una aplicación controlada por eventos, el código no sigue una ruta predeterminada; ejecuta distintas secciones de código como respuesta a los eventos. Los eventos pueden desencadenarse por acciones del usuario, por mensajes del sistema o de otras aplicaciones, o incluso por la propia aplicación. La secuencia de estos eventos determina la secuencia en la que se ejecuta el código, por lo que la ruta a través del código de la aplicación es diferente cada vez que se ejecuta el programa. Para manejar los objetos y controles del lenguaje hay que conocer tres conceptos asociados a ellos: • Propiedades: Para todos los objetos y controles de Visual Basic, hay definidas una serie de propiedades que nos permiten controlarlos: nombre, tamaño, color, posición, etc..., la mayoría de las propiedades serán comunes, pero evidentemente, habrá objetos que tengan unas determinadas propiedades específicas. • Eventos: Cada objeto lleva asociados unos determinados eventos que le pueden ocurrir, por ejemplo a un botón, le puede ocurrir que el usuario pulse con el botón principal del ratón sobre él, eso es el evento NombreDelBotón_Click(), bien cuando esto ocurra, se dispara este evento, al cual nosotros le añadiremos el código de lo que queremos que haga la aplicación cuando el usuario pulse el botón.
    • • Métodos: Son procedimientos asociados a un objeto, es decir, nos permiten realizar acciones como por ejemplo escribir un texto en un objeto, necesitaríamos usar el método Print, con la siguiente sintaxis: NombreDelObjeto.Print "Texto deseado". Encontraremos tanto propiedades, eventos como métodos comunes, si bien, dependiendo de los objetos que utilicemos encontraremos elementos específicos y exclusivos del objeto. El esquema de programación es muy sencillo, para crear una aplicación, primero crearemos un formulario vacío sobre el que iremos poniendo los controles que deseemos, en tiempo de diseño podremos especificar las propiedades iniciales de esos controles. Posteriormente escribiremos el "código respuesta" a los eventos que queramos controlar de nuestros objetos. En ese "código respuesta", que es lo que llamaremos tiempo de ejecución, podremos modificar algunas propiedades de los objetos, lanzar métodos, ejecutar rutinas, llamar a otros procedimientos etc.. DESCRIPCIÓN DEL ENTORNO. Para desarrollar el curso se ha utilizado Visual Basic 6.0 en castellano, y todas las referencias e imágenes serán sobre esa versión, si bien se podría seguir el curso con la versión anterior, puesto que las diferencias radicarán, más que en que no se pueda realizar, en la forma de hacer o llamar a las cosas. Cuando ejecutamos VB, después de cargar el entorno, nos aparece el siguiente cuadro: Nos ofrece tres solapas: Nuevo, con las diferentes opciones que nos permite crear VB, en principio sólo utilizaremos EXE estándar, que nos llevará a un formulario vacío desde el cual comenzaremos a desarrollar nuestra aplicación. Existente, nos permite abrir proyectos que ya existen para continuar implementándolos. Recientes, lo mismo pero sobre los últimos proyectos que hayamos estado desarrollando. Una vez que hayamos elegido EXE estándar, aceptamos y aparece la siguiente ventana (salvo por las diferencias de tamaño, necesarias para que entre la imagen), en la cual vemos que tenemos un proyecto abierto que en principio cuenta con un formulario vacío. Posteriormente, si los necesitamos podremos insertarle tantos formularios al proyecto como queramos.
    • La ventana principal está formada además de por la barra de menús y la barra de botones superiores, de un conjunto de ventanas con funciones diversas, cada una de ellas es configurable en cuanto tamaño, o incluso se pueden ocultar para ganar espacio para otras. Las principales son: • Ventana del Proyecto: Es la ventana que va a contener el objeto activo del proyecto, en la imagen superior vemos que contiene el formulario vacío, que utilizaremos para el diseño gráfico. Pero cuando le queramos añadir código, la ventana de código también estará contenida aquí. • Explorador de proyectos: Ventana superior derecha, nos permite visualizar los objetos que contiene el proyecto actual agrupados por categorías, en nuestro caso y por el momento solo hay un formulario colgando de la carpeta formularios. Además en la parte superior izquierda de esta ventana hay dos botones que nos permiten intercambiar la vista de diseño gráfico con la ventana de código en la ventana del proyecto. No obstante para pasar a la ventana de código bastaría con hacer doble click sobre cualquier control. • Ventana de propiedades: Situada debajo de la anterior, contiene el conjunto de propiedades, con el valor actual correspondiente, de cada uno de los objetos. Es aquí donde podremos modificar los valores iniciales de esas propiedades, en lo que se conoce como tiempo de diseño. • Ventana de posición del formulario: Situada debajo de la anterior, permite la colocación del formulario en la pantalla, representado la misma con una imagen a escala. • Caja de herramientas: Situada a la izquierda, contiene los controles que podemos ir colocando en el formulario, para ello bastará con hacer doble click sobre uno de ellos, o pulsar sobre el control y "dibujarlo" sobre el formulario. PRIMER EJEMPLO. Crearemos un EXE estándar, al cual le insertaremos de la caja de herramientas un botón, el cual podemos posicionar donde queramos y establecerle el tamaño deseado. Nuestro primer programa ya funcionaría en el sentido de que si lo ejecutásemos ahora, ya podríamos pulsar el botón tantas veces como quisiésemos (no haría nada, pero tampoco provocaría un error). Para que al pulsar el botón "ocurra algo", debemos escribir el código que deseamos que se ejecute cuando el usuario pulse el botón (que el usuario pulse el botón, significa para Visual que se dispara el evento Click del objeto Command1). Por lo tanto el código deberemos escribirlo en el procedimiento Command1_Click(). La forma más cómoda de hacer esto consiste en hacer doble click sobre el botón de nuestro formulario, esto nos llevará a la ventana de código y además nos escribirá en ella el encabezado y final del evento que necesitamos, dejándolo preparado para que podamos escribir nuestro código:
    • Como código escribiremos la línea: Print "Has pulsado el botón" que escribe en el formulario el texto encerrado entre comillas. Para ejecutar nuestro programa tenemos diversas opciones, incluyendo la generación de un ejecutable, pero en la fase de desarrollo de un programa es la opción más lenta. Digamos que hasta que no hayamos terminado de implementar el programa, no crearemos el ejecutable. La forma más cómoda consiste en ejecutarlo sin compilar, es decir, interpretando las órdenes, de esta forma detectamos más rápidamente posibles errores. Para ello iremos al menú Ejecutar / Iniciar, o pulsaremos F5, (también podemos iniciar la ejecución pulsando el botón de la barra de botones de Visual Basic). Veremos nuestro formulario en pantalla y cada vez que pulsemos el botón, se escribirá en el mismo el texto que indicamos entrecomillado, esto lo podemos hacer tantas veces como queramos. El formulario es redimensionable, lo podemos situar donde queramos, tiene el cuadro de control estándar de Windows, y todo ello sin que hallamos dedicado ni un pensamiento al respecto. Para detener la ejecución del programa, podemos pulsar la X del cuadro de control del formulario, o pulsar el botón de la barra de botones de Visual Basic. Este es el método básico de programación que desarrollaremos en Visual Basic: Uno o varios formularios a los que les insertaremos controles, los cuales gestionaremos mediante eventos que desencadenen los usuarios. Como respuesta a los eventos, deberemos programar el código que deseemos ejecutar en cada momento.
    • GUARDAR UN PROYECTO. Crearemos una carpeta en nuestro disco duro, por ejemplo: C:Mis DocumentosVisual BasicProyectos, donde almacenaremos tanto los proyectos como los formularios. Podemos guardar los formularios o el proyecto separadamente, pero lo más cómodo es ir al menú Archivo / Guardar proyecto. De esta forma nos sale primero una ventana para que guardemos los formularios que componen nuestro proyecto, en la cual le podemos indicar la carpeta y el nombre que queremos asignar. Cuando tengamos guardados todos los formularios del proyecto, nos sale otra ventana para hacer lo mismo con el proyecto. Guardaremos el ejemplo anterior en la carpeta predeterminada, asignando Form1 al formulario y Proyecto1 al proyecto. Posteriormente para acceder al mismo, bastará con abrir el proyecto Proyecto1, lo cual nos abrirá todos los formularios que contenga. Cuando se desarrolla un aplicación, se trabaja con un archivo de proyecto para administrar todos los diferentes archivos que se crean. Un proyecto consta de: • Un archivo de proyecto que realiza el seguimiento de todos los componentes (.vbp) • Un archivo para cada formulario (.frm). • Un archivo de datos binarios para cada formulario que contiene datos sobre propiedades de controles del formulario (.frx). Estos archivos no se pueden modificar y los genera automáticamente cualquier archivo .frm que tenga propiedades en formato binario, como Picture o Icon. • Opcionalmente, un archivo para cada módulo de clase (.cls). • Opcionalmente, un archivo para cada módulo estándar (.bas). • Opcionalmente, uno o más archivos con controles ActiveX (.ocx). • Opcionalmente, un único archivo de recursos (.res). • Opcionalmente, un único archivo de espacio de trabajo de proyecto de Visual Basic (.vbw). El archivo de proyecto es simplemente una lista de todos los archivos y objetos asociados con el proyecto, así como información acerca de las opciones de entorno establecidas. Esta información se actualiza cada vez que se guarda el proyecto. Todos los archivos y objetos también se pueden compartir con otros proyectos. Cuando ha completado todos los archivos del proyecto podremos convertir el proyecto en un archivo ejecutable (.exe): en el menú Archivo, eligiendo el comando Generar proyecto.exe. Ejercicio 1. Ejecutar Visual Basic, Abrir un EXE estándar, pulsando en la X de cada una, cerrar todas las ventanas menos la principal, de forma que dejemos la siguiente visualización:
    • En el menú Herramientas / Opciones, ir a la solapa Acople, activar todas las casillas que no estuviesen activas menos la del "Examinador de objetos" y Aceptar. Con esto conseguimos que cuando queramos visualizar una ventana de las del entorno esta se acople junto con las demás para que no aparezcan solapadas. Ir al menú Ver y elegir: Explorador de proyectos, Ventana Propiedades y Ventana posición del formulario. Deberemos redimensionar cada una hasta obtener aproximadamente: Ahora haciendo doble click en Form1 del Explorador de proyectos aparecerá la ventana del formulario cargándose la ventana de propiedades, y ya sólo nos queda volver al menú Ver para elegir Cuadro de herramientas, el cual se posiciona a la izquierda de la ventana principal.
    • Podremos establecer diferentes configuraciones del entorno, siendo esta quizá la más adecuada para comenzar a familiarizarse con el entorno. Como la ventana Posición del formulario no es necesaria permanentemente, conviene ocultarla para que se amplíe la de Propiedades. Cuando tengamos que decidir la posición del formulario en pantalla (cuando se ejecute), bastará con mostrarla entonces. Ejercicio 2. Abrir un EXE estándar, obtendremos un formulario vacío, pulsando en el botón (Ver código) saldrá la ventana de código vacía, en el cuadro superior izquierdo desplegaremos y elegiremos Form, veremos como automáticamente nos pone el evento Private Sub Form_Load(), que es el evento predeterminado para el objeto Form, lo ignoramos puesto que no es el que necesitamos (posteriormente el editor lo eliminará ya que no va a contener código). En el cuadro superior derecho desplegamos y elegimos el evento DblClick, (doble click), es decir el usuario desencadenará la acción cuando haga doble click sobre el formulario. En este evento escribimos un mensaje (recordar que el texto debe ir entrecomillado) usando el método Print. Antes de ejecutar visualizaremos la ventana Posición del formulario si no estaba ya presente y colocaremos el formulario aproximadamente en medio de la pantalla. Ejecutaremos y además de observar como el formulario aparece en la posición que hemos asignado, veremos como al hacer doble click sobre el mismo aparece el mensaje. Elementosdellenguaje. Introducción. Como todo lenguaje de programación, Visual Basic tiene un conjunto de variables y estructuras que el programador puede usar. Empezaremos introduciendo conceptos poco a poco ya que la extensión del lenguaje haría necesaria la dedicación de mucho tiempo para conocerlo todo antes de empezar a realizar el primer programa. A medida que avancemos se irán añadiendo conceptos, sólo los más importantes en cada caso ya que estudiarlos en profundidad haría del curso una labor muy tediosa. Sirva como ejemplo que el control Textbox tiene 43 propiedades, 24 eventos y 11 métodos. Cierto es que muchos elementos son comunes a otros controles, por eso sólo veremos los más significativos de cada uno. En cualquier caso, cuando el alumno desee conocer un determinado control con mayor profundidad puede recurrir a la ayuda, que sorprendentemente está muy bien organizada y clara. Variables. Las variables que podemos usar en Visual pueden ser de los siguientes tipos: Integer: Número entero que oscila entre los valores -32.768 y 32.767 Long: Número entero (entero largo) que oscila entre los valores -2.147.483.648 y 2.147.483.647 Simple: Número real que oscila entre los valores -3.40E+38 y 3.40E+38 Double: Número real que oscila entre los valores -1.8E+308 y 1.8E+308 Variant: Puede representar diferentes tipos de datos en distintas situaciones. String: Cadena de caracteres, sirve para almacenar textos, aproximadamente hasta 65000 caracteres. Boolean: Sólo admite dos estados, Verdadero (True) (-1) o Falso (False) (0). Date: Almacena fecha y hora.
    • Aún hay más tipos, pero en principio sólo vamos a usar estos, para lo cual deberemos seguir el siguiente proceso: Primero para poder usar una variable debemos declararla, esto lo haremos mediante la sentencia Dim, esto nos crea la variable y reserva el espacio necesario para ella, utilizaremos la siguiente sintaxis: Dim Nombre_de_la_variable As tipo El nombre de la variable puede tener hasta 40 caracteres y debe empezar por letra. El tipo debe ser uno de los disponibles, cuando escribamos la sentencia, al llegar al tipo veremos como nos sale un cuadro de lista donde nos muestra las posibilidades para el mismo, podemos escribirlo nosotros o con las flechas del cursor buscarlo y pulsando espacio o intro que lo escriba el sistema. Podemos especificar la longitud: Dim Cadena As String*4, esta sentencia nos declara una variable de tipo string y longitud fija de 4 caracteres. Si no especificamos longitud, la cadena tendrá longitud variable. Para declarar vectores basta con poner el tamaño entre paréntesis: Dim Vector(25) As Integer, declara un vector de 25 posiciones que van de la 0 a la 24, y del tipo Integer. Otro aspecto a tener en cuenta es dónde hacemos la declaración, ya que si la hacemos dentro de un procedimiento específico, esta sólo tendrá validez dentro de él, si queremos que la variable pueda ser usada por varios procedimientos deberemos declararla en el área General. El segundo paso es la inicialización del valor de la variable, cosa que deberemos hacer salvo que nos sirvan los valores por defecto: 0 para las numéricas y "" para las alfanuméricas. Esto deberemos hacerlo dentro de algún procedimiento ya que en el área General no es posible, aunque sea una variable común. La sintaxis adecuada es: Nombre_de_la_variable = Valor o expresión Nota: Si queremos usar variables del sistema como Date o Time que contienen la fecha y hora del sistema respectivamente, no es necesario que las declaremos. Ejemplo. Abrir Proyecto1, esto lo podemos hacer desde el menú Archivo / Abrir proyecto, o desde la ventana inicial cuando abrimos Visual Basic, buscándolo tanto en la solapa Existente como en la solapa Recientes. El objetivo es incluir un contador que me informe del número de veces que he pulsado el botón, para ello necesitaremos usar una variable. Si declaro la variable en el procedimiento Private Sub Command1_Click(), esta se inicializará cada vez que pulsemos el botón, con lo que por mucho que la incrementemos, no conseguiremos que nos muestre el número de veces que lo hemos pulsado. Necesitamos declararla fuera del procedimiento, bien pues escribimos la declaración al inicio del código: Dim contador As Integer, fuera de cualquier procedimiento (área General), con esto conseguimos que sea una variable pública para nuestro formulario y que sólo se inicialice al ejecutar el programa. Además observaremos como el editor de código nos separa esta declaración del resto de procedimientos mediante una línea horizontal. Modificamos el procedimiento Private Sub Command1_Click(), de forma que nos quede: Print "Has pulsado el botón"; contador; "veces", añadimos debajo de esta: contador = contador + 1 y ejecutamos. Comenzando por 0 veremos como se incrementa el número cada vez que pulsemos el botón. El siguiente paso en la depuración del programa sería conseguir que comenzase por 1 y no por 0. Si inicializamos la variable contador a 1 en el procedimiento Private Sub Command1_Click(), tenemos el mismo problema que antes, no conseguimos que se incremente ya que cada vez que pulsemos, vuelve a valer 1. Podemos pensar que la solución está en inicializarla a 1 fuera de cualquier procedimiento, pero eso no es posible, ya que en lo que se conoce como el área General (donde hemos declarado la variable) sólo podemos declarar variables, pero no inicializarlas.
    • La solución está en usar un evento que se dispare automáticamente una sola vez al inicio de la ejecución de nuestro programa. Ese evento es el Load del objeto Form, este evento se dispara cada vez que se carga el formulario y en él se suelen poner los parámetros comunes y especificaciones iniciales del formulario. En la ventana de código, desplegamos el cuadro combinado de la izquierda y veremos los objetos de los que disponemos, seleccionamos Form, en el cuadro combinado de la derecha veremos que automáticamente sale el evento Load y nos escribe en el código el encabezamiento y pie del procedimiento Private Sub Form_Load(). Si necesitásemos usar otro evento del objeto Form, bastaría con desplegar el cuadro combinado de la derecha donde veríamos todos los que tiene disponible ese objeto. En este procedimiento escribimos la inicialización de la variable a 1, quedándonos la ventana de código: Operadores. Para construir expresiones, además de variables o constantes utilizaremos los operadores, que se clasifican de la siguiente forma y respetando la jerarquía que con la que aparecen: ARITMÉTICOS. ^ Exponenciación. * Multiplicación / División División entera MOD Módulo (resto de la división entera) + Suma - Resta ALFANUMÉRICOS. &, + Concatenan textos. LÓGICOS. NOT Negación AND Y OR O COMPARATIVOS. < Menor que <= Menor o igual que
    • > Mayor que >= Mayor o igual que = Igual que <>, != Distinto que Estructuras. A continuación veremos las estructuras que podemos usar en Visual Basic: ESTRUCTURAS DE DECISIÓN If: Esta estructura nos permite desviar el flujo de programa dependiendo de si se cumple una condición. La sintaxis es: If Condición then Conjunto de ordenes que se ejecutarán cuando la Condición sea verdadera. Else Conjunto de ordenes que se ejecutarán cuando la Condición sea falsa. End If Select: Dependiendo del valor de una expresión o variable ejecuta una opción u otra. La sintaxis es: Select Case Expresión Case Valor1 Conjunto de ordenes que se ejecutarán cuando la Expresión tenga Valor1. Case Valor2 Conjunto de ordenes que se ejecutarán cuando la Expresión tenga Valor2. ............ Case Else Conjunto de ordenes que se ejecutarán cuando la Expresión no sea ningún valor anterior. End Select ESTRUCTURAS DE BUCLE Las estructuras de bucle permiten ejecutar una o más líneas de código repetidamente. Las estructuras de bucle que acepta Visual Basic son: Do...Loop: Utilizaremos el bucle Do para ejecutar un bloque de instrucciones un número indefinido de veces. Hay algunas variantes en la instrucción Do...Loop, pero cada una evalúa una condición numérica para determinar si continúa la ejecución. Como ocurre con If...Then, la condición debe ser un valor o una expresión que dé como resultado False (cero) o True (distinto de cero). Las instrucciones se ejecutan siempre y cuando condición sea True, la sintaxis es: Do While condición instrucciones Loop Cuando Visual Basic ejecuta este bucle Do, primero evalúa condición. Si condición es False (cero), se salta todas las instrucciones. Si es True (distinto de cero), Visual Basic ejecuta las instrucciones, vuelve a la instrucción Do While y prueba la condición de nuevo. Por tanto, el bucle se puede ejecutar cualquier número de veces, siempre y cuando condición sea distinta de cero o True. Nunca se ejecutan las instrucciones si condición es False inicialmente. Otra variante de la instrucción Do...Loop ejecuta las instrucciones primero y prueba condición después de cada ejecución. Esta variación garantiza al menos una ejecución de instrucciones: Do instrucciones
    • Loop While condición Hay otras dos variantes análogas a las dos anteriores, excepto en que repiten el bucle siempre y cuando condición sea False en vez de True. Hace el bucle cero o más veces Hace el bucle al menos una vez Do Until condición Do instrucciones instrucciones Loop Loop Until condición For...Next Los bucles Do funcionan bien cuando no se sabe cuántas veces se necesitará ejecutar las instrucciones del bucle. Sin embargo, cuando se sabe que se van a ejecutar las instrucciones un número determinado de veces, es mejor elegir el bucle For…Next. A diferencia del bucle Do, el bucle For utiliza una variable llamada contador que incrementa o reduce su valor en cada repetición del bucle. La sintaxis es la siguiente: For contador = iniciar To finalizar [Step incremento] instrucciones Next [contador] Los argumentos contador, iniciar, finalizar e incremento son todos numéricos. Nota El argumento incremento puede ser positivo o negativo. Si incremento es positivo, iniciar debe ser menor o igual que finalizar o no se ejecutarán las instrucciones del bucle. Si incremento es negativo, iniciar debe ser mayor o igual que finalizar para que se ejecute el cuerpo del bucle. Si no se establece Step, el valor predeterminado de incremento es 1. Al ejecutar el bucle For, Visual Basic: 1. Establece contador al mismo valor que iniciar. 2. Comprueba si contador es mayor que finalizar. Si lo es, Visual Basic sale del bucle. (Si incremento es negativo, Visual Basic comprueba si contador es menor que finalizar.) 3. Ejecuta instrucciones. 4. Incrementa contador en 1 o en instrucciones, si se especificó. 5. Repite los pasos 2 a 4. Ejemplo. Abrir Proyecto1. El objetivo es modificar el programa de forma que al pulsar el botón la primera vez, el texto que muestre sea "Has pulsado el botón 1 vez", en lugar de lo que muestra ahora que es: "Has pulsado el botón 1 veces". Hay que incluir una estructura If, de forma que cuando contador valga 1 haga una cosa, y cuando tenga un valor diferente haga otra. La ventana de código, mostrará:
    • Además modificar el tamaño del formulario y el botón, así como su posición, de forma que el resultado sea: Salir guardando todos los cambios. Ejercicio 1. Crear un nuevo proyecto, vamos a ver como utilizar variables que contengan texto. Deberemos declarar tres variables de tipo String: Nombre, Apellidos y Todo. En el formulario pondremos un botón de forma que al pulsarlo el programa haga lo siguiente: asigne a las variables Nombre y Apellidos los textos correspondientes, mediante concatenación construya la variable Todo, compuesta de los contenidos de Nombre y Apellidos mostrando por pantalla el contenido de la variable Todo. Ayuda: Para asignar valores a una variable de tipo String, deberemos encerrar entre comillas el texto: Nombre = "Ramón". Si hacemos concatenación normal entre la variables el resultado mostrará los textos sin separación, podríamos incluir un espacio al final del nombre o al inicio de los apellidos, pero la mejor forma de hacerlo consistirá en concatenar un espacio en blanco: Todo = Nombre & " " & Apellidos.
    • Ejercicio 2. Crear un nuevo proyecto, vamos a ver como usar una estructura de bucle. Insertaremos un botón de forma que al pulsarlo nos muestre por pantalla cinco líneas que se corresponderán a cinco pasos del bucle. Incluso numeraremos cada línea con un contador. Ayuda: Para realizar este ejercicio, basta con usar un bucle de tipo For, ya que cada vez que pulsemos el botón reiniciaremos la cuenta de las líneas. Ejercicio 3. Crear un nuevo proyecto, vamos a ver como mantener un acumulador. Insertaremos un botón de forma que al pulsarlo nos muestre por pantalla cinco líneas que se corresponderán a cinco pasos del bucle. Incluso numeraremos cada línea con un contador. Además, a diferencia del ejercicio anterior, cuando volvamos a pulsar el botón la numeración de las líneas debe continuar correlativamente. Descargar el ejecutable. Ayuda: Para realizar este ejercicio, basta con usar un bucle de tipo For, pero para que cada vez que pulsemos el botón, continúe la cuenta de las líneas, deberemos declarar otra variable que inicializaremos en el Form_Load del formulario. Esta nueva variable será la que mostraremos y como sólo se inicializa una vez mantendrá el último valor asignado pudiendo así seguir a secuencia. Dentro del bucle For deberemos ocuparnos de incrementar nosotros la variable mediante: Acumulador = Acumulador + 1. (En vez de Acumulador, deberemos poner el nombre de la variable que hayamos definido para la tarea). Como el orden de ejecución es de derecha a izquierda, primero incrementa la variable en uno y luego se lo asigna a la misma variable, con lo que conseguimos que se vaya incrementando de uno en uno.
    • Funciones ypalabras reservadas. Visual Basic tiene un conjunto de funciones que podremos usar. A continuación veremos las más representativas, si bien hay muchas más. Se aconseja ir a la ayuda para ampliar o profundizar sobre la cuestión Palabras reservadas. Rem: Nos permite incluir comentarios sobre el programa en medio del código, la sintaxis es: Rem Comentario Además, se puede conseguir lo mismo sin necesidad de escribir Rem, utilizando la comilla simple, es decir, la anterior orden es equivalente a: 'Comentario Observaremos como el editor de código reconoce los comentarios ya que les aplica como color del texto el verde. Exit Sub: Nos permite acabar la ejecución del procedimiento en el que lo pongamos, y en punto del mismo donde se halle situado. End: Nos permite acabar la ejecución del programa en el punto del mismo donde se halle situado. Funciones. MsgBox: Muestra un mensaje en un cuadro de diálogo, espera a que el usuario haga clic en un botón y devuelve un tipo Integer correspondiente al botón elegido por el usuario. Sintaxis MsgBox(prompt[, buttons][, title][, helpfile, context]) La sintaxis de la función MsgBox consta de estos argumentos: Parte Descripción prompt Requerido. Cadena que representa el prompt en el cuadro de diálogo. La longitud máxima de prompt es de aproximadamente 1024 caracteres, según el ancho de los caracteres utilizados. buttons Opcional. Expresión numérica que corresponde a la suma de los valores que especifican el número y el tipo de los botones que se pretenden mostrar, el estilo de icono que se va a utilizar, la identidad del botón predeterminado y la modalidad del cuadro de mensajes. Si se omite este argumento, el valor predeterminado para buttons es 0. title Opcional. Expresión de cadena que se muestra en la barra de título del cuadro de diálogo. Si se omite title, en la barra de título se coloca el nombre de la aplicación. helpfile Opcional. Expresión de cadena que identifica el archivo de Ayuda que se utiliza para proporcionar ayuda interactiva en el cuadro de diálogo. Si se especifica helpfile, también se debe especificar context. context Opcional. Expresión numérica que es igual al número de contexto de Ayuda asignado por el autor al tema de Ayuda correspondiente. Si se especifica context, también se debe especificar helpfile.
    • Valores El argumento buttons tiene estos valores: Constante Valor Descripción VbOKOnly 0 Muestra solamente el botón Aceptar. VbOKCancel 1 Muestra los botones Aceptar y Cancelar. VbAbortRetryIgnore 2 Muestra los botones Anular, Reintentar e Ignorar. VbYesNoCancel 3 Muestra los botones Sí, No y Cancelar. VbYesNo 4 Muestra los botones Sí y No. VbRetryCancel 5 Muestra los botones Reintentar y Cancelar. VbCritical 16 Muestra el icono de mensaje crítico. VbQuestion 32 Muestra el icono de pregunta de advertencia. VbExclamation 48 Muestra el icono de mensaje de advertencia. VbInformation 64 Muestra el icono de mensaje de información. VbDefaultButton1 0 El primer botón es el predeterminado. VbDefaultButton2 256 El segundo botón es el predeterminado. VbDefaultButton3 512 El tercer botón es el predeterminado. VbDefaultButton4 768 El cuarto botón es el predeterminado. VbApplicationModal 0 Aplicación modal; el usuario debe responder al cuadro de mensajes antes de poder seguir trabajando en la aplicación actual. VbSystemModal 4096 Sistema modal; se suspenden todas las aplicaciones hasta que el usuario responda al cuadro de mensajes. VbMsgBoxHelpButton 16384 Agrega el botón Ayuda al cuadro de mensaje. VbMsgBoxSetForeground 65536 Especifica la ventana del cuadro de mensaje como la ventana de primer plano. VbMsgBoxRight 524288 El texto se alinea a la derecha. VbMsgBoxRtlReading 1048576 Especifica que el texto debe aparecer para ser leído de derecha a izquierda en sistemas hebreo y árabe. El primer grupo de valores (0 a 5) describe el número y el tipo de los botones mostrados en el cuadro de diálogo; el segundo grupo (16, 32, 48, 64) describe el estilo del icono, el tercer grupo (0, 256, 512) determina el botón predeterminado y el cuarto grupo (0, 4096) determina la modalidad del cuadro de mensajes. Cuando se suman números para obtener el valor final del argumento buttons, se utiliza solamente un número de cada grupo. Nota: Estas constantes las especifica Visual Basic para Aplicaciones. Por tanto, el nombre de las mismas puede utilizarse en cualquier lugar del código en vez de sus valores reales. Valores devueltos Constante Valor Descripción vbOK 1 Aceptar vbCancel 2 Cancelar vbAbort 3 Anular vbRetry 4 Reintentar vbIgnore 5 Ignorar vbYes 6 Sí vbNo 7 No Comentarios
    • Cuando se proporcionan tanto helpfile como context, el usuario puede presionar F1 para ver el tema de Ayuda correspondiente al context. Algunas aplicaciones como por ejemplo Microsoft Excel, también agregan automáticamente un botón Ayuda al cuadro de diálogo. Si el cuadro de diálogo cuenta con un botón Cancelar, presionar la tecla ESC tendrá el mismo efecto que hacer clic en este botón. Si el cuadro de diálogo contiene un botón Ayuda, se suministra ayuda interactiva para ese cuadro de diálogo. Sin embargo, no se devuelve valor alguno hasta que se hace clic en uno de estos botones. Nota: Si se desea especificar más que el primer argumento con nombre, se debe utilizar MsgBox en una expresión. Si deseamos omitir algún argumento de posición, debemos incluir el delimitador de coma correspondiente. Ejemplo. La siguiente orden genera un cuadro al cual le indicamos título, texto, le ponemos tres botones: Sí, No y Cancelar. Además le incluimos el icono de pregunta: MsgBox "¿Esta seguro de que quiere continuar?", vbYesNoCancel + vbQuestion, "Confirmación" El resultado en ejecución es: InputBox: Muestra un mensaje en un cuadro de diálogo, espera que el usuario escriba un texto o haga clic en un botón y devuelve un tipo String con el contenido del cuadro de texto. Sintaxis InputBox(prompt[, title][, default][, xpos][, ypos][, helpfile, context]) La sintaxis de la función InputBox consta de estos argumentos: Parte Descripción prompt Requerido. Cadena que se muestra como mensaje en el cuadro de diálogo. La longitud máxima de prompt es de aproximadamente 1024 caracteres, según el ancho de los caracteres utilizados. title Opcional. Expresión de cadena que se muestra en la barra de título del cuadro de diálogo. Si omite title, en la barra de título se coloca el nombre de la aplicación. default Opcional. Expresión de cadena que se muestra en el cuadro de texto como respuesta predeterminada cuando no se suministra una cadena. Si omite default, se muestra el cuadro de texto vacío. xpos Opcional. Expresión numérica que especifica, en twips, la distancia en sentido horizontal entre el borde izquierdo del cuadro de diálogo y el borde izquierdo de la pantalla. Si se omite xpos, el cuadro de diálogo se centra horizontalmente. ypos Opcional. Expresión numérica que especifica, en twips, la distancia en sentido vertical entre el borde superior del cuadro de diálogo y el borde superior de la pantalla. Si se omite ypos, el cuadro de diálogo se coloca a aproximadamente un tercio de la altura de la pantalla, desde el borde superior de la misma. helpfile Opcional. Expresión de cadena que identifica el archivo de Ayuda que se utilizará para proporcionar ayuda interactiva para el cuadro de diálogo. Si se especifica helpfile, también deberá especificarse context. context Opcional. Expresión numérica que es el número de contexto de Ayuda asignado por el autor al tema de Ayuda correspondiente. Si se especifica context, también deberá especificarse helpfile.
    • Comentarios Cuando se especifica tanto helpfile como context, el usuario puede presionar F1 para ver el tema de Ayuda correspondiente a context. Algunas aplicaciones como por ejemplo, Microsoft Excel, también agregan automáticamente un botón Ayuda al cuadro de diálogo. Si el usuario hace clic en Aceptar o presiona Entrar , la función InputBox devuelve lo que haya en el cuadro de texto. Si el usuario hace clic en Cancelar, la función devuelve una cadena de caracteres de longitud cero (""). Nota: Si deseamos especificar más que el primer argumento con nombre, debemos utilizar InputBox en una expresión. Si deseamos omitir algunos argumentos de posición, debemos incluir el delimitador de coma correspondiente. Ejemplo. La siguiente orden genera un cuadro al cual le indicamos texto, título y asignamos el texto que escriba el usuario a la variable cadena: Dim cadena As String cadena = InputBox("Introduzca el nombre del usuario", "Identificación") Observar que como asignamos el resultado de la función InputBox a una variable, debemos encerrar los argumentos entre paréntesis. El resultado en ejecución es: Format: Visual Basic proporciona una gran flexibilidad a la hora de presentar formatos de números, así como de fechas y horas. Puede presentar con facilidad formatos internacionales de números, fechas y horas. La función Format convierte un valor numérico en una cadena de texto y le proporciona control sobre la apariencia de la cadena. Por ejemplo, podemos especificar el número de decimales, los ceros a la izquierda o a la derecha y los formatos de moneda. La sintaxis es: Format(expresión[, patrón o máscara]) El argumento expresión especifica el número que se va a convertir y el argumento patrón o máscara es una cadena compuesta por símbolos que determinan el formato del número. En la tabla siguiente se enumeran los símbolos más comúnmente utilizados. Símbolo Descripción 0 Marcador de posición de dígito; imprime un cero a la izquierda o a la derecha en esa posición, si corresponde. # Marcador de posición de dígito; nunca imprime ceros a la izquierda ni a la derecha.
    • . Marcador de posición decimal. , Separador de millares. – + $ ( ) espacio Carácter literal; los caracteres se presentan exactamente como están escritos en la cadena de formato. Ejemplo: Format(32675,"##,##0.00") mostraría en pantalla: 32.675,00 Formatos con nombre Visual Basic proporciona varios formatos estándar para su uso con la función Format. En lugar de especificar símbolos en el argumento formato, puede especificar dichos formatos mediante un nombre en el argumento formato de la función Format. El nombre del formato tiene que ir siempre entre comillas dobles (""). En la tabla siguiente se enumeran los nombres de formato que puede usar. Nombre de formato Descripción General Number Muestra los números sin separador de millares. Currency Muestra los números con separador de millares, si procede; muestra dos dígitos a la derecha del separador decimal. El resultado se basa en los valores del sistema del usuario. Fixed Muestra al menos un dígito a la izquierda y dos dígitos a la derecha del separador decimal. Standard Muestra los números con separador de millares, al menos un dígito a la izquierda y dos dígitos a la derecha. Percent Multiplica el valor por 100 con un signo de porcentaje al final. Scientific Utiliza la notación científica estándar. General Date Muestra la fecha y la hora si expresión contiene ambas. Si expresión sólo es una fecha o una hora, no presenta la información que falta. La presentación de la fecha está determinada por los valores del sistema del usuario. Long Date Utiliza el formato Fecha larga especificado por los valores del sistema del usuario. Medium Date Utiliza el formato dd-mmm-aa (por ejemplo, 03-Abr-93). La presentación de la fecha está determinada por los valores del sistema del usuario. Short Date Utiliza el formato Fecha corta especificado por los valores del sistema del usuario. Long Time Muestra la hora según el formato de hora larga del sistema del usuario; incluye horas, minutos y segundos. Medium Time Muestra la hora, los minutos y "AM" o "PM" con el formato "hh:mm AM/PM". Short Time Muestra la hora y los minutos con el formato hh:mm. Yes/No Cualquier valor numérico distinto de cero (normalmente –1) es Yes. Cero es No. True/False Cualquier valor numérico distinto de cero (normalmente –1) es True. Cero es False. On/Off Cualquier valor numérico distinto de cero (normalmente –1) es On. Cero es Off. Imprimir fechas y horas con formato Para imprimir fechas y horas con formato, utilizaremos la función Format con símbolos que representen fechas y horas. En los ejemplos siguientes se utilizan las funciones Now y Format para identificar y dar formato a la fecha y hora actuales. Sintaxis de Format Resultado Format(Now, "d/m/aa") 1/12/01 Format(Now, "dddd, dd mmmm, aaaa") sábado, 01 diciembre, 2001 Format(Now, "d-mmm") 1-dic Format(Now, "mmmm-aa") diciembre-01 Format(Now, "hh:mm AM/PM") 07:18 AM
    • Format(Now, "h:mm:ss a/p") 7:18:00 a Format(Now, "d-mmmm h:mm") 1-diciembre 7:18 Int: Devuelve la parte entera de un número: Int(Número). Len: Devuelve la longitud de una cadena: Len(Cadena). Rnd: Devuelve un número aleatorio entre 0 y 1. Val: Devuelve el valor numérico de una cadena alfanumérica, solo convierte hasta que encuentra el primer carácter que no es un número: Val(Cadena). Aún hay muchas más funciones, cuando las necesitemos, ya las estudiaremos. Propiedades comunes. A continuación veremos algunas propiedades comunes a la mayoría de los controles, estas se podrán modificar desde la vista formulario, con el control activado y en la ventana de propiedades: Nombre: Nombre que deseemos asignar al objeto, es un identificador interno para el código. Caption: Habitualmente igual que el nombre del objeto, pero es la forma de identificar el objeto de cara al usuario, por ejemplo, si tenemos un botón en nuestro formulario que al pulsarlo nos acabe la ejecución, internamente le llamaremos BotonSalir, pero basta con que le pongamos como Caption Salir, que es lo que verá el usuario. Enabled: Sólo admite dos valores: True o False, e indica si el control está o no activado. Visible: Sólo admite dos valores: True o False, e indica si el control está o no visible. Ejemplo. Crear un EXE estandar, llamar Ejemplo2 al formulario, al cual le insertaremos un botón en la parte inferior derecha, ponerle como nombre BotonSalir y como Caption Salir ( si queremos que el usuario pueda activar el botón con la combinación de teclas ALT + S, deberemos anteponer a la letra S del caption el símbolo &). A este botón le insertaremos código de forma que cuando el usuario pulse, salga un cuadro por pantalla pidiendo confirmación para salir del programa, si el usuario pulsa Sí, debe acabar la ejecución y si pulsa No, no debe hacer nada. Insertar otro botón en la parte inferior izquierda, ponerle como nombre BotonFecha y como Caption Fecha y hora del sistema ( si queremos que el usuario pueda activar el botón con la combinación de teclas ALT + F, deberemos anteponer a la letra F del caption el símbolo &) A este botón le insertaremos código de forma que cuando el usuario pulse, imprima en el formulario la fecha en formato largo, es decir, día de la semana, día, nombre del mes y año con 4 cifras. Debajo debe imprimir la hora del sistema. El formulario en diseño quedará:
    • Y la ventana de código: Observar que para continuar una línea de código en la siguiente, se utiliza después de un espacio el guión bajo. Ejercicios Ejercicio 1. Crear un proyecto que se llamará Ejercicio1, y que consiste en un formulario con un botón, que al pulsarlo pida mediante un InputBox la identificación del usuario, es necesario controlar que el usuario no deje vacío el InputBox, de forma que no deje continuar hasta que haya escrito algo. Posteriormente debe mostrar el texto introducido. Ayuda: Utilizar un bucle Do - Loop While, en el que pondremos dentro la orden del InputBox, de esta forma nos aseguramos de que se ejecuta por lo menos una vez y no sale de él hasta que el usuario escriba algo. Ejercicio 2. Crear un proyecto que se llamará Ejercicio2, y que consiste en un formulario con un botón, que al pulsarlo pida mediante un InputBox un número entero positivo, es necesario controlar que el usuario no deje vacío el InputBox, de forma que no deje continuar hasta que haya escrito el número. Posteriormente debe mostrar la suma de todos los números entre el 1 y el número introducido.
    • Ayuda: Utilizar un bucle For - Next, para calcular la suma. Como lo que devuelve el InputBox es una cadena, habrá que convertirla a número antes de efectuar las operaciones aritméticas. Habrá que declarar tres variables de tipo Integer o Long: Contador, Acumulador y limite. La forma de acumular dentro del bucle es sencilla: acumulador = acumulador + contador. Tener en cuenta que Visual Basic opera de derecha a izquierda, luego primero calcula la suma y después asigna el nuevo valor a la variable acumulador. Ejercicio 3. Crear un proyecto que se llamará Ejercicio3, y que consiste en un formulario con un botón, que al pulsarlo pida mediante un InputBox un número entero comprendido entre 1 y 10 (es decir una calificación académica), es necesario controlar que el usuario no deje vacío el InputBox, de forma que no deje continuar hasta que haya escrito el número. Posteriormente debe mostrar la calificación en letra correspondiente a la nota introducida. Ayuda: Utilizar una estructura Select case para asignar las calificaciones: de 0 a 4: Insuficiente, 5: Suficiente, 6: Bien, 7 ó 8: Notable, 9 ó 10: Sobresaliente. Para poner más de un valor en el case, deberán ir separados por comas.