Вы находитесь на странице: 1из 75
Aprenda a programar en Visual Basic
Aprenda a programar en Visual Basic
Aprenda a programar en Visual Basic
Aprenda a programar en Visual Basic

Aprenda a programar en Visual Basic

Edición 1.0

Prohibida la reproducción total o parcial Sin nuestro consentimiento Derechos de copia reservados www.LibrosDigitales.NET

la reproducción total o parcial Sin nuestro consentimiento Derechos de copia reservados www.LibrosDigitales.NET 2

2

Aprenda a programar en Visual Basic

Introducción a la Programación Visual

Lenguajes procedurales frente a los dirigidos por eventos

Algunos años atrás la construccion de aplicaciones se realizaba usando lenguajes procedurales, consistia en usar un editor para unir un conjunto de instrucciones bajo un orden determinado según la logica establecida por el Programador, a veces uno terminaba con un gran archivo de unas 2000 a 3000 lineas. Para otro programador hacer operaciones de actualizacion y/o depuracion, era toda una tarea titanica, pues si no estaba adecuadamente documentada no quedaba otra cosa que darse tiempo y descubrir la logica usada por el otro programador. Por otra parte el programador no solo debia cuidar los procesos que debia realizar el programa sino que tambien debia guiar al usuario en la Ejecución de su programa a traves de un dialogo monotomo: desea continuar?, esta seguro de borrar?, realizar otra transaccion?.

esta seguro de borrar?, realizar otra transaccion?. En la actualidad, los lenguajes de programacion visuales,

En la actualidad, los lenguajes de programacion visuales, presentan una interfaz de desarrollo gráfico la tarea de programación esta definida en dos fases, en la primera el Desarrollador de aplicaciones diseña la interfaz que el usuario ha de usar. El siguiente paso consiste en dar funcionalidad a los elementos usados en el diseño, es decir asociar un grupo de instrucciones (procedimiento) a los diversos controles según el tipo de acción que realice el usuario (evento).

instrucciones ( procedimiento ) a los diversos controles según el tipo de acción que realice el
instrucciones ( procedimiento ) a los diversos controles según el tipo de acción que realice el

3

Aprenda a programar en Visual Basic

Su tarea como desarrollador será la de identificar que posibles eventos podrian ocurrir y en base a ellos definir los procedimientos.

ocurrir y en base a ellos definir los procedimientos. Bajo esta modalidad de programacion interesa poco

Bajo esta modalidad de programacion interesa poco que inicie por un lado u otro, ademas debe tener en cuenta que el usuario que haga uso de su aplicación podra navegar (moverse) libremente con el mouse y hacer click donde le de la gana.

que haga uso de su aplicación podra navegar ( moverse ) libremente con el mouse y

4

Aprenda a programar en Visual Basic

Definiciones básicas

Formulario

Ventana personalizable que sirve de interfaz entre el usuario y la aplicación. En ella se sitúa los controles.

Control

Representación gráfica de un objeto, como un cuadro de texto, una lista desplegable, un botón de comando, etc.

Objeto

Termino usado para describir al formulario y a los controles usados. En realidad todo lo que observe incluyendo la pantalla es considerado como objeto.

Propiedad

Son las características del objeto, como el tamaño, la ubicación, el color.

Método

Acción que se puede definir para un objeto, esta acción esta asociada a un conjunto de instrucciones (procedimiento).

Evento

Acción provocada por el usuario, por el sistema operativo (un error por ejemplo) o por la aplicación. El evento esta asociado a un procedimiento.

Hay que tener en cuenta que los procedimientos de los eventos se ejecutan automáticamente, en cambio los procedimientos de los métodos requieren de una instrucción para ser ejecutadas.

automáticamente, en cambio los procedimientos de los métodos requieren de una instrucción para ser ejecutadas. 5

5

Aprenda a programar en Visual Basic

La programación en Visual Basic

Ejecutando Visual Basic

Una vez instalado el producto, vaya al botón Inicio y ubique en la carpeta Programas, Microsoft Visual Studio, luego Microsoft Visual Basic 6.0.

Este cuadro de dialogo muestra una lista de los tipos de archivo que puede crear (a medida que avance con la lectura del texto se verá cada uno de ellos), por lo pronto se usará un EXE estándar.

uno de ellos ), por lo pronto se usará un EXE estándar . A continuación le

A continuación le muestra una ventana vacía, al que llamaremos formulario, a la izquierda se muestra una caja de herramientas con controles, con ellos diseñaremos la interfaz dentro del formulario, las propiedades de cada uno de estos controles se verá en la ventana de propiedades la cual se muestra en el gráfico al lado derecho.

de cada uno de estos controles se verá en la ventana de propiedades la cual se

6

Aprenda a programar en Visual Basic

Aprenda a programar en Visual Basic Para abandonar Visual Basic haga Alt-F4 o ubique la opcion

Para abandonar Visual Basic haga Alt-F4 o ubique la opcion Salir dentro del menu Archivo.

programar en Visual Basic Para abandonar Visual Basic haga Alt-F4 o ubique la opcion Salir dentro

7

Aprenda a programar en Visual Basic

El Entorno Integrado de Desarrollo

Los elementos que componen la pantalla de Visual Basic son:

Barra de menús

Barra de herramientas

Caja de herramientas

Ventana de proyecto

Ventana de formulario

Ventana de propiedades

de herramientas Caja de herramientas Ventana de proyecto Ventana de formulario Ventana de propiedades 8
de herramientas Caja de herramientas Ventana de proyecto Ventana de formulario Ventana de propiedades 8

8

Aprenda a programar en Visual Basic

Barra de titulo

Es la barra horizontal de la ventana mayor (de Visual Basic) en ella se muestra el nombre de la aplicación, al lado derecho de esta se muestra encerrado entre parentesis los estados: diseño, mientras este creando o editando su programa, Ejecución, si se encuentra ejecutando su aplicación y break si la aplicación ha sido detenida.

su aplicación y break si la aplicación ha sido detenida. Barra de menús. Visualiza las órdenes

Barra de menús.

Visualiza las órdenes que se utilizan para desarrollar, probar y archivar una aplicación. Las opciones mas usada del menu son:

una aplicación. Las opciones mas usada del menu son: Archivo Contiene las órdenes para trabajar con

Archivo

Contiene las órdenes para trabajar con archivos.

Edición

Contiene las herramientas que ayudan a escribir el código.

Ver

Da acceso rápido a todas las partes del programa.

Ejecutar

Permite verificar la aplicación mientras se desarrolla.

Herramientas

Controla el aspecto y propiedades del entorno.

Complementos

Contiene las utilidades para el manejo de bases de datos.

Ayuda.

Barra de herramientas.

Facilita el uso a las órdenes más comunes.

herramientas. Facilita el uso a las órdenes más comunes. De izquierda a derecha los iconos tienen

De izquierda a derecha los iconos tienen la siguiente funcion:

Facilita el uso a las órdenes más comunes. De izquierda a derecha los iconos tienen la

9

Aprenda a programar en Visual Basic

 

Nombre

Funcion

Agregar proyecto EXE estandar Al hacer click en la fecha se muestra los distintos tipos

Agregar proyecto EXE estandar

Al hacer click en la fecha se muestra los distintos tipos de ejecutables que Visual Basic puede crear.

Agregar formulario   Abre un nuevo formulario. Al hacer click en la flecha puede elegir

Agregar formulario

 

Abre un nuevo formulario. Al hacer click en la flecha puede elegir entre otras posibles partes de una aplicación Visual Basic

Editor de menus   Le permite diseñar menus. Equivale a seleccionar la opcion Editor de

Editor de menus

 

Le permite diseñar menus. Equivale a seleccionar la opcion Editor de menus del menu Herramientas o hacer Ctrl-E

Abrir proyecto   Le permite abrir un proyecto existente, equivale a que elija la opcion

Abrir proyecto

 

Le permite abrir un proyecto existente, equivale a que elija la opcion Abrir del menu Archivo

Guardar proyecto   Guarda el proyecto actual, equivale a seleccionar la opcion Guardar proyecto del

Guardar proyecto

 

Guarda el proyecto actual, equivale a seleccionar la opcion Guardar proyecto del menu Archivo

Cortar Corta el texto u objeto seleccionado, equivale a que pulse las teclas Ctrl-X

Cortar

Corta el texto u objeto seleccionado, equivale a que pulse las teclas Ctrl-X

Copiar Copia en el portapapeles el texto u objeto seleccionado , equivale a pulsar Ctrl-C

Copiar

Copia en el portapapeles el texto u objeto seleccionado , equivale a pulsar Ctrl-C

Pegar Pega el texto u objeto que se encuentra en el

Pegar

Pega el

texto

u

objeto

que

se

encuentra

en

el

portapapeles, equivale a usar Ctrl-V

 
Buscar Abre el cuadro de dialogo Buscar  

Buscar

Abre el cuadro de dialogo Buscar

 
Deshacer Deshace la ultima accion hecha  

Deshacer

Deshace la ultima accion hecha

 
Rehacer Rehace la ultima accion  

Rehacer

Rehace la ultima accion

 
Iniciar Ejecuta la aplicación, equivale a elegir la opcion Iniciar del menu Ejecutar o pulsar

Iniciar

Ejecuta la aplicación, equivale a elegir la opcion Iniciar del menu Ejecutar o pulsar la tecla F5

Interrumpir Detiene la Ejecución de un programa, es lo mismo que elegir la opcion Interrumpir

Interrumpir

Detiene la Ejecución de un programa, es lo mismo que elegir la opcion Interrumpir del menu Ejecutar o pulsar las teclas Ctrl-Pausa.

Terminar Finaliza la Ejecución de un programa. Equivale a elegir Terminar del menu Ejecutar

Terminar

Finaliza la Ejecución de un programa. Equivale a elegir Terminar del menu Ejecutar

Explorador de Muestra el Explorador de Proyectos  

Explorador

de

Muestra el Explorador de Proyectos

 

proyectos

 
Ventana de Activa la ventana de propiedades  

Ventana

de

Activa la ventana de propiedades

 

propiedades

Ventana posicion del Activa la Ventana de posicion del formulario para determinar la posicion inicial

Ventana

posicion

del

Activa la Ventana de posicion del formulario para determinar la posicion inicial del formulario en la pantalla.

formulario

Examinador de objetos Abre el cuadro de dialogo Examinador de Objetos, equivale a pulsar la

Examinador de objetos

Abre el cuadro de dialogo Examinador de Objetos, equivale a pulsar la tecla F2

Caja de herramientas Activa la caja de herramientas si esta oculta  

Caja de herramientas

Activa la caja de herramientas si esta oculta

 
equivale a pulsar la tecla F2 Caja de herramientas Activa la caja de herramientas si esta

10

Aprenda a programar en Visual Basic

Caja de herramientas.

Provee de un conjunto de herramientas que permiten colocar los controles en el formulario durante el diseño del proyecto. Para usarlo solo debe hacer click en el icono apropiado y sobre el formulario dibuje un rectangulo arrastrando el mouse, con esto el control se colocará en ese lugar. Luego lo puede redimensionar.

No todo los controles se puede cambiar de tamaño, es el caso de control Temporizador que aparece como un pequeño cuadro.

de control Temporizador que aparece como un pequeño cuadro. Ventana de proyecto. Esta ventana contiene una

Ventana de proyecto.

Esta ventana contiene una lista de los elementos que compone un Proyecto, loc cuales pueden ser formularios (.FRM), archivos de módulo (.BAS) con procedimientos que pueden ser accedidos desde cualquier otro procedimiento de la aplicación, módulos de clase (.CLS) y ficheros de recursos (.RES) que contienen bitmaps, cadenas de texto, o cualquier otra información que pueda ser cambiada sin tener que reeditar el código de la aplicación.

El proyecto hace un seguimiento de dónde están los archivos, para esto crea un archivo con la extensión .VBP, este es el archivo de proyecto.

La ventana de proyecto contiene dos botones: Ver Formulario que visualiza el formulario seleccionado y; Ver Código que visualiza el código del fichero seleccionado.

que visualiza el formulario seleccionado y; Ver Código que visualiza el código del fichero seleccionado. 11

11

Aprenda a programar en Visual Basic

Aprenda a programar en Visual Basic Tenga cuidado de eliminar archivos fuera del entorno de VB,

Tenga cuidado de eliminar archivos fuera del entorno de VB, la aplicación que use este archivo al no encontrarlo producirá un error en la ejecución del proyecto

Ventana del formulario.

Es la ventana que da lugar a la interfaz de usuario. Estas actuan como contenedoras graficas de controles tales como botones, etiquetas, cuadros combinados, etc. Existen tres tipos de formulario:

Formulario de interfaz simple: SDI (Single document interface) Formulario de interfaz padre para multiples documentos: MDI (Parent multiple document interface) Formulario hijo MDI (Child MDI)

La interfaz de documento simple SDI no tiene padre ni hijos, es una simple ventana donde se colocan los controles. La interfaz de multiples documentos MDI necesita un formulario padre y uno o mas formularios hijos. Los formularios MDI se usan para crear aplicaciones que puedan abrir mas de un documento a la vez. Cualquier formulario MDI hijo puede ser contenida en un formulario MDI padre. Un ejemplo de este tipo puede ser Word para Windows (se puede abrir varios documentos a la vez)

Para crear una aplicacion MDI primero deberá crear un formulario MDI padre, opcion Formulario MDI nuevo del menu Archivo. Los formularios hijo puede ser creadas como formularios normales y seleccionando luego la propiedad MDI Child como True.

Durante el diseño ayuda mucho la presencia de unos puntos horizontales y verticales que forman una rejilla la cual sera util para alinear los controles que se sitúan sobre el mismo. Esta rejilla desaparece en tiempo de ejecución. Para eliminarla en tiempo de diseño se accederá a la opción Herramientas/Opciones/Ficha Entorno/Mostrar Cuadrícula.

eliminarla en tiempo de diseño se accederá a la opción Herramientas/Opciones/Ficha Entorno/Mostrar Cuadrícula . 12

12

Aprenda a programar en Visual Basic

Aprenda a programar en Visual Basic Ventana de propiedades. Especifica las propiedades de cada uno de

Ventana de propiedades.

Especifica las propiedades de cada uno de los objetos para ser cambiadas en modo de diseño. En cada momento mostrará las propiedades del objeto seleccionado en el formulario. Está formada por dos partes: la lista desplegable de objetos que visualiza el nombre del objeto seleccionado y, la lista de propiedades del objeto seleccionado.

y, la lista de propiedades del objeto seleccionado. Las propiedades puede variar según el tipo de

Las propiedades puede variar según el tipo de control. Por ejemplo una etiqueta tiene la propiedad Caption, la cual esta ausente para un cuadro de texto. No todas las propiedades de un control pueden cambiarse en tiempo de diseño. Por ejemplo la propiedad ActiveForm no es accesible en modo diseño y es de solo lectura en tiempo de Ejecución. Asi mismo hay propiedades como Name que en tiempo de Ejecución es de solo lectura y que puede variarse solo en tiempo de diseño.

propiedades como Name que en tiempo de Ejecución es de solo lectura y que puede variarse

13

Aprenda a programar en Visual Basic

Ventana de código

Se activa cuando se hace doble click sobre un control, esta ventana muestra dos listas en la parte superior, en una aparece el nombre del objeto y en la otra el nombre del evento. Debajo de estas se define el procedimiento, este editor verifica automáticamente la sintaxis de cada instrucción.

Debajo de estas se define el procedimiento, este editor verifica automáticamente la sintaxis de cada instrucción.
Debajo de estas se define el procedimiento, este editor verifica automáticamente la sintaxis de cada instrucción.

14

Aprenda a programar en Visual Basic

Creando una Aplicación en VB

El desarrollo de una Aplicación se da en dos pasos:

1. En Tiempo de Diseño. Se crea un formulario, sobre ella se sitúa los controles u objetos necesarios, cambiándolos de lugar y/o de tamaño. Esta será la presentación de nuestra aplicación. Luego se procede a dar valores a las propiedades de los objetos colocados en el formulario.

2. En Tiempo de Ejecución. Consiste en escribir el código en los objetos para indicar que acciones o eventos se deberán realizar cuando el usuario interaccione con estos objetos. Este paso es conocido también como "Dar funcionalidad a la aplicación".

J Antes de empezar a construir su programa, es necesario que primero lo tenga planeado. Deberá entender las características de los objetos contenidos en las diferentes pantallas, todo esto para que la interfaz sea amigable y funcional.

de los objetos contenidos en las diferentes pantallas, todo esto para que la interfaz sea amigable

15

Aprenda a programar en Visual Basic

Programación en tiempo de Diseño

Luego de indicar un nuevo proyecto, en un formulario colocamos un cuadro de texto y un botón de comando.

colocamos un cuadro de texto y un botón de comando. Los valores de las propiedades son

Los valores de las propiedades son cambiados o actualizados en la ventana de propiedades. Puede activar la ventana de Propiedades pulsando F4.

Ubique la propiedad Name, y asigne un nombre a cada objeto. El cuadro de texto se llamara txtMensaje y el botón de comando cmdPulsame, para que el botón muestre el titulo Pulsame, ubique la propiedad Caption y en ella anote el texto “Pulsame”.

La siguiente

tabla

muestra

las

teclas

que

se

puede

usar

en

la ventana de

Propiedades:

Tecla

Accion

   

Shift + Ctrl + Letra Flecha abajo Flecha arriba PgUp/End PgDn/Home

 

Se ubica el primer elemento que comience con la letra. Ir al siguiente elemento Ir al anterior elemento Ir al ultimo elemento Ir al primer elemento Activa la ventana de propiedades

F4

elemento Ir al anterior elemento Ir al ultimo elemento Ir al primer elemento Activa la ventana

16

Aprenda a programar en Visual Basic

Programación en tiempo de Ejecución

El paso final es escribir el código para que la aplicación se ejecute adecuadamente. En el ejemplo le vamos a dotar de funcionalidad al botón cmdPulsame. Para abrir la ventana de código puede hacer doble click sobre el objeto o usar el botón derecho del mouse sobre el objeto y eligir la opcion Ver código.

del mouse sobre el objeto y eligir la opcion Ver código . Puede seleccionar el objeto

Puede seleccionar el objeto al que se ha de asociar el código en la lista de la izquierda de la ventana de código.

Cualquier evento o procedimiento puede ser seleccionado usando la lista de la derecha.

Para afectar el estado de alguna propiedad de un objeto debe establecer una referencia al objeto, según la sintaxis:

Control.Propiedad=Valor

Por ejemplo:

txtMensaje.Caption = “Hola amigos”

Cada control posee un subconjunto propio de eventos. La lista siguiente muestra los eventos disponibles:

Activate

KeyUp

PathChange

Change

LinkClose

PatternChange

Click

LinkError

QueryUnload

DblClick

LinkExecute

Reposition

Deactivate

LinkNotify

Resize

DragDrop

LinkOpen

RowColChange

DragOver

Load

Scroll

DropDown

LostFocus

SelChange

Error

MouseDown

Timer

GotFocus

MouseMove

Unload

KeyDown

MouseUp

Updated

KeyPress

Paint

Validate

Timer GotFocus MouseMove Unload KeyDown MouseUp Updated KeyPress Paint Validate 17

17

Aprenda a programar en Visual Basic

Para ejecutar la aplicación pulse F5 o haga click en el botón Ejecutar

la aplicación pulse F5 o haga click en el botón Ejecutar Al hacer clic en el

Al hacer clic en el botón Púlsame, deberá aparecer el mensaje dentro del cuadro de texto.

deberá aparecer el mensaje dentro del cuadro de texto. Para detener la aplicación, pulse el botón
deberá aparecer el mensaje dentro del cuadro de texto. Para detener la aplicación, pulse el botón

Para detener la aplicación, pulse el botón Finalizar o, ubique la opción Terminar en el Menú Ejecutar

Los procedimiento asociados a un evento comienzan:

Private Sub Objeto_Evento()

Y termina con:

End Sub

Ampliaremos este ejemplo, si luego de haber hecho click en el botón Púlsame se modifica el contenido del cuadro de texto, haremos que el botón muestre el titulo "Restaurar mensaje".

Cuando se modifica el contenido o valor de un objeto, en nuestro caso el cuadro de texto, se ejecuta o dispara el evento Change, entonces definimos:

Private Sub txtMensaje _Change() cmdPulsame.Caption = "Restaurar mensaje" End Sub

Modificaremos la aplicación para que, una vez restaurado el mensaje, en el botón de comando vuelva a aparecer el texto "Púlsame".

Private Sub cmdPulsame _Click() txtMensaje.Text = “Hola amigos” cmdPulsame.Caption = "Pulsame" End Sub

Private Sub cmdPulsame _Click() txtMensaje.Text = “Hola amigos” cmdPulsame.Caption = "Pulsame" End Sub 18

18

Aprenda a programar en Visual Basic

Finalmente puede crear un archivo ejecutable (.EXE), que sea independiente a Visual Basic. Para crear un ejecutable seleccione Generar Proyecto1.exe del menú Archivo. Deberá escribir un nombre para el ejecutable.

Puede crea dos tipos de ejecutable, el autentico ejecutable esta disponible solo en las versiones Profesional y Empresarial, el otro tipo de ejecutable no están completamente en código de máquina, estos están en un Pseudo-código. De esta forma era necesario un archivo .DLL externo el cual traducía los comando P-Code a comandos que pueden ser entendidos por Windows.

Versión de Visual Basic

Archivo DLL Requerido

1.0

VBRUN100.DLL

2.0

VBRUN200.DLL

3.0

VBRUN300.DLL

4.0

(16-bit)

VB16400.DLL

4.0

(32-bit)

VB32400.DLL

5.0

(32 bit)

VSVBVM50.DLL

6.0

(32 bit)

VSVBVM60.DLL

J Mas adelante se explicara con mas detalle una forma practica de distribuir las aplicaciones.

bit) VSVBVM60.DLL J Mas adelante se explicara con mas detalle una forma practica de distribuir las

19

Aprenda a programar en Visual Basic

Nomenclatura a seguir

Un buen estilo para programar deberá tener una estructura de código fácil de entender, no solo para otros desarrolladores sino también para si mismo.

Asigne nombres a los Controles

Use Prefijos para cada tipo de control seguido de un nombre significativo.

Control

Prefijo

Ejemplo

Check box Combo box Command button Form Grid Horizontal Scroll Bar Image Label List Box Menu Option Button Picture Box Text Box Timer Vertical Scroll Bar

chk

chkSoloEscritura

cbo

cboLenguaje

cmd

cmdCancelar

frm

frmPrincipal

grd

grdCantidades

hsb

hsbColor

img

imgBitMap

lbl

lblAyuda

lst

lstCódigoColor

mnu

mnuAbrirArchivo

opt

optNegritaBold

pic

picMemoria

txt

txtEntrada

tmr

tmrIniciaAlarma

vsb

vsbRango

opt optNegritaBold pic picMemoria txt txtEntrada tmr tmrIniciaAlarma vsb vsbRango 20

20

Aprenda a programar en Visual Basic

Mantenga la identación

Cuando deba anidar un grupo de instrucciones dentro de otra, es bueno que las instrucciones anidadas se encuentren adistanciadas respecto a la primera orden, no le recomiendo usar la barra espaciadora sino en su lugar un espacio de tabulación, esto se llama identar.

La identación es usada para tener una mejor visibilidad en el diseño de un programa. Observe el ejemplo siguiente:

For nDia = 1 To 7 Select Case nDia Case 1 Print "Domingo" Case 2 Print "Lunes" Case 3 Print "Martes" Case 4 Print "Miércoles" Case 5 Print "Jueves" Case 6

Case 7

End Select Next nDia

Print "Viernes"

Print "Sábado"

5 Print "Jueves" Case 6 Case 7 End Select Next nDia Print "Viernes" Print "Sábado" 21

21

Aprenda a programar en Visual Basic

Documente el Código

Coviene que documente aquellas zonas donde haya complejidad en el código.

Hay dos formas de documentar código en VB:

Puede usar el comando REM la cual reserva toda la línea como comentario. Ejemplo:

Rem Centra el formulario. frmCurrent.Left = (Screen.Width / 2) - (frmCurrent.Width / 2) frmCurrent.Top = (Screen.Height / 2) - (frmCurrent.Height / 2)

Puede usar un apóstrofe (') seguido por el texto de comentario. El apóstrofe le dice a VB que ignore todas la palabras que están a continuación. Ejemplo:

Dim xyz As Integer

‘ la variable xyz será entera

que ignore todas la palabras que están a continuación. Ejemplo: Dim xyz As Integer ‘ la

22

Aprenda a programar en Visual Basic

Construya Procedimientos

Toda la complejidad de un proceso desdóblelo en pequeños procesos. A las finales cada proceso formará un procedimiento, Por tanto procure que sus procedimientos realicen tareas simples. Si un procedimiento maneja muchas tareas, lo mas probable es que sea difícil de entender y que pueda provocar fácilmente un error.

Use Constantes

Algunas propiedades se especifican a través de valores numéricos, por ejemplo:

Check1.Value = 1

Si se trata de documentar, para un desarrollador principiante, el valor 1 no le dice mucho, tendrá que tomar un manual y averiguar su significado, pero si optamos por esta otra forma:

Check1.Value = vbChecked

será mas fácil interpretarla, vbChecked es una constante.

Otro ejemplo, la expresión 2*3.1416 puede parecer un tanto confuso, se vera mejor como 2*Pi, donde Pi es una constante.

ejemplo, la expresión 2*3.1416 puede parecer un tanto confuso, se vera mejor como 2*Pi, donde Pi

23

Aprenda a programar en Visual Basic

Respecto al valor de las propiedades

Puede guardar el estado de una propiedad en una variable, de la forma siguiente:

nPrecio = txtPrecio.Text

Aquí se guarda en la variable nPrecio, el valor de la propiedad Text del objeto txtPrecio.

El siguiente ejemplo, asigna el color actual del objeto txtPrecio a una variable:

nColor = txtPrecio.BackColor

luego, dicho color es asociado al objeto frmEjemplo

frmEjemplo.BackColor = nColor

Tambien se puede hacer cálculos con el valor de las propiedades:

txtPrecio.Text = txtPrecio.Text * 1.05

Se incrementa el valor de la propiedad Text en un 5% del objeto txtPrecio, luego el valor es asignado a este mismo objeto.

incrementa el valor de la propiedad Text en un 5% del objeto txtPrecio, luego el valor

24

Aprenda a programar en Visual Basic

El Formulario

El formulario es la ventana que sirve de interfaz entre la aplicación y el usuario. Presenta las características de cualquier ventana Windows.

Presenta las características de cualquier ventana Windows. Estas características son accesibles a través de

Estas características son accesibles a través de propiedades. El tamaño del formulario y de otros objetos se mide en Twips. Donde 1 Twips es igual a 1/20 punto 1 o lo que es lo mismo, 567 twips equivale a un centímetro.

Las propiedades de un formulario son:

AutoRedraw

Si toma el valor True, vuelve a redibujar las imágenes en pantalla.

BackColor

Determina el color de fondo.

Visual Basic describe los códigos de color en hexadecimal, en la ventana de propiedades puede usar la paleta de colores.

BorderStyle

Permite definir el estilo de borde, esta propiedad es accesible solo en tiempo de diseño. Puede tomar los siguientes valores:

1 Los puntos se usan para medir el tamaño de las fuentes

en tiempo de diseño. Puede tomar los siguientes valores: 1 Los puntos se usan para medir

25

Aprenda a programar en Visual Basic

Constante

Valor

Descripción

vbBSNone

0 - None

Ventana del formulario sin borde

vbFixedSingle

1 - Fixed Single

Tamaño fijo con borde no dimensionable. Puede incluir menú de control, barra de título, botón de maximizar y minimizar.

VbSizable

2 - Sizeable

Ventana dimensionable, esta es la opción por defecto.

VbFixedDialog

3 - Fixed Dialog

Tamaño fijo del borde, no dimensionable. Puede incluir menú de control, barra de título. No puede incluir botón de maximizar y botón de minimizar.

VbFixedTool

4 - Fixed

En aplicaciones de 16 bits o Windows NT 3.51 o anteriores funciona como Fixed Single, sin visualizar los botones de maximizar y minimizar. Con Windows 95/98 visualiza el botón de cerrar y, no aparece en la barra de tareas.

Window

ToolWindow

VbSizableToolWindow

5 - Sizeable

ToolWindow

En aplicaciones de 16 bits o Windows NT 3.51 o anteriores funciona como Sizeable, sin visualizar los botones de maximizar y minimizar. Con Windows 95 visualiza el botón de cerrar y, no aparece en la barra de tareas.

Caption

Asigna un título al formulario 2 , esta se muestra en el borde superior

ControlBox

En el estado True se muestra los botones de control, es accesible en tiempo de ejecución.

Enabled

En el estado False el formulario queda deshabilitado, por consecuencia no podrá responder a eventos.

Font

Determina el tipo de letra, atributos, etc. para impresión. El texto ya escrito no se verá afectado por un cambio en estas propiedades, pero sí el texto impreso posteriormente.

Height, Width

Determinan el ancho y el alto del formulario. Se miden en Twips Determinan el tamaño del formulario cuando se imprima, no cuando sea visualizado en pantalla. A

2 No confunda esta propiedad con Name

del formulario cuando se imprima, no cuando sea visualizado en pantalla. A 2 No confunda esta

26

Aprenda a programar en Visual Basic

menos que el usuario modifique el borde cambiando la propiedad BordeStyle, el usuario podrá modificar el tamaño y la forma de los diversos formularios de la aplicación sin tener en cuenta esta propiedad.

Icon

Asigna un icono al formulario, esta se muestra cuando el formulario es minimizado

o cuando se convierta en una aplicación independiente en el escritorio de Windows.

Left, Top

Determinan la posición del formulario en la pantalla. Funcionan de manera idéntica

a las propiedades Height y Width descritas anteriormente. Se miden en twips.

MaxButton, MinButton

Si estas propiedades están en el estado False, los botones de maximizar o minimizar no se harán visibles, estas propiedades serán ignoradas si la propiedad BorderStyle esta 0 - None.

MousePointer

Determina la forma en que se mostrará el puntero del ratón.

Name

Define el nombre del formulario, esta propiedad no es accesible en tiempo de

ejecución

Picture

Muestra una imagen en el formulario a manera de tapiz

Visible

En el estado False el formulario no se hará visible

WindowState

Establece el estado del formulario durante la ejecución.

Constante

Valor

Descripción

vbNormal

0

Tamaño normal (por defecto)

vbMinimized

1

Minimizar hacia un icono

vbMaximized

2

Expandir el formulario al tamaño de la ventana

vbMinimized 1 Minimizar hacia un icono vbMaximized 2 Expandir el formulario al tamaño de la ventana

27

Aprenda a programar en Visual Basic

Ejemplo

Vamos a crear un formulario que solicite el ingreso de una contraseña, en el formulario situe un cuadro de texto y dos botones de comando, luego proceda a definir las propiedades siguientes:

Objeto

Propiedad

Valor

Form1

Name

frmClave Validando los datos del Usuario lblClave Contraseña txtClave

Caption

Label1

Name

Caption

Text1

Name

PassWordChar

*

Value

(vacio)

Enabled

False

Command1

Name

cmdAceptar

Default

True

Command2

Name

cmdCancelar

Cancel

True

El formulario deberá tener el siguiente aspecto:

True El formulario deberá tener el siguiente aspecto: En las ventanas Windows habrá notado que la

En las ventanas Windows habrá notado que la tecla Enter y Esc responden por omisión a la elección de los botones Aceptar y Cancelar o Iniciar y Salir. Podemos hacer lo mismo mediante las propiedades Default y Cancel de los botones de comando. Deberá asignar Default = True para el botón Aceptar y Cancel = True para el botón Cancelar en tiempo de diseño.

Veamos las especificaciones en tiempo de Ejecución:

El Botón cmdAceptar en un principio esta deshabilitado, ni bien se ingrese una letra en el cuadro de texto txtClave, se podrá habilitar, esta acción la hacemos mediante el evento Change de txtClave:

en el cuadro de texto txtClave, se podrá habilitar, esta acción la hacemos mediante el evento

28

Aprenda a programar en Visual Basic

Private Sub txtClave_Change() If txtClave.Text <> "" Then cmdAceptar.Enabled = True End If End Sub

El botón Aceptar, sera quién se encargue de validar el ingreso de la palabra clave, vamos a suponer que que la llave de acceso es Cesar

Private Sub cmdAceptar_Click() If txtClave.Text = "Cesar" Then MsgBox "Usuario autorizado", vbOKOnly

Else

MsgBox "Usuario no autorizado", vbOKOnly End If End Sub

Ahora nos ocupamos del botón salir:

Private Sub cmdCancelar_Click() End End Sub

Ejecutando el formulario se obtiene algo asi:

ocupamos del botón salir: Private Sub cmdCancelar_Click() End End Sub Ejecutando el formulario se obtiene algo
ocupamos del botón salir: Private Sub cmdCancelar_Click() End End Sub Ejecutando el formulario se obtiene algo

29

Aprenda a programar en Visual Basic

Intente estirar el borde derecho o inferior del formulario, notará que es redimensionable, si desea anular esta característica, establezca la propiedad BorderStyle en 1 – Fixed Single. También puede retirar los botones de control estableciendo ControlBox en False.

Ahora la única forma de cerrar el formulario es a través del botón Cancelar

de cerrar el formulario es a través del botón Cancelar J No olvide dejar sus comentarios

J No olvide dejar sus comentarios en www.LibrosDigitales.NET, son servirá para preparar la segunda edición.

J No olvide dejar sus comentarios en www.LibrosDigitales.NET , son servirá para preparar la segunda edición.

30

Aprenda a programar en Visual Basic

Usando multiples formularios

La mayoría de las aplicaciones están basadas en el uso de multiples formularios, para acceder a los objetos ubicados en otro formulario, deberá usar la sintaxis siguiente:

Nombre_Formulario!Nombre_del_Control

Las propiedades que se usan con múltiples formularios son:

Show

Muestra en primer plano un formulario.

formularios son: Show Muestra en primer plano un formulario. Hide Oculta el formulario de la pantalla

Hide

Oculta el formulario de la pantalla pero no lo descarga de memoria.

el formulario de la pantalla pero no lo descarga de memoria. Load Carga a memoria el

Load

Carga a memoria el formulario, pero no lo visualiza

el formulario de la pantalla pero no lo descarga de memoria. Load Carga a memoria el

31

Aprenda a programar en Visual Basic

Unload

Descarga de memoria el formulario, perdiéndose toda la información de sus variables.

perdiéndose toda la información de sus variables. Ejemplo: Agregue un nuevo formulario a su proyecto. La

Ejemplo:

Agregue un nuevo formulario a su proyecto.

La secuencia es ir al menú Proyecto y luego hacer click en la opción Agregar Formulario.

y luego hacer click en la opción Agregar Formulario . En el cuadro de diálogo elija

En el cuadro de diálogo elija el formulario tipo Acerca de

y luego hacer click en la opción Agregar Formulario . En el cuadro de diálogo elija

32

Aprenda a programar en Visual Basic

Aprenda a programar en Visual Basic En este nuevo formulario complete los datos que se pide

En este nuevo formulario complete los datos que se pide en las lineas punteadas

Visual Basic En este nuevo formulario complete los datos que se pide en las lineas punteadas

Le debe quedar algo asi:

Visual Basic En este nuevo formulario complete los datos que se pide en las lineas punteadas

33

Aprenda a programar en Visual Basic

Aprenda a programar en Visual Basic A este formulario llamelo frmSplash, si hace doble click sobre

A este formulario llamelo frmSplash, si hace doble click sobre el formulario,

encontrara que ya hay un código predefinido:

Option Explicit

Private Sub Form_KeyPress(KeyAscii As Integer) Unload Me End Sub

Private Sub Form_Load() lblVersion.Caption = "Versión " & App.Major & "." & _ App.Minor & "." & App.Revision lblProductName.Caption = App.Title End Sub

Private Sub Frame1_Click() Unload Me End Sub

El cual indica que cuando se haga click sobre el formulario, este se ha de cerrar.

Ahora nuestro proyecto ya tiene dos formularios: frmClave y frmSplash.

Si intenta ejecutar notará que se muestra primero frmClave.

Vamos a cambiar el orden primero deberá de mostrarse el formulario de presentacion, es decir frmSplash.

Vaya al menu Propiedades y elija la opcion Propiedades de Proyecto, en el cuadro de dialogo ubique la pagina General, en ella cambie a frmSplash en la lista Objeto Inicial:

Proyecto , en el cuadro de dialogo ubique la pagina General , en ella cambie a

34

Aprenda a programar en Visual Basic

Aprenda a programar en Visual Basic Ahora para enlazar frmSplash con frmClave, añadimos la orden frmClave.Show

Ahora para enlazar frmSplash con frmClave, añadimos la orden frmClave.Show luego de UnLoad me en el código autogenerado de frmSplash:

Option Explicit

Private Sub Form_KeyPress(KeyAscii As Integer) Unload Me FrmClave.Show End Sub

Private Sub Form_Load() lblVersion.Caption = "Versión " & App.Major & "." &_ App.Minor & "." & App.Revision lblProductName.Caption = App.Title End Sub

Private Sub Frame1_Click() Unload Me FrmClave.Show End Sub

Seria mucho mas interesante, si la ventana de presentación se muestre digamos por dos segundos para luego cerrarse de manera automatica.

si la ventana de presentación se muestre digamos por dos segundos para luego cerrarse de manera

35

Aprenda a programar en Visual Basic

Es momento entonces de recurrir al control Cronometro (Timer)

Añada un control Cronometro y luego defina las propiedades:

Objeto

Propiedad

Valor

Timer1

Name

tmrVer

Enabled

True

Interval

2000

Luego haga doble click sobre este control y defina:

Private Sub tmrVer_Timer() Unload Me frmClave.Show End Sub

Borre los procedimientos: Form_Keypress y Frame1_Click. Luego ejecute.

Agregue otro formulario al proyecto, sera un formulario normal, llamelo frmMagic, situe en ella un control OLE, una etiqueta y un Botón de Comando, luego defina las propiedades siguientes:

Objeto

Propiedad

Valor

Form1

Name

frmMagic A King of magic oleMagic lblMagic Haz doble click sobre la imagen cmdCerrar Cerrar True

Caption

OLE1

Name

Label1

Name

Caption

Command1

Name

Caption

Cancel

Al colocar el control OLE le mostrara el cuadro de dialogo Insertar Objeto, en ella señale Crear desde archivo y luego ubique el archivo de video magic.avi

cuadro de dialogo Insertar Objeto , en ella señale Crear desde archivo y luego ubique el

36

Aprenda a programar en Visual Basic

Aprenda a programar en Visual Basic El aspecto del formulario deberá ser el siguiente: El botón

El aspecto del formulario deberá ser el siguiente:

Basic El aspecto del formulario deberá ser el siguiente: El botón Cerrar deberá incluir el siguiente

El botón Cerrar deberá incluir el siguiente código:

Private Sub cmdCerrar_Click() Unload frmMagic End Sub

siguiente: El botón Cerrar deberá incluir el siguiente código: Private Sub cmdCerrar_Click() Unload frmMagic End Sub

37

Aprenda a programar en Visual Basic

Para asociar los formularios frmClave y frmMagic, vamos a redefinir el evento Click del botón cmdAceptar en el formulario frmClave:

Private Sub cmdAceptar_Click() If txtClave.Text = "Cesar" Then frmMagic.Show vbModal

Else

MsgBox "No autorizado", vbOKOnly, "Advertencia" End If End Sub

Al ejecutar obtenemos:

vbModal Else MsgBox "No autorizado", vbOKOnly, "Advertencia" End If End Sub Al ejecutar obtenemos: 38
vbModal Else MsgBox "No autorizado", vbOKOnly, "Advertencia" End If End Sub Al ejecutar obtenemos: 38

38

Aprenda a programar en Visual Basic

Impresion del formulario

Ahora que su programa corre perfectamente, seguro desea imprimirla para mostrarla a sus amigos.

Para obtener una copia impresa del formulario puede ir al menu Archivo, opcion Imprimir y luego indicar si desea solo el código o ademas la imagen es decir el resultado.

Existe otra forma, es imprimiendo desde la aplicación, por ejemplo mientras se va reproduciendo el video de King of the Magic, quiza desee una instantanea de Freddy Mercury para el album de fotos. Puede asociar la instrucción PrintForm a un botón de comando.

Suponiendo que el botón se llamara cmdImprimir anotariamos:

Private Sub cmdImprimir_Click() PrintForm End Sub

comando. Suponiendo que el botón se llamara cmdImprimir anotariamos: Private Sub cmdImprimir_Click() PrintForm End Sub 39

39

Aprenda a programar en Visual Basic

Las funciones InputBox() y MsgBox()

InputBox()

Muestra una ventana para el ingreso de datos

cVariable = InputBox("Pregunta" [," Título", xPos, yPos])

xPos, yPos indica las coordenadas donde se mostrará esta ventana, los valores deben ser en twips

MsgBox()

Muestra una ventana para la visualizacion de algun resultado.

nValor = MsgBox("Mensaje ", Tipo, "Título")

Aquí tipo es un numero que indica el icono y los botones que aparecerán, la tecnologia IntelliSense con la cual está dotada VB hace que mientras se anote la funcion automaticamente aparezca las constantes de tipo.

la funcion automaticamente aparezca las constantes de tipo. nValor tomara un valor numerico según el tipo

nValor tomara un valor numerico según el tipo de botón que se haya definido para MsgBox(), una forma facil de manejarlo es a traves de constantes

Constante

nValor

Botón pulsado

vbOk

1

Aceptar

vbCancel

2

Cancelar

vbAbort

3

Anular

vbRetry

4

Reintentar

vbIgnore

5

Ignorar

vbYes

6

Si

vbNo

7

No

3 Anular vbRetry 4 Reintentar vbIgnore 5 Ignorar vbYes 6 Si vbNo 7 No 40

40

Aprenda a programar en Visual Basic

Ejemplo

Iremos a crear una aplicación que pregunte al usuario su nombre y luego le dé la bienvenida.

Coloque en un formulario un botón de comando y un control imagen, luego defina las propiedades:

Objeto

Propiedad

Valor

Form1

Name

frmSaludo

Caption

(vacio)

Image1

Name

imgClaudia

Picture

Claudia.GIF

Stretch

True

Command1

Name

cmdCerrar

Caption

Cerrar

Cancel

True

Al final le debe quedar algo asi:

Cerrar Cancel True Al final le debe quedar algo asi: Ahora haga doble click en el

Ahora haga doble click en el formulario y defina el evento Load. Aquí solicitamos el nombre del usuario a traves del comando InputBox y la guardamos en la variable cNombre, el cual luego lo pasamos como titulo del formulario.

traves del comando InputBox y la guardamos en la variable cNombre, el cual luego lo pasamos

41

Aprenda a programar en Visual Basic

Private Sub Form_Load() cNombre = InputBox("Hola!!!" + Chr(13) _

+ "Cual es tu nombre?", "Saludos", "Colega")

frmSaludo.Caption = "Bienvenido " + cNombre

End Sub

Cuando se haga click sobre el botón Cerrar, mostraremos un mensaje de despedida, aquí usaremos MsgBox:

Private Sub Command1_Click()

nRpta = MsgBox("Gracias por tu visita" + Chr(13) _

End

End Sub

+ "Larga vida

",

vbOKOnly, "Hasta pronto

")

Al ejecutar se obtiene:

+ Chr(13) _ End End Sub + "Larga vida ", vbOKOnly, "Hasta pronto ") Al ejecutar
+ Chr(13) _ End End Sub + "Larga vida ", vbOKOnly, "Hasta pronto ") Al ejecutar

42

Aprenda a programar en Visual Basic

Variables

Podriamos representar una variable como una posicion en memoria a la cual podemos llegar mediante un identificador y donde podemos guardar un dato por un determinado tiempo, cuando se requiera podrá tomarse, modificarse y volverse a guardar.

requiera podrá tomarse, modificarse y volverse a guardar. Resumiendo diremos que las variables son estructura de

Resumiendo diremos que las variables son estructura de datos usados para almacenar información. Hay dos tipos de información que puede ser almacenada:

números y texto, antes de usar una variable, deberá primero definirla

Dim nombre_de_variable As Tipo

Ejemplo:

Dim numPrecio , numCant As Integer Dim strNombreArticulo As String numTotal = numPrecio*numCant Print strNombreArticulo & “Total = ” & numTotal

A continuación exponemos los tipos de variables disponibles, luego los criterios a tener cuando se usen y el alcance que estas tienen dentro de una aplicacion

disponibles, luego los criterios a tener cuando se usen y el alcance que estas tienen dentro

43

Aprenda a programar en Visual Basic

Tipos de variable

Se dispone de los siguientes tipos de variable:

Tipo

Descripcion

Integer

Guardan valores numéricos enteros relativamente pequeños, el espacio que ocupa cada variable es de 2 bytes

Permite el uso de valores relativamente grandes, ocupa 4 bytes en memoria

(Entero)

Long

(Entero largo)

Single (Simple precision)

Numeros de simple precision, estas variables guardan aproximaciones de los numeros, el tamaño de estos numeros es de hasta 38 digitos, pueden ser fraccionarios, pero solo tienen una precision de siete digitos, estas variables ocupan 4 bytes en memoria.

Double (Doble precision)

Estas variables guardan numeros con una precision de 16 digitos y permiten mas de 300 digitos, use estas variables para cálculos cientificos, el espacio que ocupa 8 bytes

Currency

Este tipo de variable mantiene 4 cifras decimasles de precision y puede tener hasta 14 digitos en la parte entera. Ocupa 8 bytes

Para el almacenamiento de caracteres, la variable puede guaradr hasta 2 billones de caracteres (estaria restringido por la capacidad de su computadora)

(Monetario)

String

(Cadena)

Date

(Fecha)

Permite almacenar una fecha y una hora. Si incluye solo la fecha se asumira por hora la medianoche. Ocupa 8 bytes

Byte

Puede contener un valor entero entre 0 y 255, aparente si se desea economizar espacio. Ocupa 1 byte

Boolean

Permite almacenar un valor logico, puede ser True o False. Ocupa 2 bytes

Variant

Este tipo de variable puede guardar cualquier tipo de dato, VB hace las conversiones automaticamente de modo que el Desarrollador no tendrá que preocuparse por ellas.

de dato, VB hace las conversiones automaticamente de modo que el Desarrollador no tendrá que preocuparse

44

Aprenda a programar en Visual Basic

Para cada tipo de variable hay un rango de valores permitidos:

Tipo

Rango permitido

Byte

De 0 a 255

Integer

-32,768 a 32,767

Long

-2,147,483,648 a 2,147,483,647

Single

-3.402823E38 a -1.401298E-45

1.401298E-45 a 3.402823E38

Double

-1.79769313486232D308 a -4.94065645841247D-324

4.94065645841247D-324 a 1.79769313486232D308

Currency

-922337203685477.5808 a 922337203685477.5807 Con tamaño variable 10 bytes + 1 byte/char Con tamaño fijo, 1 byte/char (0 hasta 65400 caracteres)

String

Date

De 1 de Enero del 100 al 31 de Dic de 9999

Variant

Con número, 16 bytes Con caracteres, 22 bytes + 1 byte/char Valores de fechas: 1/1/0000 a 12/32/9999

Una vez definida la variable, le puede asignar un valor. Para esto se usa el operador =

'

'.

Ejemplo:

Dim numPrecio , numCant As Integer Dim strNombreArticulo As String numPrecio = 17 numCant = 5 strNombreArticulo = “Teclados”

Las operaciones que se efectuan con variables, se deben hacer entre variables del mismo tipo, por ejemplo:

Print numCant * strNombreArticulo

Presentaria un error indicando que los tipos no coinciden “Type Mismatch”

Print numCant * strNombreArticulo Presentaria un error indicando que los tipos no coinciden “Type Mismatch” 45

45

Aprenda a programar en Visual Basic

Si no define la variable por defecto asumirá el tipo Variant (evite usar este tipo de variable), analice el siguiente caso:

var1 = “8” var2 = var1 + 6 Print var2

Espera el error “Type Mismatch”?, pues no la respuesta es 14, hay un hecho curioso en las variables del tipo Variant, antes de realizar la suma, VB evalua el contenido de var1, a pesar de estar entre comillas lo convierte a numérico.

var1 = 8 var2 = var1 & “6” Print var2

El simbolo & se usa para unir dos cadenas, en la secuencia anterior var1 es una variable numérica, al igual que en el ejemplo anterior se esperaria un error del tipo “Type Mismatch”, pero termina arrojando el resultado 86, es decir var1 lo ha convertido a cadena.

Dim var1 As Integer Dim var2 As Integer var1 = 8 var2 = 6 var2 = var1 & var2 Print var2

En teoria la secuencia anterior deberia arrojar un mensaje de error ya que var1 y var2 son variables numéricas, el hecho de usar el operador de concatenacion los ha unido como si fueran datos del tipo carácter. La gran pregunta es: cual es el tipo de la variable var2 luego de haberse hecho el cálculo? Y que sucederá si a ese resultado le multiplicamos o sumamos un numero?.

En resumen: el operador '+' suma los operandos, mientras que '&' los une:

X

= "ABC" + "DE"

X="ABCDE"

X

= "ABC" & "DE"

X="ABCDE"

X

=

12 + 3

X=15

Y

=

12 & 3

X="123"

& "DE" X="ABCDE" X = 12 + 3 X=15 Y = 12 & 3 X="123" 46

46

Aprenda a programar en Visual Basic

Option Explicit

Para evitar posibles errores a consecuencia de variables no declaradas (es decir Variant), podemos obligarnos a definirlas. Vaya al menu Herramientas, luego a Opciones y marque la casilla Requerir declaracion de variables.

Ahora en cada modulo, (FRM, BAS o CLS) se añadirá al principio la instrucción Option Explicit.

se añadirá al principio la instrucción Option Explicit. Procure usar siempre Option Explicit en cada módulo.
se añadirá al principio la instrucción Option Explicit. Procure usar siempre Option Explicit en cada módulo.

Procure usar siempre Option Explicit en cada módulo. Option Explicit localiza los nombres de variables incorrectos de forma automática.

En cuanto a la definicion de las variables, se mencionó que se debía usar la instrucción DIM, pero no es la unica forma, tambien puede usar:

de las variables, se mencionó que se debía usar la instrucción DIM, pero no es la

47

Aprenda a programar en Visual Basic

Dim var1 As Variant Dim var2 As Integer Dim var3 As Long Dim var4 As Single Dim var5 As Double Dim var6 As String Dim var7 As Currency

Dim var1

Dim var2%

Dim var3&

Dim var4!

Dim var5#

Dim var6$

Dim var7@

Puede declarar mas de una variable con una sola instrucción Dim, por ejemplo:

Dim numPrecio As Currency, strNombre As String Dim numCant%, strTelefono$

De que tipo son las variables valor1, valor2 y valor3, en la siguiente linea?

Dim valor1, valor2, valor3 As Integer

Si afirma que todas son de tipo Integer, está en un error, pues las dos primeras variables son de tipo Variant y la ultima Integer, asi que hay que tener mucho cuidado. Finalmente si elige un tipo de variable incorrecto y luego almacena un valor que excede el rango permitido, se presentará un error de desbordamiento, por ejemplo:

Dim nPoblacion As Integer nPoblacion = 90000

rango permitido, se presentará un error de desbordamiento, por ejemplo: Dim nPoblacion As Integer nPoblacion =

48

Aprenda a programar en Visual Basic

Usando DefXXX en la definicion de variables

Si definimos:

Dim nPoblacion, nVarones, nMujeres

ya se sabe que estas variables por omision son del tipo Variant, para simplificar el código, se puede indicar al principio del modulo (en Declaraciones Generales) que todas las variables que se definan sin tipo, pertenezcan a uno por defecto 3 , esto se hace a traves de la instrucción DefXXX.

Los formatos de las distintas instrucciones DefXXX son:

DefInt

rango de letra

Enteros

DefLng

rango de letra

Enteros largos

DefSng

rango de letra

Reales de simple precision

DefDbl

rango de letra

Reales de doble precision

DefCur

rango de letra

Moneda

DefStr

rango de letra

Cadenas

DefVal

rango de letra

Variantes

DefBool

rango de letra

Booleanas

DefByte

rango de letra

Byte

DefDate

rango de letra

Fecha

Por ejemplo las variables nPoblacion, nVarones y nMujeres tienen algo en comun, todas empiezan con la letra n, entonces en Declaraciones Generales anote:

DefLng N

DefStr A-D

Ahora cuando se defina:

Dim nPoblacion, nVarones, nMujeres, nSalario As Currency

Se asumirá por defecto que todas las variables que empiezan con la letra “n” seran del tipo Entero largo, excepto nSalario que es Monetario.

3 Excepto el Variant

empiezan con la letra “n” seran del tipo Entero largo, excepto nSalario que es Monetario. 3

49

Aprenda a programar en Visual Basic

Tambien se puede indicar un rango, por ejemplo:

DefStr A-D

Indica que todas las variable que empiezan con las letras A, B, C o D seran del tipo Cadena.

A continuacion se muestra la estructura completa del ejemplo:

con las letras A, B, C o D seran del tipo Cadena. A continuacion se muestra
con las letras A, B, C o D seran del tipo Cadena. A continuacion se muestra

50

Aprenda a programar en Visual Basic

Alcance de las variables

En muchas ocasiones se necesita que el valor de una variable se conserve mientras se ejecuta la aplicación, en otras que el valor solo exista por un determinado momento.

El ambito de la variable va a depender del lugar donde la defina, si la variable la define en Declaraciones Generales, la variable será visible en todos los procedimientos relacionados al formulario, cualquier cambio que haga en esta variable desde un procedimiento de evento persistirá.

Veamos un ejemplo: En un formulario disponga de dos botones de comando:

Command1 y Command2, haga doble click en el formulario, en la ventana de código ubiquese al principio en la zona denominada Declaraciones Generales, en ella defina la variable x. Luego asigne el código siguiente a los botones de comando:

Luego asigne el código siguiente a los botones de comando: Las variables que se declaran a

Las variables que se declaran a nivel de formulario (en Declaraciones Generales), mantienen su valor y son accesibles desde cualquier procedimiento del formulario. Si ejecuta el formulario y hace click en Command1, la primera vez se imprima 0, si vuelve a pulsarlo imprimirá 1 y asi sucesivamente.

Para Command2 aparentemente se redefine la variable, al asociarle un nuevo valor, en este caso la cadena “Cesar”, y luego hacer click sobre el botón se espera como resultado “Cesar”, hasta alli va bien pero que sucederá si ahora hacemos click en Command1?… si cree que se imprimirá “Cesar”, estamos mal… se imprimirá el número siguiente.

hacemos click en Command1?… si cree que se imprimirá “Cesar”, estamos mal… se imprimirá el número

51

Aprenda a programar en Visual Basic

La variable definida en Command2 existe solo cuando se ingresa a dicho procedimiento, al abandonarla, dicha variable deja de existir.

al abandonarla, dicha variable deja de existir. Hay tres tipos de alcance en una variable: Local

Hay tres tipos de alcance en una variable:

Local

La variable solo puede ser usada en el procedimiento actual (use Dim dentro del procedimiento).

Módulo La variables pueden ser accesadas desde cualquier procedimiento del formulario actual (use Dim dentro de la sección de Declaraciones Generales del modulo).

Global Pueden ser accesados desde cualquier procedimiento y desde cualquier formulario. (usa Global dentro de la sección de Declaraciones Generales del formulario).

El declarar variables y arreglos como local en un procedimiento o función es muy usado, porque esto minimíza los efectos extraños que pueden ocurrir cuando se usan variables globales. Sin embargo, cuando usamos una variable local en un procedimiento, crea un espacio de memoria para mantener el valor de esta variable , esto sucede cuando lee la definicion Dim, pero cuando llega al final del procedimiento (End Sub) libera el espacio asigndo para el valor de la variable local.

Agrega el siguiente código a un botón de comando y observa que valores son impresos:

el valor de la variable local. Agrega el siguiente código a un botón de comando y

52

Aprenda a programar en Visual Basic

Aprenda a programar en Visual Basic Después de dar clic varias veces al botón el valor

Después de dar clic varias veces al botón el valor nunca será arriba de uno a pesar de que el valor de la variable se incrementa en uno cada vez. Esto es porque cada vez que el procedimiento es llamado, la variable se define, existe y al finalizar la Ejecución del prodimiento muere. Para que ésto no suceda así, podemos sustituir Static en lugar de Dim:

suceda así, podemos sustituir Static en lugar de Dim : Ahora en vez de que el

Ahora en vez de que el valor de la variable se pierda cuando el procedimiento termina, con este cambio (static) su valor permanecerá hasta que todo el programa termine. De esta manera, podemos ver una lista de números que se incrementan en uno cada vez que se haga click en el botón de comando 4 .

4 La nueva variable estática es una variable de alcance local, si algun procedimiento trata de acceder esta variable no prodrá hacerlo

estática es una variable de alcance local, si algun procedimiento trata de acceder esta variable no

53

Aprenda a programar en Visual Basic

Constantes

Hay ciertos valores que no necesariamente cambian en una aplicación como el contenido de las variables, datos como por ejemplo el IGV, el tipo de cambio, el valor de PI. En lugar de anotar:

nRadio = 10 Print “Perimetro circulo ” ; 2*nRadio*3.1416

Resulta mas claro:

Const PI = 3.1416 nRadio = 10 Print “Perimetro circulo ” ; 2*nRadio*PI

Mas aun si el valor PI se utiliza en diferentes partes de la aplicación.

Las constantes mantiene un valor en toda la ejecución del programa. Se definen usando la instrucción Const.

Veamos otro ejemplo:

Const IGV = 1.18 constante Const TipoCambio = 5.2

Dim Precio As Currency Precio = 120 Print “Precio ”; Precio * IGV Print “Al cambio ” ; Precio * IGV*TipoCambio

‘ Declara y asigna un valor

‘ Tipo de cambio

a la

Como las variables las constantes también tiene reglas de alcance. Hay constantes globales que pueden ser accesadas por cualquier módulo o cualquier formulario del proyecto, las constantes de módulo solo son accesadas por el formulario que los contiene, y las contantes locales son accesadas solamente por el objeto actual o por el procedimiento o función.

los contiene, y las contantes locales son accesadas solamente por el objeto actual o por el

54

Aprenda a programar en Visual Basic

Local

Utilice “Const” dentro del procedimiento

Módulo

Utilice “Const” dentro de la sección de Declaraciones Generales de un formulario o módulo

Global

Utilice “Global Const” dentro de la sección de Declaraciones Generales de un módulo

Hay un gran número de constantes predefinidas, muchas de ellas son accesibles mediante la tecnologia IntelliSense. Puede acceder a la lista de constantes pulsando la tecla F2 o mediante el menu Ver opcion Examinador de Objetos (Object Browser)

el menu Ver opcion Examinador de Objetos (Object Browser) Para trasladar una constante a la ventana

Para trasladar una constante a la ventana de código, ubique la constante en la ventana Examinador de Objetos, luego haga uso del botón Copiar al Portapapeles. Ahora en la ventana de código solo tiene que pegar: Ctrl-V.

Objetos, luego haga uso del botón Copiar al Portapapeles. Ahora en la ventana de código solo

55

Aprenda a programar en Visual Basic

Arreglos (arrays)

Un arreglo, representa un conjunto de posiciones consecutivas en memoria identificadas con un mismo nombre a las que se puede acceder a traves de un subindice, cada posicion cumple la misma funcion que una variable: almacenar un dato.

Podriamos decir tambien que un arreglo si es unidimensional es la representacion de un vector y si es bidimensional la de una matriz.

de un vector y si es bidimensional la de una matriz. En VB los elementos de

En VB los elementos de un arreglo deben almacenar datos del mismo tipo. Un detalle mas, el primer elemento de una matriz posee como subindice 0, el siguiente 1 y asi sucesivamente. El rango máximo va desde -32.769 hasta 32.767

Para definir un arreglo se usará la instrucción:

Dim/Static/Private/Public Arreglo ([Rango1[,Rango2[,

Ejemplo:

]]]) As Tipo

Dim aAmigos(3) As String

En el ejemplo se crea el arreglo aAmigos con 3 elementos, para asignar valores al arreglo use el signo “=”:

aAmigos(0) = “Guino” aAmigos(1)= “Dario” aAmigos(2) = “Cesar”

Si deseamos imprimir uno de los nombres basta señalarlo con el indice:

Print aAmigos(1)

‘ Imprime Dario

Si deseamos imprimir uno de los nombres basta señalarlo con el indice: Print aAmigos(1) ‘ Imprime

56

Aprenda a programar en Visual Basic

Si el valor debe asignarse como titulo de un botón de comando (a Command1 por ejemplo), basta referenciar y asignar:

Command1.Caption = aAmigos(1)

Para quienes estamos acostumbrados a iniciar la cuenta a partir del número uno, puede que nos desencaje el cero como inicial, para corregirlo podemos usar la instrucción “Option Base 1”, de esa forma forzamos a empezar con 1. Asi

Print aAmigos(1)

‘ Imprimirá “Guino”

Si deseáramos agregar mas elementos, no podríamos ya que este tipo de arreglo no lo permite (arreglo estático), la solucion está en usar un arreglo dinamico.

Un alcance mas, tambien puede crear arreglos indicando un rango de subindices, por ejemplo:

Dim Lista(2 To 5) As Integer

Crea un arreglo de 4 elementos, del 2 al 5.

indicando un rango de subindices, por ejemplo: Dim Lista(2 To 5) As Integer Crea un arreglo

57

Aprenda a programar en Visual Basic

Arreglos Dinámicos

Podemos crear arreglos tantas veces lo necesitemos, pero en ciertos momentos es necesario cambiar el tamaño del arreglo en una aplicación. Para hacer esto podemos usar un arreglo 'dínamico'. Primero el arreglo puede ser declarado en la misma forma, pero sin el número de elementos.

Como ejemplo vamos a crear un arreglo que contenga los distritos de Lima:

Dim aDistritos() As String

Para cambiar el tamaño de este arreglo use el comando 'ReDim' y especifique el número de elementos :

ReDim aDistritos(5) aDistritos(0) = “Lince” aDistritos(1) = “San Borja” aDistritos(2) = “Miraflores” aDistritos(3) = “Barraco” aDistritos(4) = “Surco”

Si intentamos redimensionar el arreglo se perderá, para que esto no suceda podemos usar:

ReDim Preserve aDistritos(7) aDistritos(5) = “Rimac” aDistritos(6) = “San Martin de Porres”

podemos usar: ReDim Preserve aDistritos(7) aDistritos(5) = “Rimac” aDistritos(6) = “San Martin de Porres” 58

58

Aprenda a programar en Visual Basic

Funciones para el tratamiento de arreglos

Hay dos funciones que se usa con cierta frecuencia en el tratamiento de arreglos se trata de:

LBound

Retorna el menor valor de un arreglo

UBound

Devuelve el mayor valor de un arreglo

Por ejemplo

Dim aPrecios(3) As Integer aPrecios(0) = 300 aPrecios(1) = 190 aPrecios(2) = 200 Print “Lo mas barato”; LBound(aPrecios) Print “Lo mas caro”; UBound(aPrecios)

J No olvide visitar siempre www.LibrosDigitales.NET, recomiende a sus amistades nuestros libros, son GRATIS

J No olvide visitar siempre www.LibrosDigitales.NET, recomiende a sus amistades nuestros libros, son GRATIS 59

59

Aprenda a programar en Visual Basic

Arreglo de Controles

Un Arreglo de Controles es un grupo de controles que comparten el mismo nombre y tipo. A su vez, comparten los mismos procedimientos de eventos, pero son controles físicamente separados y cada uno posee su propio conjunto de propiedades. Un arreglo de controles tiene al menos un elemento y no puede exceder de 254. Para crear un arreglo de controles es suficiente con asignar el mismo nombre a los controles (propiedad Name) en la fase de diseño, o bien

asignar un valor a la propiedad Index de un control. En el último caso se genera un arreglo de un solo elemento, lo cual es útil cuando se quieren crear controles en tiempo de ejecución. Cuando Visual Basic crea un arreglo de controles, asigna por

defecto los índices 0, 1,

, los cuales pueden modificarse a voluntad del usuario

cambiando el valor de la propiedad Index. Esta operación sólo puede hacerse durante el diseño.

Un pequeño ejemplo: en un formulario se situará tres botones de comandos, a los tres póngale de nombre cmdBotones, claro con títulos diferentes: Aceptar,. Cancelar y Ayuda.

Si hace doble click sobre uno de ellos, se abrirá la ventana de código, debemos usar el parámetro Index 5 , para averiguar cual de los tres botones de pulsó. Debe tener presente que el código creado es compartido por cada uno de los elementos del arreglo de controles.

por cada uno de los elementos del arreglo de controles. Un NombreArreglo(Index) elemento del arreglo de

Un

NombreArreglo(Index)

elemento

del

arreglo

de

5 Que por defecto aparecerá

controles

puede

referenciarse

NombreArreglo(Index) elemento del arreglo de 5 Que por defecto aparecerá controles puede referenciarse 60 escribiendo

60

escribiendo

Aprenda a programar en Visual Basic

Control del flujo en un Programa

El flujo de control de la lógica de un programa es una de las facetas más importantes de cualquier lenguaje de programación. Las instrucciones condicionales que cambian la dirección del flujo de control, las instrucciones iterativas (los bucles) que repiten una determinada acción un cierto número de veces, y las instrucciones de selección que escogen una posible línea de acción de entre varias posibles basándose en un valor de control, son herramientas que permiten escribir programas útiles en Visual Basic.

Estructura condicional simple

La estructura condicional simple dirige el flujo de un programa basandose en una condición, la veracidad o falsedad de la condición dirigirá el flujo en una dirección, de entre dos posibles.

dirigirá el flujo en una dirección, de entre dos posibles. La sintaxis de esta instrucción es

La sintaxis de esta instrucción es la siguiente:

Forma simple:

IF <Condición> THEN <instrucción>

La forma en que trabaja esta instrucción resulta casi evidente: si (IF) la condición resulta cierta (True), entonces (THEN) la instrucción se ejecuta. Si la condición resulta falsa (False), el control pasa a la siguiente (en orden descendente) instrucción del programa.

Forma completa:

IF <Condición> THEN <instrucción1> ELSE <instrucción2>

del programa. Forma completa: IF <Condición> THEN <instrucción1> ELSE <instrucción2> 61

61

Aprenda a programar en Visual Basic

Aprenda a programar en Visual Basic Aquí, si la condición resulta cierta, entonces se ejecuta la

Aquí, si la condición resulta cierta, entonces se ejecuta la <instrucción 1>. Si por el contrario (ELSE) la expresión resulta falsa, entonces se ejecuta la <instrucción

2>.

La forma de usar esta orden condicional con bloques de instrucciones es desdoblándolas de la forma siguiente:

Forma simple:

IF <Condición> THEN <instrucciones>

ENDIF

Forma completa:

IF <Condición> THEN <instrucciones 1>

ELSE

<instrucciones 2>

ENDIF

Por ejemplo:

If k < 0 Then Negativo = True k = Abs(k)

Else

Negativo = False End If

‘Actualiza el indicador de negativo ‘Toma el valor absoluto de k

‘Borra el indicador de negativo

False End If ‘Actualiza el indicador de negativo ‘Toma el valor absoluto de k ‘Borra el

62

Aprenda a programar en Visual Basic

Hay una forma más sofisticada de la instrucción IF, donde se establece múltiples condiciones, el bloque de instrucciones que se ejecutará será aquella donde la condición sea verdadera:

IF Condicion1 THEN

[Instrucciones1]

[ELSEIF Condicion2

[Instrucciones2]]

[ELSEIF Condicion3

[Instrucciones3]]

[ELSE

[InstruccionesN]] END IF

Finalmente tenemos la función IIF() que guarda cierto parecido al comando IF, sólo que la función en este caso retorna un valor, además debe estar expresada en una sola línea:

Valor = IIF(Condicion, ExpVerdadera, ExpFalsa)

retorna un valor, además debe estar expresada en una sola línea: Valor = IIF (Condicion, ExpVerdadera,

63

Aprenda a programar en Visual Basic

Instrucciones IF anidadas

Es posible anidar tantas instrucciones IF como se quiera, pero conviene recordar que si alguien al leer un programa necesita profundizar en demasiados niveles de IF antes de llegar al nivel más elemental, podría perder la pista del funcionamiento del programa y abandonarlo antes de tener la oportunidad de tener la oportunidad de volver hacia los niveles superiores. Si la única razón del anidamiento múltiple de instrucciones IF es elegir una alternativa de entre varias, sería mucho mejor utilizar la instrucción SELECT CASE. La forma de una estructura de este tipo sería algo como:

IF <condición 1> THEN IF <condición 2> THEN IF <condición 3> THEN IF <condición 4> THEN <instrucción> ENDIF ENDIF ENDIF ENDIF

Aquí tenemos otro caso de anidación:

IF <condición 1> THEN <instrucción 1> ELSE IF <condición 2> THEN <instrucción 2> ELSE IF <condición 3> THEN <instrucción 3> ELSE <instrucción 4> ENDIF ENDIF ENDIF

2> ELSE IF <condición 3> THEN <instrucción 3> ELSE <instrucción 4> ENDIF ENDIF ENDIF 64

64

Aprenda a programar en Visual Basic

Respecto a la condición

Los operadores que puede usar para elaborar la condición son:

>

Mayor que

<

Menor que

=

Igual a

<=

Inferior o igual a

>=

Superior o igual a

<>

Distinto a

Like

Como el modelo de cadena propuesto

Con Like se pueden usar los siguientes comodines:

* Para cero, uno o más caracteres cualesquiera

? Para un carácter único cualquiera

# Para una cifra única cualquiera

[ListaChars] Para todo carácter único que se encuentre en la lista

[!ListaChars] Para todo carácter único que no se encuentre en la lista

Ejemplos:

Si el código es de 7 caracteres, de los cuales el primero es “S”, luego dos caracteres cualesquiera, luego los caracteres IQT más un número:

IF IdProducto LIKE "S??IQT#" THEN

El primer carácter no puede ser ni una K ni una R:

IF IdProducto LIKE "[!KR]*" THEN

No está comprendido entre la K y la R inclusive.

IF IdProducto LIKE "[!K-R]*" THEN

LIKE "[!KR]*" THEN No está comprendido entre la K y la R inclusive. IF IdProducto LIKE

65

Aprenda a programar en Visual Basic

En VB las cadenas “Clave”, “clave” y “CLAVE” son diferentes, si en una variable tiene un valor y la quiere comparar con una de estas palabras, tendría que usar las funciones UCase() o LCase():

IF UCase(var) = “CLAVE” THEN

o

IF LCase(var) = “clave” THEN

Pero, hay una forma con la que ya no tiene que preocuparse de como se ingrese el dato, es indicando: Option Compare Text al principio del módulo en Declaraciones Generales.

De modo que:

IF var = “Clave” THEN

la condicion será verdadera si se ingresó “CLAVE” o “clave”.

De modo que: IF var = “Clave” THEN la condicion será verdadera si se ingresó “CLAVE”

66

Aprenda a programar en Visual Basic

Instrucción repetitiva multiple

La instrucción SELECT CASE es una forma abreviada para referirse al anidamiento ELSE/IF. La sintaxis es la siguiente:

SELECT CASE Condición_de_testeo CASE valor1 Instrucciones 1 [CASE valor2 instrucciones 2]

[CASE ELSE instrucciones n]

END SELECT

La siguiente estructura de instrucciones If anidadas:

IF nota < 11 Then estado=”desaprobado”

Else

If nota < 13 Then Estado=”sustitutorio”

Else

Estado = “aprobado” End If End If

Puede ser reemplazada por:

Select Case nota Case < 11 estado=”desaprobado” Case < 13 estado=”sustitutorio” Case Else estado = “aprobado”

End Select

Es importante que tenga en cuenta que sólo se activa la primera clausula Case cuya condición se haga verdadera.

Es importante que tenga en cuenta que sólo se activa la primera clausula Case cuya condición

67

Aprenda a programar en Visual Basic

Casos especiales:

Podemos usar la palabra Is , por ejemplo para averiguar si el valor de la variable es una letra:

Case Is < “A” Print “El carácter no es una letra”

La palabra To permite especificar un cojunto de valores, por ejemplo para validar una edad:

Case 18 To 60 Print “Bienvenido al club”

Por último la estructura de control Select Case permite combinar en una linea varias comprobaciones, por ejemplo

Case “Iquitos”, “Pucallpa” Print “Se encuentra en la selva”

en una linea varias comprobaciones, por ejemplo Case “Iquitos”, “Pucallpa” Print “Se encuentra en la selva”

68

Aprenda a programar en Visual Basic

Instrucción iterativa FOR

En muchas ocasiones hay necesidad de realizar una misma operación, múltiples veces sobre un determinado rango de valores.

múltiples veces sobre un determinado rango de valores. Esta estructura recibe el nombre de instrucción FOR:

Esta estructura recibe el nombre de instrucción FOR:

FOR var = Inicio TO Final [STEP Incremento] [Instrucciones] [EXIT FOR] [Instrucciones] NEXT[Variable]

La <var>iable determina la iteración que inicia en valor <inicial> y finaliza en valor <final>. Cuando se ejecuta una instrucción FOR, se realizan las siguientes acciones: la variable de control toma el valor inicial si este valor es diferente al valor final entonces, se ejecuta las instrucciones. Después de que la instrucción ha sido ejecutada, se asigna a la variable de control un valor siguiente de acuerdo al incremento. Si este llega a tomar el valor final, la ejecución de la instrucción FOR se detendrá. En caso contrario, las instrucciones se ejecutan de nuevo.

final, la ejecución de la instrucción FOR se detendrá. En caso contrario, las instrucciones se ejecutan

69

Aprenda a programar en Visual Basic

Ejemplo:

La impresión de raíces cuadradas de los números pares entre el 20 al 100 usando la instrucción FOR, sería:

For i = 20 To 100 Step 2

j = Sqrt(i) ;

Print “La raíz cuadrada de “& i &” es “ & j

Next

Veamos algunas restricciones de esta orden:

For k = 1 To 10 If k > 3

Next

k

= 1

End If

? k

La secuencia anterior generaría un error al intentar reasignar el valor de la variable de control, recuerde la variable de control es solo de lectura. ¡El valor de la variable de control dentro de un bucle FOR no se puede cambiar! Las estructuras REPEAT/UNTIL y DO/WHILE sí permiten redefinir la condicion de iteración. En cambio los bucles FOR se ejecutan un número de veces predeterminado, y mientras dura la ejecución, el valor de la variable de control queda bajo el control exclusivo del propio bucle FOR.

Procure no hacer cálculos dentro del bucle, de valores que no van a cambiar.

Hay una instrucción vetada, es decir que no se debe usar, o al menos evitarla en lo posible, se trata de GOTO, la cual sirve para variar el rumbo de la ejecución de un programa hacia alguna otra parte, rompiendo con los canones de la programación estructurada.

Veamos:

For k = 1 To 10 If k > 3 GoTo Salir End If

?

k

Next

Salir:

de la programación estructurada. Veamos: For k = 1 To 10 If k > 3 GoTo

70

Aprenda a programar en Visual Basic

Esta otra estructura arrojaría un error, cuando k tome el valor 4, no debe abandonar un lazo mediante GOTO, resultaría mejor si usará:

For k = 1 To 10 If k > 3 Exit For

Next

EndIf

? k

un lazo mediante GOTO, resultaría mejor si usará: For k = 1 To 10 If k

71

Aprenda a programar en Visual Basic

Instrucción iterativa WHILE

Las tareas que deban repetirse cierta cantidad podemos contrarla facilmente mediante la orden WHILE.

podemos contrarla facilmente mediante la orden WHILE. Visual Basic ofrece tres posibilidades para realizar este

Visual Basic ofrece tres posibilidades para realizar este tipo de estructura.

facilmente mediante la orden WHILE. Visual Basic ofrece tres posibilidades para realizar este tipo de estructura.

72

Aprenda a programar en Visual Basic

El caso While… Wend:

WHILE Condicion [Instrucciones]

WEND

La forma en que trabaja este bucle es la siguiente:

Inicialmente se evalúa la condición. Si el valor de esta expresión es True, entonces se ejecuta <instrucción>. Por el contrario, si el resultado de la evaluación es False, <sentencia> no llega a ejecutarse, y el control pasa a la siguiente instrucción del programa.

Suponiendo que la <condición> sea True la primera vez, después de ejecutar <instrucciones> el código vuelve al principio y evalúa <condición> de nuevo. Si su resultado continúa siendo verdadero, <instrucciones>se vuelve a ejecutar. En el momento en el que el resultado de la evaluación pase a ser False, el bucle WHILE pasará el control a la siguiente instrucción del programa.

En resumen, mientras <condición> es True, <instrucciones> se ejecutará una y otra vez, solamente cuando la expresión se vuelve falsa termina de ejecutarse el bucle.

El caso de la lista de raíces cuadradas de los números comprendidos entre el 20 y el 100 sería:

k = 20

While K <= 100

Wend

j = Sqrt(k) ;

Print “La raíz cuadrada de “& k &” es “ & j

k =

k +

2

K <= 100 Wend j = Sqrt(k) ; Print “La raíz cuadrada de “& k &”

73

Aprenda a programar en Visual Basic

El caso Do While … Loop:

DO [{WHILE/UNTIL} Condicion] [Instrucciones] [EXIT DO] [Instrucciones]

LOOP

La salvedad es que en esta estructura se puede usar Exit Do, para forzar a terminar el lazo y continuar con la ejecución del resto del programa. Por ejemplo:

Num = 0 Do While Num < 5 Num = Num + 1 If Num = 3 Exit Do

Loop

Print Num

'Resultado=5

El caso Do … Loop While:

DO

[Instrucciones] [EXIT DO] [Instrucciones] DO [{WHILE/UNTIL} Condicion]

La diferencia entre poner las claúsulas While/Until con el Do o con el Loop es que en el primer caso puede que no se ejecuten nunca las instrucciones del bucle y en el segundo caso se ejecutan al menos una vez. Una lista de las raíces de los 4 primeros números:

Num = 1 Do

Print Sqrt(Num) Num = Num + 1 Loop While Num < 5

J Estamos preparando la siguiente edición, donde incluiremos el tratamiento de Base de Datos, recuerde que su participación para nosotros es muy importante.

donde incluiremos el tratamiento de Base de Datos, recuerde que su participación para nosotros es muy

74

Aprenda a programar en Visual Basic

Próxima Entrega

Edición 1.1

Dentro de una semana

Prohibida la reproducción total o parcial Sin nuestro consentimiento Derechos de copia reservados www.LibrosDigitales.NET

la reproducción total o parcial Sin nuestro consentimiento Derechos de copia reservados www.LibrosDigitales.NET 75

75