programación visual i (visual basic)

Upload: jonathan-steve

Post on 11-Jul-2015

1.200 views

Category:

Documents


8 download

TRANSCRIPT

Especialidad:

COMPUTACIN E INFORMTICACICLO I

ASIGNATURA:

Programacin Visual ILima - Per

2SILABO ACADMICO I. Identificadores del programa Carrera: Computacin e Informtica PROGRAMACIN VISUAL I (VISUAL BASIC I) Ciclo: II Cdigo: Tipo: Curso Sesin: 5 hrs. Sesiones x Horas: 100 pedaggicas Semana: 2 Totales : 100 Teora : 20 Prctica : 80 II. Ubicacin del programa Antecedentes Algoritmos Requisitos: Algoritmos III. Contenidos Contenido I. Fundamentos de programacin Orientada a objetos 1. Algoritmo vs programas 2. Algoritmos y Pseudo cdigo 3. Conceptos fundamentales 3.1. identificadores 3.2 Tipos de datos 3.3 Variables 3.4 Constantes 4. Ingreso a Visual Basic. 5. Ejercicios II. Instrucciones bsicas de programacin. 1. Instrucciones de Asignacin 2. Instrucciones de entrada 3. Instrucciones de salida 4. Operadores aritmticos 5. Operadores relacionales 6. Operadores lgicos 7. Operadores de concatenacin 8. Ejercicios III. Introduccin a la programacin visual Basic 1. Conceptos bsicos: Objetivos y Propiedades. Nombres de Objetos. Eventos, Mtodos. 2. Proyectos y Archivos. 3. El Entorno de Programacin Visual Basic. 4. Formularios y Controles Bsicos (Label, Textbox, Commanbutton) 5. Propiedades, Eventos y Mtodos Principales de los Controles Bsicos 6. Funciones de Entrada y Salida (Inputbox, Msgbox) Actividad Usar el pseudo cdigo para representar la solucin de un problema. Reconocer los conceptos fundamentales de programacin. Aprender a usar las variables y constantes. Conocer la forma de ingresar a Visual Basic. Emplear las instrucciones bsicas de programacin. Aprender a manejar las instrucciones de entrada y salida Entender y manejar los operadores aritmticos, relacionales, lgicos y de concatenacin. Reconocer y entender el entorno de programacin de Visual Basic. Reconocer y usar los controles Bsicos de Visual Basic para la Creacin de interfaces graficas de usuario. Aplicar los conceptos bsicos de programacin para la construccin de programas. Semana

Consecuentes Programacin Visual II (Visual Basic II), Taller de Programacin I

1

2

3

Carrera: Computacin e Informtica

Curso: Visual Basic

37. Aplicaciones paso paso

IV. 1. 2. 3. 4. 5. 6. 7. 8. V.

Caractersticas del Lenguaje Visual Basic Tipos de Datos Nombre de Variables mbito de las Variables Operadores Formularios y Mltiples Formularios Mtodos : Show y Hide Comentarios Aplicaciones paso a paso Primera prctica calificada

Aplicar los conocimientos sobre el manejo de la informacin y de los tipos de datos. Aprender a usar las variables y las constantes

4

VI. 1. 2. 3. 4. 5. 6. VII. 1. 2. 3. 4. VIII.

Estructuras de Control Condicional Uso del If.Then Uso del Select Case Uso de los controles OptionButton, CheckBox y Frame Los operadores logicos AND, OR,NOT Ejemplos Ejercicios Funciones Incorporadas Funciones de Fecha-Ejemplos Funciones de Cadena-Ejemplos Funciones de Conversacin de tipo-Ejemplos Otras funciones Estructuras de Bucles o Repetitivas con Condicin / Contador While Wend Do Loop Formas While y Until For .. Next For Each Next

Medir el nivel alcanzado por el alumno en las primeras cuatro semanas de clase Aprender y evaluar los procesos Condicionales Asociar sentencias condicionales Anidadas Analizar y evaluar los procesos Selectivos Realizar aplicaciones que permitan hacer uso de procesos de alternativas Reconocer y usar las funciones del Visual Basic Aplicar las funciones de Visual Basic en el proyecto

5

6

7

1. 2. 3. 4. 5. IX.

Aprender y ejecutar los procesos, repetir mientras una condicin sea Verdadera/falsa. Comprender cuales son las ventajas de una estructura con respecto a la otra. Aplicar y ejecutar los procesos repetitivos - for Aplicar los controles de lista y/o combo en los procesos repetitivos Emplear el poder multiplicado de anidar procesos repetitivos

8

Manejo de lista 1. Uso de loa controles listBox y ComboBox 2. Mtodos AddtIem, Removeltem y Clear 3. La propiedad Multiselect 4. Mostrando mltiples columnas de ingresos 5. Aplicaciones de Bucles

9

Carrera: Computacin e Informtica

Curso: Visual Basic

4X. EXAMEN PARCIAL Medir el nivel de conocimiento alcanzado por los alumnos al finalizar la primera unidad formativa Reconocer y usar controles Avanzados de Visual Basic como los controles de archivos, temporizador y otros controles 10

XI. Empleo de Controles Avanzados y Personalizados 1. Controles de manejo de archivos (DriveListBox, DirListBox, FileListBox) 2. Control temporizador (Timer) 3. Controles Sstab, ProgessBar, Shape 4. Control CommonDialog XII. Formularios Mltiples 1. Apertura de controles de forma modal 2. La interfaz de Documentos Mltiples (MOI) 3. Propiedades de los formularios MDI 4. Referencias a los formularios ActiveFrom y Me} 5. Colocacin de Formularios Hijo XIII. Diseo de Mens 1. Editor de Mens 2. Aadir cdigos a los mens 3. Mens Contextuales (Men Popup) 4. Controles : ToolBar, ImageList XIV. Funciones y Procedimientos (Mdulos) 1. definicin y creacin 2. Uso de parmetros 3. Uso de mdulos 4. Uso de los Procedimientos y Funciones : Privados Calificada XV. SEGUNDA PRACTICA CALIFICADA

11

Aplicar t manejar los diferentes tipos de ventanas Manejar y usar varios formularios 12

Reconocer y Usar los mens en una aplicacin 13

Crear y usar las funciones de usuario en una aplicacin 14

XVI. 1. 2. XVII. 1. 2. 3. 4. 5.

XVIII. 1.

Arrays de Variables Definicin. Declaracin de Arrays Arrays : Estticos y Dinmicos Arrays de Controles Definicin de un arreglo de controles Uso del For Each Next Uso del Exit For Manejo de propiedades y eventos en un arreglo de controles Uso de los comandos Load y Unload para la creacin de arreglos de controles dinmicos Controles Activex Creacin de Interfaces mas complejas con controles Activex o Componentes

Medir el nivel alcanzado por los alumnos durante las sesiones 11 a 14 Usar arreglos de datos

15

16 Usar arreglos de controles con datos

17

Crear y usar Controles Activex en aplicaciones

18

Carrera: Computacin e Informtica

Curso: Visual Basic

52. Cambiando apariencia de Control Activex 3. Aplicacin XIX. EXAMEN FINAL

XX. EXAMEN SUSTITUTORIO

Medir el nivel de conocimiento alcanzado por el alumno durante toda la segunda unidad formativa Medir el nivel de conocimiento alcanzado por el alumno durante todo el curso.

19

20

IV. Criterios de evaluacin y acreditacin Institucionales de acreditacin: Matriculado Mensualidad al da Asistencia mnima de 70% de las clases programadas. Entrega oportuna de trabajos. Certificacin con calificacin mnima de 13.00 (Trece) y Constancia con calificacin de 11.00 (Once) Evaluacin del mdulo: Practicas Calificadas (PC) Exmenes: parcial (EP), final (EF) Trabajos encargados (TE)

P.U. = (PC+Part)*0.5 + EP 2 S.U. = (PC+Part)*0.5+Trab+EF 3

Carrera: Computacin e Informtica

Curso: Visual Basic

6

IT - Expert

Secretariado Ejecutivo de Sistemas

Contabilidad Computarizada

Computacin e Informtica

Diseo Grfico

COMPUTACIN E INFORMTICA

Ensamblaje mantenimiento y Reparacin de PC.

Fast Office

Asistente de Gerencia

PROGRAMACION VISUAL ICarrera: Computacin e Informtica Secretariado Ejecutivo Computarizado Curso: Visual Basic

7

CAPITULO I Introduccin a la Programacin Visual BasicEl lenguaje de programacin BASIC (Beginner's All purpose Symbolic Instruction Code) naci en el ao 1964 como una herramienta destinado a principiantes, buscando una forma sencilla de realizar programas. Teniendo en cuenta el ao de su nacimiento, este lenguaje cubra casi todas las necesidades para la ejecucin de programas. Los autores fueron los cientficos John G. Kemeny (Budapest, 1926 USA 1992) y Thomas E. Kurtz (Illinois 1928) Su trabajo original se llam True BASIC. Actualmente se est comercializando la versin 6.0 de este producto. Desde su salida al mercado, cada versin supera y mejora la anterior. Dados los buenos resultados a nivel profesional de este producto, y el apoyo prestado por el fabricante para la formacin de programadores, Visual-Basic se ha convertido en la primera herramienta de desarrollo de aplicaciones en entorno Windows.

Caractersticas Generales de Visual-BasicVisual-Basic es una herramienta de diseo de aplicaciones para Windows, en la que estas se desarrollan en una gran parte a partir del diseo de una interface grfica. En una aplicacin Visual Basic, el programa est formado por una parte de cdigo puro, y otras partes asociadas a los objetos que forman la interface grfica. La creacin de un programa bajo Visual Basic lleva los siguientes pasos: Anlisis . Es el studio de las necesidades que han dado origen a la creacin de ese programa. Es lo que se se llama Anlisis de la aplicacin. Es la primera fase que debe tener siempre un programa y es tambien la ms olvidada entre los programadores noveles. Una aplicacin no se inicia con el teclado, sino sobre un papel. Creacin de un interface de usuario. Este interface ser la principal va de comunicacin hombre mquina, tanto para salida de datos como para entrada. Ser necesario partir de una o varias ventanas - Formularios - a las que le iremos aadiendo los controles necesarios. Definicin de las propiedades de los controles Se dar la forma, posicin, y todas las caractersticas necesarias a los controles que hayamos colocado en ese formulario. Estas propiedades determinarn la forma esttica de los controles, es decir, como son los controles y para qu sirven. Generacin del cdigo asociado a los eventos que ocurran a estos controles. A la respuesta a estos eventos (click, doble click, una tecla pulsada, etc.) le llamamos Procedimiento, y deber generarse de acuerdo a las necesidades del programa. - Generacin del cdigo del programa. Un programa puede hacerse solamente con la programacin de los distintos procedimientos que acompaan a cada objeto. Sin embargo, VB ofrece la posibilidad de establecer un cdigo de programa separado de estos eventos. Este cdigo puede introducirse en unos bloques llamados Mdulos, en otros bloques llamados Funciones, y otros llamados Procedimientos. Estos Procedimientos no responden a un evento acaecido a un control o formulario, sino que responden a un evento producido durante la ejecucin del programa.

VARIABLES. DEFINICION Y ENTORNOBasic, desde siempre, al contrario de otros sistemas de programacin, no exigi la definicin previa de

Carrera: Computacin e Informtica

Curso: Visual Basic

8una variable. Una variable, como Vd. seguro que conoce, es un nombre que en el programa le asignamos a un dato. Ese dato podr cambiar. Piense por ejemplo, en un programa consistente en la toma de datos de los alumnos de un centro escolar. Existirn varias variables para poder introducir los datos de los alumnos. Estas variables pueden tener nombre tales como: Nombre Apellido1 Telfono Salario La variable Nombre tomar valores distintos segn vayamos introduciendo los datos de los distintos alumnos. Es posible, que a lo largo de la ejecucin del programa, esta variable Nombre valga: Jos Pedro Mara Luis Decamos que Basic no exige la definicin previa de las variables. Otras herramientas exigen que se haga as. Por lo tanto es normal encontrar, en otros sistemas de programacin, que un programa comienza de la siguiente forma: Declare Declare Declare Declare Declare Declare Nombre As String Apellido1 As String Apellido2 As String Direccin As String Telfono As String Salario As Nmero Le dice que Nombre es una sucesin de letras

Le dice que Telfono es una sucesin de letras Le dice que Salario es un nmero

Por ejemplo, si Basic encuentra estas instrucciones Salario=50000000 Nombre ="Pedro" Telfono = "1234567" entiende que Salario, Nombre y Telfono son variables, que Salario es un nmero (No hemos metido su valor entre comillas), y que Nombre y Telfono son sucesiones de caracteres alfanumricos (su valor est entre comillas) El peligro de no declarar las variables no termina en esa posibilidad de error. Cuando no declaramos el tipo de variables, Visual Basic supone que la variable es de un tipo que soporta cualquier tipo de datos : una variable tipo Variant. En ese tipo podr meter cualquier tipo de variable, pero a costa de ocupar mucho mas espacio en la memoria que si la hubiese declarado con el tipo correcto para el dato que va a meter en ella. Basic ha pensado en ese problema, y se puede solucionar con esta que ser la primera instruccin BASIC que vamos a estudiar: OPTION EXPLICIT Obliga a declarar previamente las variables que se vayan a usar. De no haberla declarado antes de usarla, el programa dar una comunicacin de error.

Carrera: Computacin e Informtica

Curso: Visual Basic

9Esta declaracin debe ponerla al comienzo de la seccin de declaraciones de cada formulario y mdulo que contenga su aplicacin. Pero no se preocupe de ello puesto que VB lo ha hecho por Vd. Basta que lo programe en las opciones del VB. Haga click en Herramientas | Opciones de la barra de men del VB y le aparecer este cuadro, donde debe marcar las casilla Requerir declaracin de variables. A partir de ahora, ser VB quien ponga la sentencia Option Explicit en el lugar correcto.

(Fig. 1.1)

TIPOS DE VARIABLESLas variables pueden ser de los siguientes tipos: (El nmero indicado en segundo lugar indica el nmero de Bytes que ocupa en memoria.) Tipo de datos Integer (Entero) Long (Entero Largo) Single (Simple) Double(Doble) Currency (Moneda) String (Cadena de caracteres) Byte Boolean (Boleano) Date(Fecha) Object(Objecto) Variant Tamao 2 bytes 4 bytes 4 bytes 8 bytes 8 bytes 1 byte por carcter 1 byte 2 bytes 8 bytes 4 bytes 16 bytes + 1 byte por cada carcter Caracter % & ! # @ $

Puede declarar el tipo de la variable mediante un carcter despus del nombre de la variable. Esta tcnica, obligatoria en Quick-Basic, est en desuso en VB. No es recomendable definir el tipo de esta forma, pues existe un serio peligro de error. De cualquier forma, eso es potestativo del programador y de sus costumbres. Los caracteres que definen cada tipo de variable son:

Carrera: Computacin e Informtica

Curso: Visual Basic

10% # Integer Double @ & Long $ ! String Single

Currency

Ejemplos Prcticos de declaracin de variables En Visual Basic, cuando declaramos una variable como String (Cadena de caracteres), no es necesario declarar su longitud. VB aceptar cualquier nmero de caracteres. Si desea evitar que se puedan introducir ms de un determinado nmero de caracteres, debe declarar su nmero. Por ejemplo : Dim Var1 as String Dim Var2 as String * 15 Var1 puede tener cualquier nmero de caracteres Var2 puede tener un mximo de 15 caracteres.

En este segundo caso, si se introduce como Var2 una cadena de caracteres con mas de 15 caracteres, Var2 tomar solamente los 15 primeros. Visual basic no presenta ningn aviso de que esa variable ha omitido los caracteres que han sobrepasado la cifra de 15. Si desea que el usuario conozca esa circunstancia, debe introducir el cdigo oportuno para producir el aviso. Tipos de declaracin de variables. Sentencia DIM Es la forma mas comn de declarar una variable como Privada. Puede emplearse en un Procedimiento, Funcin, Formulario o Mdulo. La sintaxis es de la siguiente forma: nombrevariableAs Integer (o el tipo que sea)

Dim

Declarando una variable con la sentencia DIM, en un formulario, Funcin, procedimiento o mdulo, el mbito de la variable ser el explicado anteriormente para una variable declarada como Privada. Es decir, esa variable no sale del formulario, procedimiento mdulo donde se declar. Cada vez que entremos al formulario, procedimiento o mdulo, esa variable tomar el valor cero (si es numrica) o nulo (si es string).

Sentencia PRIVATE

Es la forma de declarar una variable como Privada. Puede emplearse solamente en la seccin de declaraciones de un Formulario o Mdulo. La sintaxis es de la siguiente forma: nombrevariableAs Tipovariable

Private

Declarando una variable mediante la sentencia PRIVATE en un Formulario o Mdulo, esa variable puede usarse en todo ese Formulario o Mdulo (En todos sus Procedimientos y Funciones), pero NO fuera del Formulario o Mdulo donde se declar. La sentencia Private no puede usarse en un procedimiento o funcin.

Sentencia PUBLIC

Es la forma de declarar una variable como Pblica. Puede emplearse solamente en la seccin de declaraciones de un Formulario o Mdulo. La sintaxis es de la siguiente forma: nombrevariable As Tipovariable

Public

Declarando una variable de esta forma en la seccin de declaraciones de un Mdulo, esa variable puede usarse en cualquier parte del programa citndola simplemente por su nombre.

Carrera: Computacin e Informtica

Curso: Visual Basic

11Si se declara de esta forma en la seccin de declaraciones de un Formulario, esa variable puede usarse en toda el programa. Para nombrarla, si estamos en el Formulario donde se declar basta con citarla por su nombre. Si no estamos en ese Formulario, habr que citarla por el nombre del Formulario, seguido del nombre de la variable, separados por un punto : NombreFormulario.Nombrevariable En un Mdulo puede usarse tambin la sentencia Global en vez de Public :

Sentencia GLOBALLa sintaxis es: Global

Declara una variable que es vlida en todo el programa.

nombrevariableAs

tipovariable

La sentencia Global slo puede usarse en el apartado de declaraciones de un Mdulo. Esta sentencia se mantiene por compatibilidad con versiones anteriores de VB. No la use.

Sentencia STATICComo se dijo anteriormente, una variable declarada en un procedimiento pierde su valor al salir de l. Lo peor es que una vez que el programa vuelva a entrar en ese procedimiento, la variable estar puesta a cero. Afortunadamente, esto ltimo tiene solucin. Si declarsemos una variable en un procedimiento o funcin, como esttica, esa variable, aunque no la podremos utilizar fuera de ese procedimiento o funcin, cuando volvamos a l conservar el valor que tena cuando lo abandonamos. Esta declaracin como esttica se realiza mediante la instruccin Static Static nombrevariable As tipovariable

En un Formulario (En su seccin de declaraciones) Como Privada (Solamente se puede usar en ese Formulario) Dim Variable As Tipovariable Private Variable As Tipovariable Como Pblica (Puede usarse en toda la aplicacin) Public Variable As Tipovariable En un Mdulo Como Privada (Solamente puede usarse en ese Mdulo) Dim Variable As Tipovariable Private Variable As Tipovariable Como Pblica (Puede usarse en toda la aplicacin) Public Variable As Tipovariable Global Variable As Tipovariable

Carrera: Computacin e Informtica

Curso: Visual Basic

12 Error tpico de un programador novel de Visual BasicCreo que esta costumbre viene del lenguaje C. Pero no vale en VB. Se trata de declarar varias variables juntas en una misma lnea : Dim Variable1, Variable2, Variable3, Variable4 As String Esta declaracin est MAL hecha. Visual Basic interpretar que Variable1, Variable2 y Variable3 son del tipo Variant, y solamente Variable4 la supone como tipo String La forma correcta de hacerlo, si queremos declarar esas variables un una sola lnea, es la siguiente : Dim Variable1 As String, Variable2 As String, Variable3 As String, Variable4 As String.

Operadores en Visual Basic Operadores MatemticosVisual Basic puede operar con nmeros tal como lo hara cualquier persona. Conoce las 4 reglas, y puede utilizar parntesis de la misma forma que los escribimos sobre el papel. Los operadores que utiliza para las operaciones bsicas son: + * / \ Mod ^ Suma Resta Multiplicacin Divisin Divisin sin decimales Resto de una divisin Eleva a un exponente

Ejemplos Resultado Resultado Resultado Resultado Resultado Resultado Resultado = = = = = = = 12 15 15 15 15 15 12 + 15 - 12 * 12 / 12 \ 12 Mod 12----> ^2 ----> Resultado ----> Resultado ----> Resultado ----> Resultado ----> Resultado resultado = 3 ----> Resultado ----> = = = = = 27 3 180 1.25 1

= 144

resultado = ( ( 4 * 3 ) / 2 ) ^ 2

Resultado = 36

Estos operadores se denominan Operadores aritmticos. Existen otras operaciones que se pueden realizar con nmeros: comparaciones. Los operadores que realizan comparaciones se denominan Operadores relacionales. El resultado de las operaciones realizadas con estos operadores solamente admiten dos resultados: True (Cierto) o False (Falso) Estos operadores son: = < >= Igual que No igual que Menor que Menor o igual que Mayor que Igual o mayor que

Estos operadores se suelen utilizar en estructuras de programa donde se tome una decisin.

Carrera: Computacin e Informtica

Curso: Visual Basic

13El operador = puede usarse tambin para comparar cadenas o fechas.

Operadores LgicosOperador And Or Not Devuelve True si A=True y B=True A=True o B=True A=False Devuelve False si Cualquier otro caso A=False y B=False A=True

CAPITULO II

Caractersticas del Lenguaje Visual BasicVisual-Basic es una herramienta de diseo de aplicaciones para Windows, en la que estas se desarrollan en una gran parte a partir del diseo de una interface grfica. En una aplicacin Visual Basic, el programa est formado por una parte de cdigo puro, y otras partes asociadas a los objetos que forman la interface grfica. Es por tanto un termino medio entre la programacin tradicional, formada por una sucesin lineal de cdigo estructurado, y la programacin orientada a objetos. Combina ambas tendencias. Ya que no podemos decir que VB pertenezca por completo a uno de esos dos tipos de programacin, debemos inventar una palabra que la defina : PROGRAMACION VISUAL.

Entorno de Trabajo de Visual BasicVisual Basic es un entorno de desarrollo diseado para la creacin de aplicaciones para los entornos de trabajo Microsoft Windows 95, 98, NT y 2000. Este lenguaje auna las posibilidades de un lenguaje de alto nivel con las herramientas de diseo grfico, lo cual nos d acceso a todas las funciones de los sistemas anteriormente citados. Para entrar a desarrollar en visual basic nos vamos al menu Inicio- Programas Microsoft Visual Studio 6 Microsoft Visual Basic 6 OJO: El ejecutable que abre el Visual Basic 6 se llama VB6.EXE

La primera pantalla que nos saldra sera

Carrera: Computacin e Informtica

Curso: Visual Basic

14la sgte:

Aqu escogemos el tipo de proyecto que queremos realizar que en este caso sera EXE STANDARD ya que es el ideal para crear aplicaciones OJO: Los otros tipos de proyecto permite crear cosas distintas como por ejemplo ActiveX Control Crea un control para poder usarlo en tus aplicaciones e incluso en una pgina WEB. DLL ActiveX Crea Librerias dinamicas que se podra utilizar desde cualquier lenguaje que tenga compatibilidad. Una vez que hemos escogido el proyecto a desarrollar el sistema nos respondera de la siguiente manera:

Barra de Menu

Barra de Herramientas standard

Explorador de Proyecto

Diseador de Formulario

Ventana de Propiedades Cuadro de HerramientasLos elementos del entrono de desarrollo de Visual Basic son:

Carrera: Computacin e Informtica

Curso: Visual Basic

15 Barra de herramientas: Permite un acceso rpido a los comando ms utilizados Si en caso no se muestra la barra Nos vamos al Menu Ver-Barra de Herramientas-Estndar Diseador de formulariosEs la ventana en la que se disear la interfaz de la aplicacin, en ella se pueden agregar controles grficos e imgenes. Cada formulario de una aplicacin aparecer en su propia ventana. Para mostrarla debemos hacer doble clic al formulario el cual queremos disear

Cuadro de herramientas

En el cuadro de herramientas podemos encontrar un conjunto de herramientas que permiten insertar los objetos o controles en el formulario durante en tiempo de diseo, los objetos ms comunes son botones(command), etiqueta (label), cuadros de imagen(Picture), imgenes(Image), etc... Si hacemos doble click con el ratn sobre alguno de ellos se insertar automticamente en la ventana del formulario. Un control PictureBox puede mostrar un grfico a partir de un mapa de bits, un icono o un metarchivo, as como un metarchivo mejorado, un archivo JPEG o un archivo GIF. Recorta el grfico si el control no es lo bastante grande para mostrar la imagen completa. Un control Label es un control grfico que puede utilizar para mostrar texto que el usuario no podr cambiar directamente. Un control TextBox, tambin denominado control de campo de edicin o control de edicin, muestra informacin introducida en tiempo de diseo, o introducida por el usuario en tiempo de ejecucin. Un control Frame permite agrupar un conjunto de controles. Tambin puede utilizar un control Frame para subdividir un formulario funcionalmente; por ejemplo, para separar grupos de controles OptionButton. Utilice un control CommandButton para comenzar, interrumpir o terminar un proceso. Cuando est activado, un CommandButton aparece presionado y se le denomina botn de comando. Un control CheckBox muestra un check cuando est activado; el check desaparece cuando el control CheckBox se desactiva. Utilice este control para ofrecer al usuario una opcin de tipo Verdadero o Falso o S o No. Puede utilizar controles CheckBox en grupos para mostrar mltiples opciones entre las cuales el usuario puede seleccionar todas, algunas de ellas o ninguna. Un control OptionButton muestra una opcin que se puede activar o desactivar y tambin permite colocar un conjunto de alternativas de las cuales se puede seleccionar una sola a la vez. Un control ComboBox combina las caractersticas de un control TextBox y un control ListBox; los usuarios pueden introducir informacin en la parte del cuadro de texto o seleccionar un elemento en la parte de cuadro de lista del control. Un control ListBox muestra una lista de elementos entre los cuales el usuario puede seleccionar uno o ms. Si el nmero de elementos supera el nmero que puede mostrarse, se agregar automticamente una barra de desplazamiento al control ListBox. Las barras de desplazamiento (HscrollBar y VscrollBar) permiten explorar fcilmente una larga lista de elementos o una gran cantidad de informacin. Adems, proporcionan una representacin anloga de la posicin actual. Puede utilizar una barra de desplazamiento como dispositivo de entrada o como indicador de velocidad o cantidad; por ejemplo, para controlar el volumen de un juego de PC o para ver el tiempo transcurrido en un proceso temporizado. Un control Timer puede ejecutar cdigo a intervalos peridicos de tiempo produciendo un evento Timer, la ejecucin de las tareas se har en segundo plano sin alterar para nada la ejecucin de la aplicacin que esta en primer plano, nos permite simular multitarea. Un control DriveListBox permite al usuario seleccionar una unidad de disco vlida en tiempo de ejecucin. Utilice este control para mostrar una lista de todas las unidades vlidas del sistema de un usuario. Puede crear cuadros de dilogo que permitan al usuario abrir un archivo de una lista de un disco en cualquier unidad

Carrera: Computacin e Informtica

Curso: Visual Basic

16disponible. Un control DirListBox muestra directorios y rutas de acceso en tiempo de ejecucin. Utilice este control para mostrar una lista jerrquica de directorios. Puede crear cuadros de dilogo que, por ejemplo, permitan a un usuario abrir un archivo desde una lista de archivos de todos los directorios disponibles. El control FileListBox encuentra y muestra los archivos del directorio especificado por la propiedad Path en tiempo de ejecucin. Utilice este control para mostrar una lista de los archivos seleccionados por tipo. Puede crear cuadros de dilogo en la aplicacin que, por ejemplo, permitan al usuario seleccionar un archivo o un grupo de archivos. Shape es un control grfico que se muestra una figura geomtrica como un rectngulo, un cuadrado, una elipse, un crculo, un rectngulo redondeado o un cuadrado redondeado. Line es un control grfico que se muestra lneas de diferente tipo, como por ejemplo una lnea horizontal, vertical o diagonal. Utilice el control Image para mostrar una imagen. Un control Image puede mostrar una imagen desde un mapa de bits, un icono o un metarchivo, as como un metarchivo mejorado, un archivo JPEG o archivos GIF. Data es un control para enlace de datos con una tabla de una Base de Datos. El control Data del formulario primario y sus objetos relacionados, permiten relacionar o enlazarse con la Base de datos mediante los objetos Database y Recordset.

Ventana de propiedades

Los objetos tiene asociados unas propiedades que describen sus atributos, valores, comportamiento y apariencia del objeto. Para sacar las propiedades se hace clic derecho y propiedades o se pulsa F4.

Explorador de proyectos Contiene la lista de los archivos que forman parte de la aplicacin Ventana editor de cdigoEn esta ventana es donde se incluye el cdigo de la apliacin. Se crear una ventana de cdigo para cada formulario o mdulo de la aplicacin. Para tener acceso a la ventana de edici, la forma ms sencilla es hacer doble click sobre el formulario o sobre el objeto al cual quiera incluir cdigo.

Objetos en Visual BasicUn objeto en Visual Basic se caracteriza por tres componentes: propiedades, mtodos y eventos. NOTA: Los objetos vienen a ser los controles como TextBox, Label, Etc. Las propiedades son aquellas caractersticas o atributos que permiten establecer la apariencia de un objeto como el color, tamao, posicin, etc... O el estado del mismo: activo, maximizado, ect... Existen propiedades que slo estn disponibles en tiempo de diseo y otras que slo estn disponibles en tiempo de ejecucin. Ejemplo de Propiedades: alignment, autosize, caption, name, etc. Los mtodos son pequeos programas que actan sobre un determinado objeto y que establecen su comportamiento. As un objeto puede moverse, ocultarse, etc... Puedes utilizar cualquier mtodo que forme parte del objeto. Ejemplo de Metodos: show, hide, etc. Los eventos son las situaciones que se producen y que nos interesan identificar para establecer algn tipo de de respuesta por parte del objeto. As, puedes hacer click sobre un determinado objeto, creando de esta forma un evento reconocible por el objeto. Que suceda algo o no como respuesta a este evento depender de que hayas programado alguna accin en el correspondiente procedimiento de evento. Ejemplo de Eventos: click, dobleclicke ,mousemove, keypress, etc.

Carrera: Computacin e Informtica

Curso: Visual Basic

17 Controles Propiedades Label, TextBox, CommandButton, Frame y sus

* Label o Etiquetas .-

Las etiquetas son controles que nos permiten mostrar texto en los formularios y que tienen la particularidad de que el usuario no puede modificar solo muestra informacin acerca de algo. El control de etiqueta es: Algunas propiedades del control etiqueta son: Propiedad Alignment Autosize Caption BackStyle Definicin Establece la alineacin del texto de la etiqueta(derecha, izquierda y centro) Si su valor es True, el tamao de la etiqueta se adapta automticamente a su contenido Texto que se visualiza en la etiqueta Establece si el fondo del label sera opaco o transparente. Los cuadro de texto son el control estndar de entrada de usuario de la aplicacin introducir informacin.

* TextBox o Caja de Textos.datos en Visual Basic. Permiten al El control del cuadro de texto es:

Los cuadros de texto son semejantes a las etiquetas, pero con la diferencia que el usuario puede modificar su contenido. El texto que se introduce puede ser tanto numrico como alfanumrico (nmeros y letras). Cuando se recupera un valor de una caja de texto asi se haya ingresado un numero tomar el valor de una cadena. A diferencia de la etiqueta, el tamao del texto es fijo al no permitir la propiedad autosize. Algunas propiedades del objeto cuadro de texto son: Propiedad Alignment Multiline PasswordChar ScrollBars Text Definicin Alineacin de la informacin introducida. Permite introducir ms de una lnea de texto en el cuadro Estable el caracter que se muestra al realizar una entrada en el control. Slo se mostrar dicho carcter(Por defecto esta vacio) Muestra barras de desplazamiento(Esto solo funciona si la propiedad multiline esta en True) Texto que se visualiza en el control

* Frame o Marcos.- Se utiliza para agrupar ciertos controles.La nica propiedad interesante de un control marco es la propiedad Caption, que se refiere al texto que se presenta en la parte superior izquierda del control. El control marco acta como contenedor de otros controles. Al mover un marco tambin se mueve los controles que contenga, para ello deberemos crear primero el marco y despues los controles que queremos que contenga dentro del marco.

* Command o Botones.-

El botn de comando (CommandButton), es muy sencillo, por lo que no tienes que establecer muchas propiedades. Con la propiedad Caption establecemos el texto que aparecer en el botn. Tambin se pueden crear teclas de acceso al botn.

El uso principal de los botones de comando es realizar acciones en la aplicacin. Bloquear controles Cuando estn situados los controles en el formulario se pueden bloquear para que no puedan moverse de forma accidental.

Carrera: Computacin e Informtica

Curso: Visual Basic

18Para esto deberemos hacer clic derecho Bloquear Controles Para desbloquear se hace lo mismo. Otras Propiedades Name .- Quizas la mas importante da el nombre al control. Backcolor .- Establece el color de fondo del control. Forecolor .- Establece el color del texto del control. BorderStyle .- Establece el tipo de borde del control. Visible .- Establece si el control se ver(True) en tiempo de ejecucin o no(False). Picture .- Establece una imagen de fondo al control. Nota: Si el control es un commandbutton la propiedad STYLE debera estar en 1.- Graphical para que se pueda ver la imagen lo mismo es para darle un color de Fondo. Width, Height .- Establece el ancho y el alto del control.(a mayor numero mas ancho o alto) Font.-Establece la fuente, tamao, etc. Enabled.-Permite o no que se puedan realizar acciones sobre el control(esta en True por defecto si esta en False no se podra utilizar el control) TabIndex.-Establece el orden de tabulacin fijado para el control(Esta propiedad sirve para casi todos los controles en VB) TabStop.-Indica si al utilizar el tabulador se puede desplazar entre los controles del formulario ToolTipText.-Establece un texto que se mostrar cuando se pase el mouse por el control como si fuera un comentario. Top .-Establece la distancia que hay desde el borde superior del formulario hasta donde se encuentra el control Left .-Establece la distancia que hay desde el borde izquierdo del formulario hasta donde se encuentra el control Icon .- Establece la imagen de un icono (Solo esta disponible para los formularios) MinButton, MaxButton .- Para ver o no ver los botones de minimizar y maximizar (solo para los formularios) Moveable .- Si esta en True el Form se podr mover ,si esta en false ser lo contrario(solo para los formularios)

Convencin para nombrar objetos en Visual BasicOBJETOForm CheckBox ComboBox Data-bound combobox Command Button Data Directory list box Drive List Box File List Box Frame Grid Data-bound grid Horizontal scrollbar Image Label Line OLE Container PictureBox Shape Text Box Timer Vertical scroll bar

OBJETO ESPAOL

PREFIJO

Formulario frm Casilla de verificacin chk Cuadro combinado cbo Cuadro combinado enlazado a datosdbc Botn de comando cmd Control de datos dat Cuadro lista de directorios dir Cuadro lista de unidades drv Cuadro lista de archivos fil Marco frm Rejilla grd Rejilla enlazada a datos dbg Barra de desplazamiento horizontal hsb Imagen img Etiqueta lbl Linea lin Contenedor OLE ole Cuadro de imagen pic Forma shp Cuadro de texto txt Temporizador tmr Barra de desplazamiento vertical vsb

La caja de Mensajes. MessageBox o MsgBox

Carrera: Computacin e Informtica

Curso: Visual Basic

19Las cajas de mensajes o MessageBox, tienen una funcin clara, que es la de mostrar una determinada informacin, aviso, o pregunta para que el usuario tenga conocimiento de ella y acte. Hay 2 formas diferentes de mostrar informacin: 1 - El aviso es s, que tiene por objetivo mostrar una informacin de inters. 2 - El aviso con espera de respuesta, que muestra una informacin esperando que el usuario seleccione una de las respuestas posibles para que el programa la trate. Una caja de mensaje, puede ser por ejemplo, la instruccin MsgBox "Hola". Por defecto, la caja de mensaje ser similar a esta:

Debe darse cuenta de algunas cosas: En primer lugar el mensaje, "Hola" que se escribe a continuacin de la palabra MsgBox, tambin debe darse cuenta del botn Aceptar que tiene el Focus de la ventana activa y que slo hay ese botn, y por ltimo el ttulo de la ventana. Podemos modificar estos parmetros para alcanzar nuestros objetivos, por eso, vamos a escribir ahora este cdigo: MsgBox "Hola", ,"Ejemplo" . El resultado es:

Como podemos apreciar en el cdigo, la caja de mensaje posee un ttulo Ejemplo y el mensaje, pero es posible que deseemos escribir un mensaje en varias lneas con salto de prrafo. Nada tan fcil como este cdigo por ejemplo: MsgBox "Hola" & vbCrLf & "Esto es un ejemplo.", , "Ejemplo". El resultado es:

Supongo que se habr percatado de que entre el mensaje y el ttulo de la ventana, hemos escrito dos comas, esto es porque entre las comas, debe ir un nmero que representar el icono a mostrar. Existen cuatro iconos diferentes adems de la posibilidad de no mostrar ninguno. Los iconos son:

Estos iconos corresponden a los siguientes mensajes: Mensaje crtico. Mensaje de pregunta. Mensaje exclamativo. Mensaje de informacin.

Carrera: Computacin e Informtica

Curso: Visual Basic

20Para mostrar el icono en cuestin o para que Visual Basic lo entienda, es necesario escribir lo siguiente: Mensaje Mensaje Mensaje Mensaje crtico. de pregunta. exclamativo. de informacin. VbCritical VbQuestion VbExcalamqtion VbInformation 32 48 64 16

Note que es lo mismo insertar VbCritical o 16. Vamos a ver un ejemplo aadiendo un icono al ltimo ejemplo: MsgBox "Hola" & vbCrLf & "Esto es un ejemplo.", VbQuestion , "Ejemplo" El resultado es:

Ahora bien, es posible que queramos mostrar algn otro botn que o bien no sea el de Aceptar o que adems del botn de Aceptar haya ms botones. Para este propsito, tenemos los siguientes parmetros: Aceptar vbOKOnly Aceptar y Cancelar vbOKCancel Anular, Reintentar, Ignorar vbAbortRetryIgnore S, No y Cancelar vbYesNoCancel S y No vbYesNo Reintentar y Cancelar vbRetryCancel 5 Aplicacin modal vbApplicationModal 0 3 4 1 2

0 (Es la caja de mensaje sin icono)

La forma de hacer esto es sumar al parmetro del icono que queremos mostrar el valor de los botones que deseamos que aparezcan. As por ejemplo: MsgBox "Hola" & vbCrLf & "Esto es un ejemplo.", VbQuestion + vbYesNo , "Ejemplo" El resultado es:

An as, es posible que deseemos que el Focus lo adquiera otro un botn determinado. Por ejemplo, en este caso el Focus lo tiene el botn S, pero es posible que deseemos que lo tenga el botn No por ejemplo. Esto se consigue con los siguientes parmetros: Primer botn predeterminado vbDefaultButton1 Segundo botn predeterminado vbDefaultButton2 Tercer botn predeterminado vbDefaultButton3 0 512 256

Por ejemplo: MsgBox "Hola" & vbCrLf & "Esto es un ejemplo.", VbQuestion + vbYesNo + vbDefaultButton2, "Ejemplo"

Carrera: Computacin e Informtica

Curso: Visual Basic

21El resultado es:

Si no se seala el botn predeterminado, Visual Basic seleccionar el primer botn. En caso de seleccionar como predeterminado un botn que no existe, (por ejemplo el tercero), Visual Basic seleccionar el primero. Ahora bien, si decidimos mostrar un mensaje esperando una respuesta, o queremos saber que botn ha pulsado el usuario, esto lo podemos conseguir mediante el siguiente cdigo de respuestas: Aceptar vbOK Cancelar vbCancel Anular vbAbort Reintentar vbRetry Ignorar vbIgnore S vbYes No vbNo 1 4 5 2 3 6 7

As por ejemplo, el siguiente cdigo: Dim Resp As Integer Resp = MsgBox("Hola" & vbCrLf & "Esto es un ejemplo.", VbQuestion + vbYesNo + vbDefaultButton2, "Ejemplo") If Resp = 6 Then MsgBox "Ha pulsado SI" Else MsgBox "Ha pulsado NO" End If Tiene el resultado siguiente:

Si pulsamos el botn S obtendremos una accin, y si pulsamos el otro botn otra accin. Ahora bien, para elegir o seleccionar un evento o accin, el usuario debe saber combinar los cdigos, sabiendo que un MsgBox posee la siguiente sintaxis principal: MsgBox Mensaje, Botones, Ttulo de la ventana

Carrera: Computacin e Informtica

Curso: Visual Basic

22InputBoxEl InputBox o caja de entrada es otra de las partes ms utilizadas para la interaccin del usuario con la aplicacin. Es importante que el usuario interacte con la aplicacin para ser el protagonista de esta. El InputBox nos permite sacar una caja donde el usuario pasar un parmetro, valor o dato para que el programa lo trate y lo ejecute. El mensaje que quiere que aparezca se realiza de forma casi idntica al MessageBox. Puede escribirse varias lneas de texto seguidas por la constante de Visual Basic vbCrLf o salto de lnea o prrafo. La sentencia es: Val = InputBox (Mensaje, Titulo, ValorPredeterminado) Val almacenar el texto escrito por el usuario, que puede ser una cantidad, cadena string, etc. Por ejemplo: Dim Val As String Val = InputBox("Deme su nombre", "Ejemplo") MsgBox "Su nombre es: " & Val Tiene como resultado:

(El usuario teclea el nombre - Mundo Visual - y hace click en Aceptar. A continuacin se muestra el MsgBox - 2 lnea del cdigo anterior )

Ahora bien, podemos determinar un texto predeterminado a la caja de entrada, como por ejemplo: Dim Val As String Val = InputBox("Deme su nombre", "Ejemplo", "Mundo Visual") MsgBox "Su nombre es: " & Val Obtendremos como resultado:

Carrera: Computacin e Informtica

Curso: Visual Basic

23

Es importante determinar que si el usuario elige el botn Cancelar, el programa devolver una cadena de caracteres igual a 0, es decir, Val ="". La caja de entrada puede ser sin embargo ms personalizada mediante dos parmetros como son la posicin de la ventana de entrada de datos en la pantalla. Estos parmetros se ponen a continuacin del ValorPredeterminado.

CAPITULO III

Estructuras de controlSentencias condicionales.Llamamos sentencias condicionales a aquellas que se realizan si se cumple una determinada condicin. Son las sentencias por las que empieza cualquier texto de Basic, y este no va ser menos. La sentencia condicional ms usada es: Si se cumple una condicin Entonces Realiza estas instrucciones Si no se cumple Realiza estas otras instrucciones Fin de la sentencia. As de fcil es programar en Basic. Lo que ocurre es que esta herramienta habla ingls, y lo descrito anteriormente toma la forma: If condicin Then Instrucciones Else Otras instrucciones End If En este ejemplo, o se cumple una condicin y ejecuta unas determinadas instrucciones, o no se cumple, y ejecuta otras instrucciones distintas. Puede ocurrir que, caso de no cumplirse la condicion primera, se abra un abanico de dos o tres posibilidades. La sentencia condicional tendra entonces la forma: If condicin 1 Then Instrucciones ElseIf Condicin 2

Carrera: Computacin e Informtica

Curso: Visual Basic

24Otras instrucciones ElseIf Condicin 3 Otro juego de instrucciones Else Instrucciones que debe realizar caso de no cumplir las condiciones 1, 2 y 3. End If Como decamos anteriormente, este es el tipo de sentencia condicional mas usada. Existe otra sentencia condicional muy usada: Select Case Su nombre casi nos define lo que es: Selecciona, dependiendo del caso, un determinado juego de instrucciones: Select Case variable ' variable es una variable que puede tomar los valores (p.e.) de 1 a 4 Case 1 Instrucciones Case 2 Instrucciones Case 3 Instrucciones Case 4 Instrucciones Case Else Instrucciones anteriores End Select

a ejecutar en caso de que variable = 1 a ejecutar en caso de que variable = 2 a ejecutar en caso de que variable = 3 a ejecutar en caso de que variable = 4 a ejecutar en caso de que variable sea distinta a los valores

Este procedimiento resulta mucho mas sencillo y rpido que las sentencias If vistas anteriormente, cuando el margen de eleccin es mayor que 2.

Then

Else

Puede agrupar varios valores en una misma lnea. Por ejemplo, si tiene 100 valores posibles, y el tratamiento es igual para varios de ellos, puede agruparlos as: Select Case Valor Case Is < 20 Instrucciones Case Is = 20 Instrucciones Case Is = 21, 22, 23, 24, 25, 26 Instrucciones Case Is > 26 Instrucciones End Select Cuando lo que queremos es elegir un valor, no ejecutar instrucciones como hacamos anteriormente, disponemos de otras dos funciones: Choose y Switch. Switch toma una serie de parmetros, todos por parejas. El primer trmino de cada pareja es la expresin a evaluar. El segundo es el valor que tiene que devolver. En realidad Switch es una funcin (las funciones las veremos muy pronto) A = Switch (B=1, 5, B=2, 7, B=3, 11)

Esta instruccin obtiene un valor para A que depender del valor que tome B entre los valores posibles (1, 2 3)

Carrera: Computacin e Informtica

Curso: Visual Basic

25La sentencia Choose es casi igual, cambia solamente la forma. La misma intruccin anterior puede realizarse con Choose de la siguiente forma: A = Choose ( B, 5, 7, 11 ) En estas sentencias, Switch y Choose, si el valor de B no coincide con ninguno de los valores que se le haban establecido (1, 2 3 en nuestro caso), la sentencia devuelve el valor Nulo ( Null ). Esto puede producir algn error si no se contempla esa posibilidad. Las sentencias Switch y Choose no se usan mucho en programacin. Parece que los programadores o no las conocen o se lan (y es comprensible) al utilizarlas. Le garantizo que puede llegar a ser un gran programador sin necesidad de utilizarlas. Use preferentemente If End If y Select Case.

Otra sentencia condicional: IIF Devuelve uno de entre dos valores, dependiendo de la evaluacin de una expresin. Sintaxis Iif (Expresin, SiEsCierto, SiEsFalso)

Expresin es la expresin a evaluar. SiEsCierto SiEsFalso Observaciones IIf siempre evala SiEsCierto y SiEsFalso, aunque slo vaya a devolver una de ellas. Por esta razn, deber vigilar que no se produzcan efectos no deseados. Por ejemplo, si al evaluar SiEsFalso se produce un error de divisin entre cero, se generar un error aunque Expresin d como resultado True. Como ejemplo, en el formulario de nuestro primer programa introduzca un nuevo botn de comando. Introduzca tambin un TextBox. Vea que poco a poco vamos metiendo cosas aunque no las conocemos todava. Mas tarde las conocer. El TextBox tendr por nombre Text1. Haga doble click sobre el botn de comando e introduzca el siguiente cdigo : Private Sub Command2_Click() Dim MiVariable As String MiVariable = IIf(Clng(Text1.Text) > 100, "Es mayor", "Es menor") Label1 = MiVariable End Sub Al ejecutar el programa, debe introducir un valor numrico en Text1. Si ese valor numrico es menor que 100, MiVariable tomar el valor Es menor (No se cumple la condicin expresada en el primer parmetro Text1.Text > 1000). Si introduce una cantidad mayor, se cumple esa condicin, por lo que MiVariable tomar el valor Es mayor. El valor que toma la variable puede verlo en Label1. Fjese que hemos declarado MiVariable como String, ya que va a contener un dato tipo cadena de caracteres. Con estas sentencias condicionales es posible realizar bifurcaciones del programa, cambiar las propiedades de un objeto, obtener resultados de operaciones, .... Valor o expresin devuelta si Expresin es True. Valor o expresin devuelta si Expresin es False.

Sentencias de bucle.Es muy comn utilizar bucles a lo largo de un programa. Un bucle es una sucesin repetitiva de

Carrera: Computacin e Informtica

Curso: Visual Basic

26instrucciones, que se estarn realizando mientras se cumpla una condicin o mientras no se cumpla otra condicin. Es tan sencillo como esto: Mientras condicin Instrucciones Fin del bucle Existen dos formas de bucle: Una, que realiza un nmero determinado de recorridos por el bucle. Es el denominado bucle por contador. Otra, realiza el bucle hasta que se cumpla (o deje de cumplirse) una condicin. Es el llamado bucle por condicin. Bucle por contador Realiza el bucle tantas veces como le indiquemos. Por ejemplo, en este bucle nos va a presentar las 26 letras maysculas del alfabeto ingls For N=65 To 90 Label1.caption = Chr ( N ) Next N Este "programa" nos presentar en una caja (Label) los caracteres cuyo nmero ASCII vaya desde el 65 (A) al 90 (Z) Comenzar presentando el correspondiente al nmero 65, e ir presentando sucesivamente el 66, el 67, etc., hasta llegar al 90, donde se parar. Bucles por condicin Ejecuta las instrucciones del bucle mientras se cumple una condicin X=0 Do While X < 1000 X=X+1 Loop El programa toma una variable ( X ) que previamente tuvimos la curiosidad de ponerla a cero, e incrementa su valor una unidad. Analiza si el valor de X es menor que 1000, y si es cierto, vuelve a realizar el bucle. As hasta que X ya no sea menor que 1000. Al dejar de cumplirse que X sea menor que 1000, sale del bucle. Acabamos de realizar un temporizador, y tambin de exponer las sentencias condicionales y los bucles, inicio de cualquier curso de Basic. Como final de leccin, se propone un problema. Con el primer bucle, donde visualizbamos los caracteres A a la Z, posiblemente no nos diese tiempo de ver cada una de las letras que iban apareciendo en la pantalla, en la etiqueta Label1, dado que cambiara con mucha velocidad, y solamente veramos la Z, que es donde se detuvo el programa. Podemos poner un temporizador cada vez que presente una letra, y as nos dar tiempo a verla. Con los dos bucles vistos anteriormente ya podemos hacerlo. Si lo que queremos es que el programa se ejecute mientras no se cumpla una determinada condicin, la sentencia ser: X=0 Do Until X > 1000 X=X+1 Loop Observe que la diferencia entre una y otra es la condicin, While para indicar Mientras se cumpla que ... y Until para indicar Mientras no se cumpla que .... Para terminar bien el programa anterior utilizaremos la condicin de While (Mientras se cumpla la

Carrera: Computacin e Informtica

Curso: Visual Basic

27condicin) For N=65 To 90 Label1.caption = Chr ( N ) Label1.RefreshN X=0 Do While X < 1000 X=X+1 Loop Next N

' Refresca la etiqueta

Nos falta la interface grfica. Para realizarla basta con abrir el VB y sobre el formulario que aparece al abrirlo, introducir una etiqueta, (Label) que llevar el nombre por defecto de Label1. Solo nos queda pensar donde introducimos el cdigo anterior. Podemos introducir un botn de comando (Command Button) que saldr con el nombre por defecto de Command1. Haga doble click sobre el botn. Aparecer el procedimiento Click. Este procedimiento es el que se realiza cuando hacemos click sobre ese botn. Escriba en ese procedimiento este cdigo. Private Sub Command1_Click() For N=65 To 90 Label1.caption = Chr ( N ) Label1.RefreshN X=0 Do While X < 1000 X=X+1 Loop Next N End Sub ' Esta ' Esta lnea sale automticamente

' Refresca la etiqueta ' Bucle de temporizacin (*)

' Termina el bucle de temporizacin lnea sale automticamente

Hemos puesto nuestra primera piedra en Visual Basic. Este ejemplo es muy sencillo. Visual Basic es tan sencillo como este ejemplo. (*) Las temporizaciones no se hacen realmente as. El ejemplo anterior no deja de ser una forma sencilla de detener el programa, para que en los comienzos de su carrera como programador pueda ver el contenido de una etiqueta. Si lo hiciera de esta forma, su ordenador estara detenido realizando una funcin bastante triste, contar hasta 1000 para luego continuar el programa. Y lo que es peor, en un ordenador a 300 MHz. Tardara menos tiempo que en uno a 66. Esta misma funcin puede hacerla con Sleep que la ver mas adelante, que es la forma limpia y elegante de hacer una temporizacin

Formas de salir de un buclePara salir de un bucle, podemos esperar a que se complete, bien porque se ha cumplido la condicin (Bucles por condicin) o a que se haya llegado al final de la cuenta (Bucles por contador). Pero puede ocurrir que interese salir del bucle sin haber terminado la ejecucin total del mismo, por ejemplo, porque ya hemos encontrado lo que estabamos buscando, y sera una prdida de tiempo seguir ejecutando el bucle cuando ya hemos obtenido lo que buscamos. Para ello, basta con ejecutar la sentencia Exit Do (Cuando hemos comenzado el bucle con Do Until o Do While, o con Exit For cuando lo hemos comenzado con For ... To Ejemplos En el siguiente ejemplo pretendemos parar el programa cierto tiempo, a la espera que otro equipo se conecte a travs del puerto serie. (Cuando se conecte, el control MSComm1 detectar la seal DSR que le enva el otro equipo y deberemos salir inmediatamente del bucle para, por ejemplo, atender a ese puerto serie) Contador = 0 Do While Contador < 1000

Carrera: Computacin e Informtica

Curso: Visual Basic

28Contador = Contador + 1 DoEvents If MSComm1.DSRHolding = True Then Exit Do Sleep (1000) Loop Aqu comenzamos a atender al puerto serie En el siguiente ejemplo, deseamos transmitir por el puerto serie una serie de nmeros, del 1 al 1000, pero siempre y cuando que el equipo que est al otro lado de la lnea serie est a la escucha (Condicin MSComm1.DSRHolding = True) Si se desconecta ese equipo, y la condicin pasa de True a False, deseamos salir del bucle: For I = 1 To 1000 If MSComm1.DSRHolding = False Then Exit Do MSComm1.Output = Str(I) Next I No se preocupe que no entienda esto del MSComm. Lo entender perfectamente unos captulos mas adelante. Lo importante es que entienda la idea de salir de un bucle por la va rpida. Salir de un procedimiento antes de terminar su ejecucin Y ya que explicamos como se sale de un bucle por la va rpida, veamos como salir de un procedimiento usando tambin esa va rpida. Para salir de un procedimiento basta con ejecutar la sentencia Exit Sub. En el ejemplo siguiente, usamos el botn BotonLeerNombre para introducir el dato Nombre en una base de datos. Pero ese campo puede tener como mximo, 20 caracteres. Si el usuario ha introducido mas de 20 caracteres, debemos salir del procedimiento donde se introduce ese dato sin ejecutarlo de forma ntegra: Private Sub BotonLeerNonbre_Click() Mivariable = Text1.Text If Len(Mivariable) > 20 Then MsgBox "El Campo Nombre debe tener como mximo 20 caracteres" Text1.Text = "" Exit Sub Con esta instruccin saldramos de este procedimiento Else 'Aqui vendran las lineas de instrucciones donde trataramos 'el contenido de Text1, si tuviese menos de 20 caracteres End If End Sub

Carrera: Computacin e Informtica

Curso: Visual Basic

29

Ejercicios Propuestos1. Realizar un programa donde se deber ingresar el nombre de un alumno y se deber escoger el turno en el que estudia (M , T y N) as como tambin el ciclo (I, II, III, IV, V, VI) y la carrera (CI, Contabilidad, Secretariado) se deber calcular el pago de su pensin en base a los siguientes datos: el precio por carrera es: CI = 220.00 Contabilidad = 180.00 Secretariado = 170.00 Adems que dependiendo del ciclo en el que estn se pagara un recargo del precio de 10,20,30,40,50,60. Axial como tambin si es del turno M se deber recargar 10% mas solo si esta en I, II, o III ciclo, si es del turno T se recarga el 15 % mas solo si esta en I, o II y por ultimo si es del turno N se la har un descuento del 15 % .Al finalizar solo se debe mostrar el monto de la pensin. 2. Realizar un programa donde se ingresara por teclado en una caja de texto la hora en formato de 24 horas y en otra caja de texto la cantidad de minutos al hacer clic en un botn deber salir la hora en formato de 12 horas por ejemplo si se ingresa 23 en una caja y en la otra 12 el resultado seria 11:12 PM 3. Desarrollar un programa donde se ingrese la cantidad total de minutos hablados por una persona y escoja el tipo de llamada (Local, Nacional, Internacional).Se visualizara el importe de la llamada sabiendo que por los 3 primeros minutos se paga S/ 1.00 y por cada minuto adicional se paga 0.50 en caso sea local si es nacional se incrementa el 25% y si es internacional se incrementa el 60% a los precios por minuto. 4. Realizar un programa donde se ingrese un nmero y visualcelo en romano. 5. Realizar un programa donde se ingrese por teclado el da de nacimiento y el mes de nacimiento de una persona al hacer clic se deber mostrar su signo zodiacal as como tambin deber aparecer la imagen del signo Zodiacal en un control PictureBox.

CAPITULO IV Funciones incorporadas de Visual BasicFunciones de cadenaSe denomina CADENA a una sucesin de caracteres. Una cadena puede tener uno o varios caracteres alfanumricos. Una cadena es tambin una sucesin de nmeros. Ejemplo de cadenas: Curso de Visual Basic abcdefghijklmnopqrstuvwxyz1234567890 123456789 Hagamos una distincin entre una cadena que contenga nmeros y un nmero. Un nmero tiene un valor, pero tambin tiene una presentacin escrita. El valor es algo que estar en el ordenador como una sucesin de bits. Dependiendo de como lo hayamos declarado, tendr mas o menos bits. Pero esa informacin no es un nmero legible por el usuario. Lo que s es legible por el usuario es la representacin en numeracin decimal (u octal, o hexadecimal, o incluso en binario) de ese nmero. Esa representacin del nmero en un determinado sistema de numeracin es una cadena. As, el nmero nueve, que en la memoria del ordenador ser una sucesin de bits, nos lo podr presentar como:

Carrera: Computacin e Informtica

Curso: Visual Basic

309 9 11 1001 En En En En numeracin numeracin numeracin numeracin decimal hexadecimal octal binaria

Esas formas de presentarnos el nmero son CADENAS de caracteres. El valor del nmero dentro del ordenador es un NUMERO. Para presentar un nmero en la pantalla, el ordenador debe convertirlo previamente a una cadena. Cuando introducimos un valor numrico por teclado o pantalla, el ordenador para hacer operaciones con l, debe transformarlo a un nmero. Estas consideraciones nos llevan a las dos primeras funciones con cadenas:

Str ValEjemplos

(nmero)decimal.

Convierte un nmero a una cadena en numeracin

(cadena numrica)cadena.

Obtiene el valor (el nmero) correspondiente a esa

Variablenumerica = Val (TextBox1.Text) Este ejemplo convierte la cadena de caracteres (numricos) que hubiese en la caja de texto TextBox1 en un nmero, y asocia este nmero a la variable Variablenumerica. Si el contenido de la caja de textos no fuesen caracteres numrico (abcd, por ejemplo), Variablenumerica tomara el valor 0.

Label1.Caption = Str (Variablenumerica) Este ejemplo pondra en la etiqueta Label1 los caracteres correspondientes al valor que tuviese la variable Variablenumerica . Existe una funcin mas amplia que Str. Se trata de Cstr. Esta funcin no solamente transforma un nmero a una cadena, como hace Str, sino que convierte cualquier tipo de variable a una variable tipo String (cadena). Esta funcin transforma, por ejemplo, una variable tipo Booleana en una variable de cadena, devolviendo la cadena Verdadero si el valor de la variable booleana es True, y Falso si es False. Puede tambin transformar a una cadena de caracteres el valor de un CheckBox o de un OptionButton. En estos casos devuelve 0 y 1 para el CheckBox (Desactivado / Activado) y Verdadero Falso para el OptionButton (Activado / Desactivado) label1.Caption = CStr(booleana) Label1.Caption = Verdadero Label1.Caption = Falso

Label2 = CStr(Check1.Value) Label2.Caption = 1 si Check1 est activado Label2.Caption = 0 si Check1 est desactivado Label3 = CStr(Option1.Value) Label3.Caption = Verdadero Label3.Caption = Falso

Carrera: Computacin e Informtica

Curso: Visual Basic

31Si se aplica Cstr a una variable tipo Fecha/Hora devuelve la fecha / Hora en formato corto. Mas funciones de cadena: Left (cadena, n) Extrae los n primeros caracteres de una cadena, comenzando por la izquierda. Si cadena = Curso de Visual Basic Resultado = Left (cadena, 10) (Para todos los ejemplos) ----> Resultado = Curso de V

Right (cadena, n) Extrae lo n ltimos caracteres de la cadena Resultado = Right (cadena, 10) ----> Resultado = sual Basic

Mid (cadena, m, n) Extrae n caracteres de la cadena, siendo el primer carcter extrado el que ocupa el lugar m. (Vea Instruccin Mid mas abajo) Resultado = Mid (cadena, 3, 10) ----> Resultado = rso de Vis

LCase (cadena) Devuelve otra cadena igual, pero con todos los caracteres en minsculas. (LCase = Lower Case) Resultado = Lcase (cadena) ----> Resultado = curso de visual basic

UCase (cadena) Devuelve otra cadena igual, pero con todos loscaracteres en maysculas. (UCase = Upper Case) Resultado = UCase (cadena) ---->Resultado = CURSO DE VISUAL BASIC

Len (cadena) Devuelve la longitud de la cadena Resultado = Len (cadena) ----> Resultado = 21

Space (n) Devuelve una cadena formada por n espacios. Resultado = "A" + Space (6)+ "B" LTrim ----> Resultado = A B

Elimina los posibles espacios que tenga una cadena por Su izquierda. Elimina los posibles espacios que tenga una cadena por Su derecha. Elimina los espacios que tenga una cadena, tanto por su izquierda como por su derecha. (No elimina los espacios centrales de la cadena)

Rtrim

Trim

Carrera: Computacin e Informtica

Curso: Visual Basic

32Estas tres funciones se emplean para quitar los posibles espacios que pueden resultar de una entrada de datos. Tienen especial importancia cuando se toman los datos de un archivo o base de datos, donde fueron introducidos por otro programa. InStr (cadena, cadena1) Busca la cadena1 dentro de cadena y devuelve el nmero de orden dentro de cadena donde se encuentra la primera letra de cadena1 Resultado = InStr (cadena, "sua") StrConv ----> Resultado = 12

Convierte una cadena de caracteres en otra, segn las instrucciones que le sigan. Puede sustituir a UCase o LCase si la instruccin es UpperCase o LowerCase respectivamente, o poner la primera letra de todas las palabras de la cadena en maysculas, si la instruccin es ProperCase.

Resultado = StrConv (cadena, UpperCase) ----> Resultado = CURSO DE VISUAL BASIC Resultado = StrConv (cadena, LowerCase) ----> Resultado = curso de visual Resultado = StrConv (cadena, ProperCase) ----> Resultado = Curso De Visual

basic

Instruccin Mid

Basic

Mid puede usarse tambin para cambiar el contenido de una cadena. Observe la sutileza entre Mid como Funcin de cadena y Mid como Instruccin. La Instruccin Mid reemplaza un nmero especificado de caracteres en una variable de cadena con caracteres de otra cadena. Sintaxis Mid(cadena1, inicio[, longitud]) = cadena2 ---- > Resultado = Curso AB Visual Basic

Mid (cadena, 7,2)=AB

Si la cadena que vamos a introducir tuviera ms caracteres, tomar solamente los primeros Mid (cadena, 7,2)=ABCDE ---- > Resultado = Curso AB Visual Basic

Funciones Asc y ChrEstas funciones se utilizan para obtener el nmero ASCII de un carcter, y para, sabiendo el nmero ASCII, hallar el carcter correspondiente.

Funcin AscDevuelve el cdigo de carcter correspondiente a la primera letra de una cadena de caracteres. Sintaxis MiVariable = Asc (Cadena)

Cadena es cualquier expresin de cadena vlida. Si la cadena no contiene caracteres, ocurrir un error en tiempo de ejecucin. Ejemplo : Nota Label1 = Asc (ABCD) Label1 presentar 65

Hay otra funcin (AscB) que puede usarse con bytes contenidos en una cadena. En lugar de

Carrera: Computacin e Informtica

Curso: Visual Basic

33devolver el cdigo del carcter para el primer carcter, AscB devuelve el primer byte.

Funcin ChrDevuelve el carcter asociado con el cdigo de carcter especificado. Sintaxis Chr (CdigoCarcter)

El argumento CdigoCarcter es un nmero en el intervalo de 0 a 255, inclusive, que identifica a un carcter. Ejemplo Label1 = Chr (65) Label1 contendr el carcter A

Como ejemplos de nmeros de caracteres algo especiales se debe sealar el carcter 10 (avance de lnea) y el carcter 13 (Retroceso de carro). La tecla ENTER produce ambos caracteres cada vez que se pulsa. Otros caracteres importantes son, el Backspace (carcter 8), y el espacio (carcter 32) Otras Funciones con nmeros Int , Fix Devuelven la parte entera de un nmero con decimales

Int y Fix eliminan la fraccin de un nmero y devuelven el valor entero resultante. La diferencia entre Int y Fix es que si el nmero es negativo, Int devuelve el primer entero negativo menor o igual a nmero, mientras que Fix devuelve el primer entero negativo mayor o igual a nmero. Por ejemplo, Int convierte -8,4 en -9, y Fix convierte -8,4 en -8. Abs Sgn Sqr Exp Devuelve el valor absoluto de un nmero Devuelve el signo de un nmero Devuelve la raz cuadrada de un nmero Devuelve el nmero elevado al exponente indicado Devuelve el logaritmo natural de ese nmero

Log

Funciones TrigonomtricasSin Devuelve el valor del seno de un ngulo (Expresado en radianes) Devuelve el coseno de un ngulo (En radianes) Devuelve la tangente de un ngulo Devuelve un arco cuya tangente sea el nmero (Angulo en radianes) Convierte una expresin al tipo de datos Date. (Fecha / Hora)

Cos Tan Atn

Funcin Cdate Otras Funciones Una funcin curiosa

Carrera: Computacin e Informtica

Curso: Visual Basic

34Timer Tiempo acumulado Devuelve el tiempo (en segundos) que ha pasado desde las 12 de la noche.

Generacin de nmeros aleatorios Randomize (Numero) Inicia el generador aleatorio tomando como dato de partida el Numero. Devuelve el resultado en una variable llamada Rnd.

Randomize Timer La funcin Randomize devuelve una variable Rnd con un nmero comprendido entre 0 y 1 (Nunca ser 0 ni 1) Leyendo el valor de la variable sucesivas veces, se puede obtener una sucesin de nmeros aleatorios. No es necesario ejecutar la instruccin Randomize Timer cada vez que se quiera obtener un dato de la variable Rnd. Un ejemplo. Generador de nmeros para la Lotera Primitiva Supongamos que tenemos un formulario con una etiqueta de nombre Label1, un botn de comando de nombre Command1. Cuando hagamos click sobre el botn de comando deber generar un nmero comprendido entre el 1 y el 49. En el procedimiento click de Command1 pondremos el siguiente cdigo: Private Sub Command1.click Randomize Timer A = Rnd * 100 A = CInt(A) Do While A > 49 A = A - 49 Loop Do While A < 1 A = A + 49 Loop Label1.caption = A End Sub

Funciones con fechas.Las fechas son cadenas especiales. Visual Basic sabe obtener y tratar la informacin relativa a la fecha y la hora. Dispone para ello de una declaracin de variable: Date. Una variable declarada como date puede contener una fecha, una fecha y una hora o una hora solamente. Date Time Now WeekDay Day Month Year Hour Devuelve la fecha de hoy. Esta fecha la toma del reloj del ordenador. Devuelve la hora actual. Devuelve la fecha y hora actual. Devuelve el da de la semana (En nmero, 1=Domingo, 2=Lunes,...) Obtiene el da, a partir de una fecha Obtiene el mes a partir de una fecha. Obtiene el ao a partir de una fecha. Obtiene la hora a partir de una hora

Carrera: Computacin e Informtica

Curso: Visual Basic

35Minute Second DateAdd DateDiff DatePart DateSerial TimeSerial DateValue Obtiene el minuto a partir de una hora. Obtiene el segundo a partir de una hora. Aade un intervalo de tiempo a una fecha Obtiene el intervalo de tiempo entre dos fechas Devuelve una parte de una fecha(semana, trimestre, etc.) Compone una fecha a partir de parmetros relativos Compone una hora a partir de parmetros relativos. Devuelve una fecha a partir de un dato que se le parezca y VB pueda obtener de l una fecha vlida

Mediante estas instrucciones podemos obtener el dato necesario de una fecha u hora. Por ejemplo, para obtener el da de hoy solamente: Da = Day (Now) Da ser un nmero

El da de la semana lo obtendramos Diasemana = WeekDay (Now) Diasemana ser un nmero

DateValue, una instruccin que le sacar mucho provecho Fecha = DateValue (12-07-96) Fecha = DateValue (12 07 96)

Fecha =12/07/96

La funcin DatePart Merece estudio aparte. Con esta funcin podemos averiguar el mes, trimestre, semana, da del ao, etc. La sintaxis de esta funcin es : VariableNumrica = DatePart (Intervalo, fecha[, primerdasemana[, primerasemanaao]]) Valor para Intervalo q m y d w ww h n s Obtendremos el Trimestre Mes Da del ao Da Da de la semana Semana Hora Minuto Segundo

El parmetro Primerdasemana puede ser un nmero o una constante (veremos a lo largo de todo el curso, que VB usa constantes que son palabras reservadas por VB que generalmente comienzan por vb) que indica que da es para nosotros el primero de la semana Constante vbSunday vbMonday Nmero 1 2 Primer da de la semana Domingo (predeterminado) Lunes

Carrera: Computacin e Informtica

Curso: Visual Basic

36vbTuesday vbWednesday vbThursday vbFriday vbSaturday 3 4 5 6 7 Martes Mircoles Jueves Viernes Sbado

Para el parmetro primerasemanaao podemos emplear uno de los siguientes nmeros o constantes: Constante vbFirstJan1 vbFirstFourDays vbFirstFullWeek Valor 1 2 3 Descripcin Empieza con la semana en la que se encuentra el 1 de enero (predeterminado). Empieza con la primera semana que tenga al menos cuatro das en el ao nuevo. (Standard ISO 8086) Empieza con la primera semana contenida completamente en el ao nuevo.

Por ejemplo, y tomando como referencia para todos los ejemplos el da 22 de Septiembre de 1998, fecha en la que se ha escrito este texto, (Now = 22/09/1998), tenemos : Variable = DatePart (m, Now) variable = DatePart ("q", Now) variable = DatePart ("d", Now) variable = DatePart ("y", Now) variable = DatePart ("w", Now) Variable = 10 Variable = 3 Variable = 22 Variable = 265 Variable = 3 (Martes, pues el primer da de la semana era el domingo - Predeterminado) variable = DatePart ("w", Now, vbMonday) Variable = 2 (Primer da semana = lunes) variable = DatePart ("ww", Now, vbMonday, vbFirstFourDays) Variable = 39, que indica el nmero de la semana dentro del ao. Cuidado con como se escriben las fechas. Una posibilidad es la usada en los ejemplos, pero solamente vale para el da de hoy. Puede expresar la fecha metindola entre dos signos #, pero en ese caso debe estar expresada en el formato mm/dd/yy (mes/da/ao). Ejemplo : variable = DatePart("ww", #9/22/98#, vbMonday, vbFirstFourDays) Pero lo mas fcil para el formato de fecha usado en Espaa es meter la fecha entre comillas dobles, y usar el formato especificado para el pas : variable = DatePart("ww", "22/9/98", vbMonday, vbFirstFourDays) Con las comillas dobles puede incluso no poner el ao. En este caso le pone por defecto, el ao en curso. variable = DatePart("ww", "22/9", vbMonday, vbFirstFourDays) Estas tres formas de expresar la fecha funcionan perfectamente, al igual que cuando lo hacamos con Now, y el resultado sigue siendo 39.

Funcin FORMATEsta funcin permite presentar cadenas numricas o fechas de una determinada forma. Permite establecer el Formato de esa cadena. Si recurre a la ayuda de VB acerca de esta funcin se va a enterar muy poco de lo que puede dar de s. La sintaxis que presenta es :

Carrera: Computacin e Informtica

Curso: Visual Basic

37Format(expresin[, formato[, primerdadesemana[, primerasemanadelao]]]) FechadeHoy = Format (Now, yyyy-mm-dd) la variable FechadeHoy tendr el valor 1998-05-21, que se refiere al da 21 de mayo de 1998, segn el formato recomendado por la norma ISO-8601 para la presentacin de fechas. Si hubisemos puesto la expresin FechadeHoy = Format (Now, dd/mm/yy) , la variable FechadeHoy contendra el valor 21/05/98 referido al da citado. Las posibilidades de Format llegan tambin al campo de las cadenas numricas. Por ejemplo la cifra 123456 se transformar en las siguientes expresiones, segn como empleemos la funcin Format Variable = Format(123456, "Currency") Variable = Format(123456, "Standard") Variable = 123.456 Pts Variable = 123.456,00

Veamos ahora con un poco mas de conocimiento la sintaxis de Format Variable = Format (expresin[, formato[, firstdayofweek[, firstweekofyear]]]) No se complique la vida con el tema del primer da de la semana ni la primera semana del ao. No lo usar con frecuencia. Centrmonos mas en el parmetro Formato. Puede tomar muchos valores. Veamos los principales. Primero para nmeros Observe que usamos la expresin Variable = Format (1234567,Formato) para todos los ejemplos de nmeros. Para poner los nmeros separados por millares : Variable = Format(1234567, "##,###,###") Variable = 1.234.567

(Cada carcter # indica que ah va un nmero. El separador debe ser una coma, no un punto, aunque esto depende del idioma que est usando) Puede poner una de estas expresiones, eso si, siempre entre comillas dobles : General Number Currency Fixed Standard Percent Scientific . Muestra el nmero tal como lo tecle En formato de la moneda de su sistema operativo Sin separador de millar y dos decimales (1234567,00) Con separador de millares y dos decimales (1.234.567,00) Multiplica el nmero por cien y lo presenta cono porcentaje(123456700,00%) Usa notacin cientfica (1,23E+06)

Para fechas (Observe que usamos el ejemplo Format(Now, Formato) siendo Now la fecha y hora actual (21/07/98 a las 22:16:00 ) General Date Long Date Medium Date Short Date yyyy-mm-dd yy-mm-dd Long Time Medium Time Short Time hh :mm :ss hh :mm 21/07/98 22:16:00 martes 21 de julio de 1998 21-jul-98 21/07/98 1998-05-21 98-07-21 22:19:53 10:20 PM 22:20 22 :21 :29 22 :21

Carrera: Computacin e Informtica

Curso: Visual Basic

38

CAPITULO V Formularios MltiplesLo que se va a explicar en este captulo le ser bastante familiar aunque nunca haya reparado en ello. Posiblemente haya utilizado un procesador de texto en el que est escribiendo una carta, y antes de terminar de escribir esa carta, comienza a escribir otro documento, y posiblemente otro, y tenga los tres documentos en la pantalla al mismo tiempo, bien en ventanas escalonadas, (cascada), bien en ventanas en forma de mosaico, o simplemente tapando unas a otras completamente. Los tres documentos estn en su procesador de textos, y puede actuar sobre uno u otro simplemente eligiendo el deseado mediante el mecanismo que le proporciona su procesador de textos. Este sistema no es ni mas ni menos que una interface de documentos mltiples. En programacin, a este tipo de aplicaciones las denominamos MDI Para crear una aplicacin MDI debe hacerse mediante un Formulario Padre al que se le aaden tantos Formularios Hijo como documentos tengamos. Al formulario padre le denominamos Formulario MDI, y a los formularios hijo en Visual Basic se les denomina formularios MDIChild. En esta Gua del Estudiante se usarn indistintamente una u otra denominacin. La nica diferencia entre un formulario normal y un formulario Hijo es que ste tiene la propiedad MDIChild a True. Para realizar una aplicacin MDI, lo primero que hay que hacer es introducir en ella un formulario MDI. Para introducirlo, basta con hacer click en Insertar | Formulario MDI de la barra de men. Solamente se puede tener un formulario MDI en una aplicacin. Puede observar que una vez que ha introducido uno, la palabra Formulario MDI del submen Insertar queda deshabilitada. Una vez que tiene un formulario MDI puede introducir tantos formularios hijo como desee. Para que un formulario sea formulario hijo basta con poner a True su propiedad MDIChild. En una aplicacin MDI pueden coexistir formularios hijo y formularios normales. Propiedades de los formularios MDI Aparte de las propiedades de un formulario normal, un formulario MDI tiene las siguiente propiedades : AutoShowChildren. Muestra los formularios hijo nada mas cargarlos.

Esta propiedad puede verse si se carga un formulario hijo mediante la sentencia : Load NombreFormularioHijo Si la propiedad AutoShowChildren est a True, el formulario cargado se ver inmediatamente. Si est a False, ser necesario ejecutar la sentencia NombreFormularioHijo.Show para presentarlo. ActiveForm Mediante esta propiedad podemos conocer el formulario activo dentro de una aplicacin de documentos mltiples. (El formulario activo es aquel que tiene el foco) MiVariable = ActiveForm.caption MiVariable contendr el Caption (Barra de Titulo) del formulario activo. ActiveForm.Backcolor = RGB (255,0,0) pondr el fondo del formulario activo de color rojo.

Carrera: Computacin e Informtica

Curso: Visual Basic

39ScrollBars Hace que el Formulario MDI (padre) muestre barras de Scroll para presentar en toda su extensin a un formulario hijo, cuando las dimensiones de ste superan las de aquel. Aparte de estas propiedades que diferencian un Formulario MDI de un Formulario normal, los Formularios MDI presentan otras particularidades. Insercin de Controles Solamente podrn introducirse en un formulario MDI aquellos controles que tengan la propiedad Align. (Picture, Data, DBGrid) y solo permiten que se presenten con alineacin a uno de los lados del Formulario (Top, Bottom, Left o Right) El control Picture puede trabajar como contenedor de otros controles. Por lo tanto, para poder introducir cualquier control (TextBox, Label, CommandButton ...) ser necesario introducir un control Picture, y sobre el, poner los controles que se necesiten. Lnea de Men. Cuando existe la lnea de Men en un Formulario MDI y en el Formulario Hijo que introduzcamos en l, la lnea de men del Formulario MDI se sustituye por la lnea de men del Formulario Hijo introducido. Barra de Ttulo. La Barra de Ttulo del Formulario MDI se conserva siempre. Pero si el Formulario Hijo insertado dentro de l est maximizado (ocupa toda la extensin del Formulario MDI), a la barra de ttulo se le aadir la barra de Ttulo del Formulario Hijo entre parntesis. Para hacer que un Formulario sea un formulario hijo basta con ponerle su propiedad MDIChild a True. Puede preparar los formularios hijo uno a uno e introducirlos dentro del formulario MDI segn las necesidades de la aplicacin. Este sera el caso de una aplicacin con varias pantallas, todas ellas colocadas sobre una pantalla fija (Formulario MDI) del que se aprovecha quizs alguna parte como parte comn de toda la aplicacin (Men, Ttulo, Barra de herramientas montada sobre un Picture, etc.) Puede tambin darse el caso de introducir un nmero indeterminado de ventanas iguales para realizar varias veces la misma funcin, pero sobre ventanas diferentes. (Caso del procesador de texto que tiene varias ventanas de texto, cada una con un documento. Lo que desconocemos a priori es el nmero de documentos que vamos a editar) Para el primer caso, ser necesario crear cada una de las ventanas, e introducirlas y quitarlas segn pida la aplicacin. En segundo caso, bastar con crear un formulario hijo con todas las partes necesarias para su correcto funcionamiento, y luego, realizar tantas fotocopias de ese formulario como ventanas necesitemos. Lo que introducimos en la aplicacin son precisamente esas fotocopias, pero no el original, que lo seguimos manteniendo intacto para volver a copiarlo si fuese necesario. A esas fotocopias de un formulario las llamamos Instancias. Al original le llamaremos Clase. En realidad una Clase es la definicin de un objeto Visual Basic. Un objeto Visual Basic puede ser un Formulario, un control, un objeto de acceso a datos. La Instancia es la rplica de una clase. Puede ser la rplica de un Formulario, de un control o de otro objeto. La Instancia lleva las mismas Propiedades que la clase. Se dice que hereda las propiedades. (Excepto la propiedad Visible, que siempre, por defecto, aparece a False). Cuando se vara una propiedad de una Instancia, no se altera el valor de esa propiedad en la Clase ni en ninguna de las restantes Instancias. Despus de toda esta teora, podemos saber como se crea una Clase de un formulario ? O dicho de manera mas coloquial, Cmo se crea un Formulario para poder hacer varias fotocopias de l ? La respuesta es obligatoriamente mas sencilla que la teora. Con el formulario vaco que tengamos en el proyecto (Insertemos un Formulario si fuese necesario) pongmosle todos los controles que deseemos. Le podemos poner un Men y cambiar a nuestro antojo todas sus propiedades. Entre ellas, la propiedad MDIChild. Si vamos a introducir las Instancias de ese Formulario en un Formulario MDI esa propiedad debe estar a True, y por lo tanto sus Instancias saldrn igualmente con esa propiedad a True. Pongmosle un nombre y ya est creada la clase. Supongamos que ese nombre es FormularioHijo

Carrera: Computacin e Informtica

Curso: Visual Basic

40Para crear ahora Instancias de ese Formulario podemos hacerlo de dos formas : Declarar una variable tipo Objeto. No se asuste. Para declarar que una variable es un Formulario basta con declararla de la siguiente forma : Dim MiVentana As Form Esta variable debe declararla en sitio adecuado para su aplicacin, y el mbito de esa variable objeto ser el mismo que para cualquier tipo de variable. (Vea Ambito de las Variables) La sentencia a utilizar para la declaracin ser Dim, Private, Public o Global tal como se explic para las variables. Una vez declarada como variable puede hacerla igual a un objeto existente que servir de modelo (Una Clase) que estar definida por un nombre: (P.e. FormularioHijo) Set MiVentana = New FormularioHjo Podemos hacer las dos operaciones a un tiempo : declarar y crear la copia : Dim MiVentana As New FormularioHijo Una vez creado la instancia del formulario debemos cargarlo en el Formulario Padre. Para cargarlo debemos emplear la sentencia Load MiVentana, con lo que quedar cargado en la memoria, pero, dependiendo de como est la propiedad AutoShowChildren del Formulario Padre se mostrar o no se mostrar. Para que se muestre, independientemente de como est esa propiedad, basta con ejecutar MiVentana.Show. En realidad mediante el mtodo Show un formulario no solamente se muestra, sino que tambin se carga en la memoria si no estuviese previamente cargado. Por lo tanto podamos habernos ahorrado la instruccin anterior para cargarlo Load MiVentana Es muy prctico poner un Caption distinto a cada formulario que se introduzca, caso de introducirse varios formularios hijo iguales. El Caption es una propiedad y por lo tanto todas las instancias heredan el Caption de la Clase. Sera prudente distinguir un formulario de otro mediante su Caption, es decir mediante su barra de ttulo. Para ello podemos crear un contador en el mismo procedimiento en el que creamos una nueva instancia, y poner el Caption de cada nuevo Formulario siguiendo un orden numeral. Documento 1, Documento 2, Documento 3, etc. Ese procedimiento quedar de la siguiente forma : Static contador As Integer Dim MiVentana As New FormularioHijo MiVentana.Caption = Documento & Str (contador) MiVentana.Show Referencias a los Formularios. ActiveForm y Me Si queremos nombrar un Formulario Hijo dentro de una aplicacin MDI el primer problema con el que nos encontramos es que todos los formularios hijo (Instancias de la misma Clase) tienen el mismo nombre. Por lo tanto no podemos nombrarlas con ese nombre, ya que la aplicacin no sabra a cual de ellas nos referimos. Si el cdigo donde vamos a nombrar ese formulario est fuera de l (P.e. en el Formulario Padre) deberemos referirnos al formulario hijo mediante ActiveForm. ActiveForm nos va a indicar cual es el formulario que est actualmente activo. Un formulario est activo cuando estamos trabajando sobre l. En ese momento tiene el foco. Permanece activo desde que hacemos click con el ratn sobre cualquiera de sus partes, hasta que activamos otro formulario. Es sencillo reconocer cual es el formulario activo pues tiene su barra de ttulo con el color vivo. Cada vez que hacemos una operacin sobre una parte de un formulario ste se pondr activo. Por ejemplo, si el formulario es un documento de texto, y contiene el texto en un RichTextBox de nombre

Carrera: Computacin e Informtica

Curso: Visual Basic

41RTB1, si queremos hacer una operacin con el texto desde un botn colocado en el formulario padre (poner en negrita el texto seleccionado), haramos lo siguiente : ActiveForm.RTB1.SelBold = True ya que siempre estaremos seguro de que el Formulario Activo es aquel en el que acabamos de seleccionar el texto. Si el botn donde hemos puesto el botn no es el formulario padre, sino el hijo, tenemos un problema similar. Su nombre ser (con los ejemplos anteriores) MiVentana, y pueden existir varios formularios con ese nombre, tantos como documentos hayamos introducido. No podemos por tanto nombrarlo con su nombre, pues hay (o puede haber) varios. Tampoco lo podemos nombrar con ActiveForm, ya que esta propiedad corresponde al Formulario Padre. La solucin es nombrarle mediante Me. Me siempre se refiere al formulario que contiene al procedimiento donde est esa palabra. Por lo tanto, si tenemos un botn en el formulario hijo con la instruccin : Me.RTB1.SelBold = True Me se refiere concretamente a ese formulario. Colocacin de los Formularios Hijo Mtodo ARRANGE

Mediante el mtodo Arrange podemos distribuir los formularios hijo dentro del formulario padre. Pueden colocarse en cascada, mosaico horizontal, mosaico vertical o como iconos. Sintaxis donde NFMDI = Nombre del Formulario MDI distribucin puede tomar los siguientes valores o constantes : Constante vbCascade vbTileHorizontal vbTileVertical VbArrangeIcons Valor 0 1 2 3 Descripcin Dispone todos los formularios MDI secundarios no minimizados en cascada. Dispone todos los formularios MDI secundarios no minimizados en mosaico horizontal. Dispone todos los formularios MDI secundarios no minimizados en mosaico vertical. Dispone los iconos de los formularios MDI minimizados. NFMDI.Arrange distribucin

Las ventanas o los iconos se pueden distribuir incluso si el objeto MDIForm est minimizado. Los resultados son visibles cuando el objeto MDIForm se maximiza. Posicin de los Formularios en el Eje Z Mtodo ZOrder

Cuando tenemos varios formularios hijo, unos ocultan a los otros. Mucho mas si los formularios estn maximizados. Podemos colocar un formulario hijo en la parte frontal del montn de formularios (para que se vea completamente) o llevarle a la posicin mas atrs mediante el Mtodo ZOrder. Sintaxis NFH.ZOrder posicin

Donde NFH = Nombre del Formulario Hijo posicin puede se 0 1. Si es 0 (o si se omite) el formulario se coloca en primer plano. Si es 1 el formulario se coloca en el fondo del eje Z. ZOrder es un mtodo que no solamente se puede emplear con formulario hijo, sino con cualquier instancia. Puede emplearlo tambin con cualquier control. Pero lea detenidamente la Ayuda de este mtodo, ya que no todos los controles la admiten.

Carrera: Computacin e Informtica

Curso: Visual Basic

42Mostrar los Formularios existentes mediante el Men -- Propiedad WindowList Al explicar el Editor de mens casi se pas por alto una propiedad del men : WindowList. Cuando se activa esta propiedad (Puede activarse para una sola palabra del men. Si se pretende activar para mas de una dar un error), esa palabra que tiene activada la propiedad WindowList mostrar al hacer click sobre ella, en un men desplegable, el Caption (Barra de Ttulo) de todos los formularios hijo cargados en ese instante en la aplicacin. Pueden estar incluso minimizados.

CAPITULO VI

Diseo de MenEl Men o Barra de Men es la segunda lnea de cualquier ventana Windows, donde pueden verse distintos nombres. La Barra de Men es un componente de un Formulario. La Barra de Men puede tener tantas palabras como se desee, y sobre cada palabra, puede desplegarse un Men desplegable con mas palabras. Sobre cada una de estas puede a su vez desplegarse otro conjunto de palabras, etc. con lo que se puede conseguir una cantidad de palabras tan grande como necesitemos.

Para cada palabra se produce el evento click. Cada palabra de la Barra de Men lleva anexo un nico procedimiento, que se ejecutar al hacer click sobre la palabra. Pero en las palabras que sirven para desplegar un men no tiene sentido que se ponga ningn cdigo en su procedimiento, ya que estn ah justamente para desplegar otras palabras. Ser en las palabras finales donde se colocar el cdigo correspondiente. En las figuras anteriores pueden verse tres formas distintas de ver el mismo Men. En la primera figura el Men est sin desplegar. En la segunda figura puede verse un rbol de Men largo, desplegado en su totalidad. En la tercera puede verse el Men desplegable de la palabra Archivo de la Barra de Men. Puede apreciarse en este men desplegable una lnea que separa las palabras Guardar Como y SALIR. Esta lnea separadora es muy prctica para separar dos temas distintos

Carrera: Computacin e Informtica

Curso: Visual Basic

43dentro de un Men desplegable. Tan distintos como las operaciones de Abrir y Guardar respecto a la ltima orden del men desplegable que es SALIR de la aplicacin. Para crear un men debe usarse el Editor de Men, que se encuentra en la Barra de Men de VB en Herramientas | Editor de mens. Le aparecer el siguiente cuadro. (En principio vaco)

Cada palabra del men tiene su Caption (La palabra que aparece en el men), su Name (Nombre), y puede tener Index (si existen va