Curso de Visual Basic1

Embed Size (px)

Citation preview

  • 8/6/2019 Curso de Visual Basic1

    1/27

    Curso de Visual Basic (parte I)

    Qu es Visual Basic? La palabra "Visual" hace referencia al mtodo que se utiliza paracrear la interfaz grfica de usuario (GUI). En lugar de escribir numerosas lneas de cdigo

    para describir la apariencia y la ubicacin de los elementos de la interfaz, simplementepuede arrastrar y colocar objetos prefabricados en su lugar dentro de la pantalla. Si hautilizado alguna vez un programa de dibujo como Paint, ya tiene la mayor parte de lashabilidades necesarias para crear una interfaz de usuario efectiva.

    La palabra "Basic" hace referencia al lenguaje BASIC (Beginners All-Purpose SymbolicInstruction Code), un lenguaje utilizado por ms programadores que ningn otro lenguajeen la historia de la informtica o computacin. Visual Basic ha evolucionado a partir dellenguaje BASIC original y ahora contiene centenares de instrucciones, funciones ypalabras clave, muchas de las cuales estn directamente relacionadas con la interfazgrfica de Windows. Los principiantes pueden crear aplicaciones tiles con slo aprenderunas pocas palabras clave, pero, al mismo tiempo, la eficacia del lenguaje permite a los

    profesionales acometer cualquier objetivo que pueda alcanzarse mediante cualquier otrolenguaje de programacin de Windows.

    El lenguaje de programacin Visual Basic no es exclusivo de Visual Basic. La Edicin paraaplicaciones del sistema de programacin de Visual Basic, incluida en Microsoft Excel,Microsoft Access y muchas otras aplicaciones Windows, utilizan el mismo lenguaje. Elsistema de programacin de Visual Basic, Scripting Edition (VBScript) para programar enInternet es un subconjunto del lenguaje Visual Basic. La inversin realizada en elaprendizaje de Visual Basic le ayudar a abarcar estas otras reas.

    Si su objetivo es crear un pequeo programa para su uso personal o para su grupo detrabajo, un sistema para una empresa o incluso aplicaciones distribuidas de alcance

    mundial a travs de Internet, Visual Basic dispone de las herramientas que necesita. Las caractersticas de acceso a datos le permiten crear bases de datos y aplicaciones

    cliente para los formatos de las bases de datos ms conocidas, incluidos MicrosoftSQL Server y otras bases de datos de mbito empresarial.

    Las tecnologas ActiveX le permiten utilizar la funcionalidad proporcionada por otrasaplicaciones, como el procesador de textos Microsoft Word, la hoja de clculo MicrosoftExcel y otras aplicaciones Windows. Puede incluso automatizar las aplicaciones y losobjetos creados con la Edicin profesional o la Edicin empresarial de Visual Basic.

    Las capacidades de Internet facilitan el acceso a documentos y aplicaciones a travsde Internet desde su propia aplicacin.

    La aplicacin terminada es un autntico archivo .exe que utiliza una biblioteca devnculos dinmicos (DLL) de tiempo de ejecucin que puede distribuir con toda libertad.

    Ediciones de Visual Basic

    Visual Basic se encuentra disponible en tres versiones, cada una de las cuales estorientada a unos requisitos de programacin especficos.

  • 8/6/2019 Curso de Visual Basic1

    2/27

    La Edicin de aprendizaje de Visual Basic permite a los programadores crear robustasaplicaciones para Microsoft Windows 95 y Windows NT. Incluye todos los controlesintrnsecos, adems de los controles de cuadrcula, de fichas y los controles enlazadosa datos. La documentacin que se proporciona con esta edicin incluye Learn VB Now(un CD-ROM multimedia), un Manual del programadorimpreso, la Ayuda en pantalla ylos Libros en pantalla de Visual Basic.

    La Edicin profesional proporciona a los profesionales un completo conjunto deherramientas para desarrollar soluciones para terceros. Incluye todas lascaractersticas de la Edicin de aprendizaje, as como controles ActiveX adicionales,incluidos controles para Internet y el Generador de informes de Crystal Reports. Ladocumentacin que se proporciona con la Edicin profesional incluye el Manual del

    programador, la Ayuda en pantalla, la Gua de herramientas componentes y el Manualdel usuario de Crystal Reports para Visual Basic.

    La Edicin empresarial permite a los profesionales crear slidas aplicacionesdistribuidas en un entorno de equipo. Incluye todas las caractersticas de la Edicinprofesional, as como el Administrador de automatizacin, la Galera de objetos, lasherramientas de administracin de bases de datos, el sistema de control de versiones

    orientado a proyectos Microsoft Visual SourceSafe, etc. La documentacin impresaque se proporciona con la Edicin empresarial incluye toda la documentacin de laEdicin profesional, y la Gua para la creacin de aplicaciones cliente-servidor conVisual Basicy el Manual del usuario de SourceSafe.

    1- Introduccin:

    1.1- Programacin orientada a objetos.

    1.1.1- Objetos.

    Un objeto es una entidad que tiene asociado un conjunto de mtodos, eventos y propiedades. Ejemplo :Una caja de texto (TextBox) en la cual podemos escribir cualquier lnea es un objeto.

    1.1.2- Propiedades.

    Son las caractersticas que posee un objeto o un formulario (ventana de Windows).Ejemplo : Color de fondo del formulario, Fuente de texto de un TextBox, .

    1.1.3- Mtodos.

    Los mtodos son funciones internas de un determinado objeto que permite realizar funciones sobre l osobre otro objeto.Ejemplo : Deseamos poner en la ventana Windows de nuestra aplicacin "Hola mundo", por tantopondremos el mtodo -> Ventana.Print "Hola mundo"

  • 8/6/2019 Curso de Visual Basic1

    3/27

    1.1.4- Eventos.

    Los eventos son acciones que se pueden realizar en cualquier control: click, doble click, movimientodel ratn. A estos eventos se les puede asociar cdigo para que se ejecute al producir el evento.Un programa Visual Basic es un POE (Programa orientado a eventos).Todo lo que hacemos en un programa Visual Basic est generado por medio de eventos

    1.1.5- Explicacin integrada y ejemplo de Objetos, Propiedades, Mtodos y Eventos.

    Los formularios y controles de Visual Basic son objetos que exponen sus propios mtodos,propiedades y eventos. Las propiedades se pueden considerar como atributos de un objeto, losmtodos como sus acciones y los eventos como sus respuestas.Un objeto de uso diario como el globo de un nio tiene tambin propiedades, mtodos y eventos. Entre las propiedadesde un globo se incluyen atributos visibles como el peso, el dimetro y el color. Otras propiedades describen su estado(inflado o desinflado) o atributos que no son visibles, como su edad. Por definicin, todos los globos tienen estas

    propiedades; lo que vara de un globo a otros son los valores de estas propiedades.Un globo tiene tambin mtodos o acciones inherentes que puede efectuar. Tiene un mtodo inflar

    (la accin de llenarlo de helio) o un mtodo desinflar (expeler su contenido) y un mtodo elevarse (sise deja escapar). De nuevo, todos los globos pueden efectuar estos mtodos.Los globos tienen adems respuestas predefinidas a ciertos eventos externos. Por ejemplo, un globorespondera al evento de pincharlo desinflndose o al evento de soltarlo elevndose en el aire.Los objetos tienen propiedades, responden a eventos y ejecutan mtodos:Si se pudiera programar un globo, el cdigo de Visual Basic podra ser como el siguiente. Paraestablecer las propiedades del globo:Globo.Color = RojoGlobo.Dimetro = 10Globo.Inflado = True

    Observe la sintaxis del cdigo: el objeto (Globo) seguido de la propiedad (Color) seguida de laasignacin del valor (Rojo). Podra modificar el color del globo desde el cdigo si repitiera estainstruccin y sustituyera el valor por otro diferente. Las propiedades tambin se pueden estableceren la ventana Propiedades mientras se est diseando la aplicacin.Los mtodos de un globo se invocan de esta forma:Globo.InflarGlobo.DesinflarGlobo.Elevar 5La sintaxis es similar a la sintaxis de las propiedades: el objeto (un nombre) seguido de un mtodo

    (un verbo). En el tercer ejemplo hay un elemento adicional, llamado argumento, que indica ladistancia que se eleva. Algunos mtodos tendrn uno o ms argumentos para describir ms a fondola accin que se va a ejecutar.El globo puede responder a un evento como se muestra a continuacin:Sub Globo_Pinchazo()

    Globo.DesinflarGlobo.HacerRuido "Bang"Globo.Inflado = FalseGlobo.Dimetro = 1

  • 8/6/2019 Curso de Visual Basic1

    4/27

    End SubEn este caso, el cdigo describe el comportamiento del globo cuando se produce un eventoPinchazo: invoca el mtodo Desinflar y luego invoca el mtodo HacerRuido con un argumentoBang (el tipo de ruido que se va a hacer). Como el globo ya no est inflado, la propiedad Infladotiene el valor False y la propiedad Dimetro adopta un nuevo valor.

    Si bien no puede programar un globo, s puede programar un formulario o un control de Visual Basic.Como programador, tiene el control: decide qu propiedades se deben modificar, qu mtodos sedeben invocar o a qu eventos hay que responder para conseguir la apariencia y el comportamientodeseados

    1.1.6- Diferencias entre la programacin procedural y la programacin bajo Windows.

    Un estudio profundo del funcionamiento interno de Windows necesitara un libro completo. No esnecesario tener un profundo conocimiento de todos los detalles tcnicos. Una versin reducida delfuncionamiento de Windows incluye tres conceptos clave: ventanas, eventos y mensajes.

    Una ventana es simplemente una regin rectangular con sus propios lmites. Probablemente ya sabeque hay varios tipos de ventanas: una ventana Explorador en Windows 95, una ventana dedocumento dentro de su programa de proceso de textos o un cuadro de dilogo que emerge pararecordarle una cita. Aunque stos son los ejemplos ms comunes, realmente hay otros muchos tiposde ventanas. Un botn de comando es una ventana. Los iconos, cuadros de texto, botones de opciny barras de mens son todos ventanas.El sistema operativo Microsoft Windows administra todas estas ventanas asignando a cada una unnico nmero identificador (controlador de ventana o hWnd). El sistema controla continuamentecada una de estas ventanas para ver si existen signos de actividad o eventos. Los eventos puedenproducirse mediante acciones del usuario, como hacer clic con el mouse (ratn) o presionar unatecla, mediante programacin o incluso como resultado de acciones de otras ventanas.

    Cada vez que se produce un evento se enva un mensaje al sistema operativo. El sistema procesa elmensaje y lo transmite a las dems ventanas. Entonces, cada ventana puede realizar la accinapropiada, basndose en sus propias instrucciones para tratar ese mensaje en particular (por ejemplo,volverse a dibujar cuando otra ventana la ha dejado al descubierto).Como puede imaginar, tratar todas las combinaciones posibles de ventanas, eventos y mensajespodra ser interminable. Afortunadamente, Visual Basic le evita tener que tratar con todos loscontroladores de mensajes de bajo nivel. Muchos de los mensajes los controla automticamenteVisual Basic, mientras que otros se tratan como procedimientos de evento para su comodidad. Estole permite crear rpidamente eficaces aplicaciones sin tener que tratar detalles innecesarios.En las aplicaciones tradicionales o "por procedimientos", la aplicacin es la que controla qu partesde cdigo y en qu secuencia se ejecutan. La ejecucin comienza con la primera lnea de cdigo ycontina con una ruta predefinida a travs de la aplicacin, llamando a los procedimientos segn senecesiten.En una aplicacin controlada por eventos, el cdigo no sigue una ruta predeterminada; ejecutadistintas secciones de cdigo como respuesta a los eventos. Los eventos pueden desencadenarse poracciones del usuario, por mensajes del sistema o de otras aplicaciones, o incluso por la propiaaplicacin. La secuencia de estos eventos determina la secuencia en la que se ejecuta el cdigo, porlo que la ruta a travs del cdigo de la aplicacin es diferente cada vez que se ejecuta el programa.Puesto que no puede predecir la secuencia de los eventos, el cdigo debe establecer ciertossupuestos acerca del "estado del mundo" cuando se ejecute. Cuando haga suposiciones (por ejemplo,

  • 8/6/2019 Curso de Visual Basic1

    5/27

    que un campo de entrada debe contener un valor antes de ejecutar un procedimiento para procesarese valor), debe estructurar la aplicacin de forma que asegure que esa suposicin siempre servlida (por ejemplo, deshabilitando el botn de comando que inicia el procedimiento hasta que elcampo de entrada contenga un valor).El cdigo tambin puede desencadenar eventos durante la ejecucin. Por ejemplo, cambiar medianteprogramacin el texto de un cuadro de texto hace que se produzca el evento Change del cuadro de

    texto. Esto causara la ejecucin del cdigo (si lo hay) contenido en el evento Change. Si supone queeste evento slo se desencadenar mediante la interaccin del usuario, podra ver resultadosinesperados. Por esta razn es importante comprender el modelo controlado por eventos y tenerlo encuenta cuando disee su aplicacin.

    1.3- Proyecto.

    1.3.1- Definicin de Proyecto en Visual Basic.

    Para crear una aplicacin con Visual Basic se trabaja con proyectos. Un proyecto es una coleccinde archivos que se usan para generar una aplicacin. Este tema describe cmo generar y administrarproyectos.Al crear una aplicacin probablemente crear nuevos formularios; tambin puede volver a usar omodificar formularios creados en proyectos anteriores. Esto tambin se aplica a otros mdulos oarchivos que pueda incluir en su proyecto. Los controles ActiveX y los objetos de otras aplicacionestambin se pueden compartir entre proyectos.Despus de ensamblar todos los componentes de un proyecto y escribir el cdigo, puede compilar elproyecto para crear un archivo ejecutable.

    1.3.2-Componentes de un Proyecto.

    Cuando desarrolla un aplicacin, trabaja con un archivo de proyecto para administrar todos losdiferentes archivos que crea. Un proyecto consta de lo siguiente: Un archivo de proyecto que realiza el seguimiento de todos los componentes (.vbp) Un archivo para cada formulario (.frm). Un archivo de datos binario para cada formulario que contenga datos sobre propiedades de

    controles del formulario (.frx). Estos archivos no se pueden modificar y los generaautomticamente cualquier archivo .frm que tenga propiedades en formato binario, comoPicture o Icon.

    Opcionalmente, un archivo para cada mdulo de clase (.cls). Opcionalmente, un archivo para cada mdulo estndar (.bas). Opcionalmente, uno o ms archivos con controles ActiveX (.ocx). Opcionalmente, un nico archivo de recursos (.res).El archivo de proyecto es simplemente una lista de todos los archivos y objetos asociados con elproyecto, as como informacin sobre las opciones de entorno establecidas. Esta informacin seactualiza cada vez que guarda el proyecto. Todos los archivos y objetos tambin se puedencompartir con otros proyectos.

  • 8/6/2019 Curso de Visual Basic1

    6/27

    Cuando ha completado todos los archivos del proyecto puede convertir el proyecto en un archivoejecutable (.exe): en el men Archivo, elija el comando Generarproyecto.exe.

    1.3.2.1-Formularios.

    Un formulario es una ventana. La ventana Windows de cualquier aplicacin.

    Podemos abrir tantas ventanas como queramos en nuestro proyecto, pero el nombre de las ventanasdebe ser distinto. Por defecto como ya hemos visto, la ventana que se abre en Visual Basic tiene elnombre de Form1. Ya veremos como cambiar estas "Propiedades" ms adelante.Los mdulos de formularios (extensin de nombre de archivo .frm) pueden contener descripcionesen forma de texto del formulario y sus controles, incluyendo los valores de sus propiedades.Tambin pueden contener declaraciones a nivel de formulario de constantes, variables yprocedimientos externos, procedimientos de evento y procedimientos generales.1.3.2.2-Mdulos de clase.

    Los mdulos de clase (extensin de nombre de archivo .cls) son similares a los mdulos deformulario, excepto en que no tiene interfaz de usuario visible. Puede usar mdulos de clase paracrear sus propios objetos, incluyendo cdigo para mtodos y propiedades.

    1.3.2.3-Mdulos estndar.

    Un mdulo es un archivo Visual Basic donde escribimos parte del cdigo de nuestro programa, y digoparte, porque puede haber cdigo en el formulario tambin.Las rutinas incluidas dentro de los mdulos pueden ser ejecutadas desde los formularios de laaplicacin.Los mdulos estndar (extensin de nombre de archivo .bas) pueden contener declaraciones pblicas o a nivel de mdulo de tipos, constantes, variables, procedimientos externos yprocedimientos pblicos.

    1.3.2.4-Archivos de Recursos.

    Los archivos de recursos (extensin de nombre de archivo .res) contienen mapas de bits, cadenas de texto y otros datosque puede modificar sin volver a modificar el cdigo. Por ejemplo, si piensa traducir su aplicacin a un idiomaextranjero, puede guardar todas las cadenas de texto de la interfaz de usuario y los mapas de bits en un archivo derecursos, y simplemente traducir el archivo de recursos en vez de la aplicacin completa. Un proyecto slo puedecontener un archivo de recursos.

    1.3.2.5-Controles Active X.

    Los controles ActiveX (extensin de nombre de archivo .ocx) son controles opcionales que sepueden agregar al cuadro de herramientas y se pueden usar en formularios. Cuando instala Visual

    Basic, los archivos que contienen los controles incluidos en Visual Basic se copian a un directoriocomn (el subdirectorio \Windows\System en Windows 95). Existen controles ActiveX adicionalesdisponibles en diversas fuentes. Tambin puede crear sus propios controles mediante las edicionesProfesional y Empresarial de Visual Basic.1.3.2.6-Controles estndar.

    Los controles estndar los proporciona Visual Basic. Los controles estndar, como CommandButton(botn de comando) o Frame (marco), siempre estn incluidos en el cuadro de herramientas, al

  • 8/6/2019 Curso de Visual Basic1

    7/27

    contrario de lo que ocurre con los controles ActiveX y los objetos insertables, que se pueden agregary quitar del cuadro de herramientas.

    1.4-Entorno de Desarrollo.

    1.4.1-Barra de men. y 1.4.2-Barra de Herramientas.

    En la ventana del programa, podemos hacer todas las funciones normales que nos permite elcompilador Visual Basic.

    1.4.3-Ventana de Proyecto.

    Pulse "Ctrl+R" (Ver -> Proyecto) y se abrir la ventana de proyectos (3).En esta ventana tenemos todos los ficheros del proyecto Visual Basic en el que vamos a trabajar.

    1.4.4- Formulario.

    Al principio y por defecto, el programa abre un formulario con el nombre Form1 que es la ventanaWindows de nuestra aplicacin.

    1.4.5- Ventana de Propiedades.

  • 8/6/2019 Curso de Visual Basic1

    8/27

    Pulsando la tecla "F4", aparecer la ventana de propiedades . Esta ventana es fundamental, ya quecontiene todas las propiedades de cada objeto que insertaremos en nuestro formulario, as como laspropiedades del formulario en s.

    1.4.6- Caja de Herramientas.

    La ventana caja de herramientas contiene todos los objetos que podemos incluir en nuestro formulario.Esta ventana se puede abrir en el men principal (Ver -> Caja de herramientas).

  • 8/6/2019 Curso de Visual Basic1

    9/27

    2-Programacin:

    2.1- Fundamentos de la Programacin.

    Cada mdulo de formulario contiene procedimientos de evento (secciones de cdigo donde se

    colocan las instrucciones que se ejecutarn como respuesta a eventos especficos). Los formulariospueden contener controles. Por cada control de un formulario, existe el correspondiente conjunto deprocedimientos de evento en el mdulo de formulario. Adems de procedimientos de evento, losmdulos de formulario pueden contener procedimientos generales que se ejecutan como respuesta auna llamada desde cualquier procedimiento de evento.El cdigo que no est relacionado con un control o un formulario especfico se puede colocar en untipo diferente de mdulo, un mdulo estndar (.bas). Se deben colocar en un mdulo estndar losprocedimientos que se puedan utilizar como respuesta a eventos de diversos objetos, en lugar deduplicar el cdigo en los procedimientos de evento de cada objeto.

    2.1.1- Como funciona una aplicacin controlada por eventos.Un evento es una accin reconocida por un formulario o un control. Las aplicaciones controladaspor eventos ejecutan cdigo Basic como respuesta a un evento. Cada formulario y control de VisualBasic tiene un conjunto de eventos predefinidos. Si se produce uno de dichos eventos y elprocedimiento de evento asociado tiene cdigo, Visual Basic llama a ese cdigo.Aunque los objetos de Visual Basic reconocen automticamente un conjunto predefinido de eventos,usted decide cundo y cmo se responder a un evento determinado. A cada evento le correspondeuna seccin de cdigo (un procedimiento de evento). Cuando desea que un control responda a unevento, escribe cdigo en el procedimiento de ese evento.Los tipos de eventos reconocidos por un objeto varan, pero muchos tipos son comunes a la mayora de los controles.

    Por ejemplo, la mayora de los objetos reconocen el evento Click: si un usuario hace clic en un formulario, se ejecuta elcdigo del procedimiento de evento Click del formulario; si un usuario hace clic en un botn de comando, se ejecuta elcdigo del procedimiento de evento Click del botn. El cdigo en cada caso ser diferente.He aqu una secuencia tpica de eventos en una aplicacin controlada por eventos:1. Se inicia la aplicacin y se carga y muestra un formulario.2. El formulario (o un control del formulario) recibe un evento. El evento puede estar causado por elusuario (por ejemplo, por la pulsacin de una tecla), por el sistema (por ejemplo, un evento decronmetro) o, de forma indirecta, por el cdigo (por ejemplo, un evento Load cuando el cdigocarga un formulario).3. Si hay cdigo en el procedimiento de evento correspondiente, se ejecuta.4. La aplicacin espera al evento siguiente.

    2.2- Variables.

    2.2.1- Alcance de las variables.

    El alcance de una variable define qu partes del cdigo son conscientes de su existencia. Cuando declara una variable enun procedimiento, slo el cdigo de dicho procedimiento puede tener acceso o modificar el valor de la variable; tiene unalcance que es local al procedimiento. A veces, sin embargo, se necesita utilizar una variable con un alcance msgeneral, como aquella cuyo valor est disponible para todos los procedimientos del mismo mdulo o incluso para todos

  • 8/6/2019 Curso de Visual Basic1

    10/27

    los procedimientos de toda la aplicacin. Visual Basic le permite especificar el alcance de una variable cuando ladeclara.Establecimiento del alcance de las variables

    Dependiendo de cmo se declara, una variable tiene como alcance un procedimiento (local) o unmdulo.Alcance Privado PblicoNivel de procedimiento Las variables son privadas

    del procedimiento en el queaparecen.

    No es aplicable. No puededeclarar variables pblicasdentro de un procedimiento.

    Nivel de mdulo Las variables son privadasdel mdulo en el queaparecen.

    Las variables estndisponibles para todos losmdulos.

    Variables utilizadas en un procedimientoLas variables a nivel de procedimiento slo se reconocen en el procedimiento en el que se handeclarado. Se las conoce tambin como variables locales. Se declaran mediante las palabras claveDim o Static. Por ejemplo:Dim intTemp As Integer o bien Static intPermanent As IntegerLos valores de variables locales declaradas con Static existen mientras se ejecuta la aplicacin,mientras que las variables declaradas con Dim slo existen mientras se ejecuta el procedimiento.Las variables locales resultan una eleccin apropiada para clculos temporales. Por ejemplo, puedecrear una docena de procedimientos distintos que contengan una variable llamada intTemp. Comocada intTemp se ha declarado como una variable local, cada procedimiento slo reconoce su propiaversin de intTemp. Cualquier procedimiento puede alterar el valor de su intTemp local sin que elloafecte a las variables intTemp de los dems procedimientos.Variables utilizadas en un mduloDe forma predeterminada, una variable a nivel de mdulo est disponible para todos losprocedimientos del mdulo, pero no para el cdigo de otros mdulos. Cree variables a nivel demdulo declarndolas con la palabra clave Private en la seccin Declaraciones al principio delmdulo. Por ejemplo:Private intTemp As IntegerA nivel de mdulo, no hay diferencia entre Private y Dim, pero es preferible Private porquecontrasta con Public y hace que el cdigo sea ms fcil de comprender.

    Variables utilizadas por todos los mdulosPara hacer que una variable a nivel de mdulo est disponible para otros mdulos, utilice la palabraclave Public para declarar la variable. Los valores de las variables pblicas estn disponibles para

  • 8/6/2019 Curso de Visual Basic1

    11/27

    todos los procedimientos de la aplicacin. Al igual que todas las variables a nivel de mdulo, lasvariables pblicas se declaran en la seccin Declaraciones al principio del mdulo. Por ejemplo:Public intTemp As IntegerNota No puede declarar variables pblicas en un procedimiento, slo en la seccin Declaracionesde un mdulo.

    2.2.2- Declaracin

    La forma de declarar las variables es la siguiente:

    Dim| Public| Static nombre_variable As tipo

    Dim: Al declarar una variable con esta palabra estamos diciendo que la variable sea local al mbito en que sedeclara. Puede ser dentro de un procedimiento o dentro de un formulario, de esta forma no sera accesible desde los dems

    procedimientos o formularios.

    Public: Las variables declaradas sern publicas y podrn estar accesibles desde todos los formularios de laaplicacin. Para conseguirlo tendremos que declararlas en un mdulo de cdigo, no en la seccin declarations de cualquierformulario de los que conste la aplicacin. Para crear un mdulo de cdigo en el men principal de Visual Basic marcamos

    en PROYECTO/INSETAR MDULO y aparecer junto a los dems formularios de la ventana de proyecto aunque con unicono distinto indicando que se trata de un mdulo de cdigo.

    Static: Con esta forma de declarar variables conseguiremos que las variables locales no se creen y se destruyan alentrar y salir de los procedimientos donde fueron declaradas sino que se mantenga su valor durante todo el periodo deejecucin de la aplicacin. De esta forma a entrar en algn procedimiento las variables recuerdan el valor que tenan cuandose sali de l.

    2.2.3- Tipos de variables

    PRIVATETIPO

    COMENTARIO

    BOOLEANSlo admite 2 valores TRUE o

    FALSEBYTE admite valores entre 0 y 255

    INTEGERadmite valores entre -32768 y

    32767

    LONGadmite valores entre

    -2.147.483.648 y 2.147.483.647

    SINGLEadmite valores decimales con

    precisin simple

    DOUBLEadmite valores decimales de doble

    precisinCURRENCY vlido para valores de tipo moneda

    STRING cadenas de caracteresDATE fechas, permite operar con ellas

    2.2.4- Matrices

    Para declarar matrices debemos colocar entre parntesis el nmero de elementos de los que constar acontinuacin del nombre de la variable:

    Dim medidas(9) as integer

    De esta forma tenemos una matriz de 10 elementos identificados del 0 al 9

  • 8/6/2019 Curso de Visual Basic1

    12/27

    Podemos obligar a que el primer elemento de una matriz tenga el ndice con valor 1.

    Esto lo haremos colocando la instruccin option base 1 en la seccin declarations de nuestro formulario.

    Tambin podemos indicar los lmites inferior y superior de la matriz:

    Dim medidas(5 to 14) as integer

    es una matriz de 10 elementos cuyos indices van del 5 al 14

    Las matrices multidimensionales se declaran de la siguiente forma:

    Dim medidas(1 to 10, 1 to 10) as integer

    CONSIDERACIONES

    Al trabajar con Visual Basic es preferible que activemos la opcin que nos obligue a declarar todas las variablesque utilicemos, de esta forma nos ahorraremos errores inesperados como el de trabajar con una variable ya utilizadaanteriormente producindose un conflicto dficil de resolver. En cambio si intentamos declarar 2 variables con el mismonombre, en el mismo formulario o procedimiento se produce un error en tiempo de edicin avisndonos de la situacin.

    Para activar esta opcin debemos ir a la opcin del men Herramientas y Opciones para que aparezca un cuadro dedialogo como este.

    PRIVATE

    La opcin que nos interesa activar esRequerir declaracin de variables que en este caso ya lo est. De esta formaen cada seccin declarations de cada formulario aparecer la sentencia option explicit

    Otra opcin que es interesante activar, es la de Guardar los cambios en la ficha entorno, la cual te guarda unacopia del cdigo antes de ejecutarlo por si acaso luego no podemos, se bloquea la aplicacin etc... no suele pasar pero

    nunca se sabe. De esta forma te aseguras que lo ltimo que hayas ejecutado lo tienes guardado en el disco.La opcin Comprobacin automtica de sintaxis normalmente viene activada por defecto, no conviene

    desactivarla puesto que te avisa de errores de sintaxis conforme vas escribiendo el cdigo: Si te falta el then despus del if,el do antes del while etc...

    2.3- Procedimientos y funciones.

  • 8/6/2019 Curso de Visual Basic1

    13/27

    2.3.1-Introduccin a los Procedimientos.

    Puede simplificar las tareas de programacin si divide los programas en componentes lgicos mspequeos. Estos componentes, llamadosprocedimientos, pueden convertirse en bloques bsicos quele permiten mejorar y ampliar Visual Basic.Los procedimientos resultan muy tiles para condensar las tareas repetitivas o compartidas, como

    clculos utilizados frecuentemente, manipulacin de texto y controles, y operaciones con bases dedatos.Hay dos ventajas principales cuando se programa con procedimientos: Los procedimientos le permiten dividir los programas en unidades lgicas discretas, cada una de

    las cuales se puede depurar ms fcilmente que un programa entero sin procedimientos. Los procedimientos que se utilizan en un programa pueden actuar como bloques de construccin

    de otros programas, normalmente con pocas o ninguna modificacin.

    En Visual Basic se utilizan varios tipos de procedimientos: Procedimientos Sub que no devuelven un valor. Procedimientos Function que devuelven un valor (normalmente conocidos como funciones).

    2.3.2- Procedimientos.

    Un procedimiento Sub es un bloque de cdigo que se ejecuta como respuesta a un evento. Al dividirel cdigo de un mdulo en procedimientos Sub, es ms sencillo encontrar o modificar el cdigo dela aplicacin.La sintaxis de un procedimiento Sub es la siguiente:[Private|Public][Static]Sub nombre_procedimiento (argumentos) instruccionesEnd Sub

    Cada vez que se llama al procedimiento se ejecutan las instrucciones que hay entre Sub y End Sub.Se pueden colocar los procedimientos Sub en mdulos estndar, mdulos de clase y mdulos deformulario. De forma predeterminada, los procedimientos Sub son Public en todos los mdulos, loque significa que se les puede llamar desde cualquier parte de la aplicacin.Los argumentos de un procedimiento son como las declaraciones de variables; se declaran valoresque se pasan desde el procedimiento que hace la llamada.Resulta muy til en Visual Basic distinguir entre dos tipos de procedimientos Sub,procedimientosgenerales yprocedimientos de evento.Procedimientos generalesUn procedimiento general indica a la aplicacin cmo realizar una tarea especfica. Una vez que sedefine un procedimiento general, se le debe llamar especficamente desde la aplicacin. Por elcontrario, un procedimiento de evento permanece inactivo hasta que se le llama para responder aeventos provocados por el usuario o desencadenados por el sistema.Por qu crear procedimientos generales? Una razn es que muchos procedimientos de evento distintospueden necesitar que se lleven a cabo las mismas acciones. Es una buena estrategia de programacincolocar las instrucciones comunes en un procedimiento distinto (un procedimiento general) y hacer que

  • 8/6/2019 Curso de Visual Basic1

    14/27

    los procedimientos de evento lo llamen. Esto elimina la necesidad de duplicar cdigo y tambin haceque la aplicacin sea ms fcil de mantener.

    Procedimientos de eventoCuando un objeto en Visual Basic reconoce que se ha producido un evento, llama automticamente al procedimiento de

    evento utilizando el nombre correspondiente al evento. Como el nombre establece una asociacin entre el objeto y elcdigo, se dice que los procedimientos de evento estn adjuntos a formularios y controles.

    Un procedimiento de evento de un control combina el nombre real del control (especificado enla propiedad Name), un carcter de subrayado (_) y el nombre del evento. Por ejemplo, si deseaque un botn de comando llamado cmdPlay llame a un procedimiento de evento cuando se hagaclic en l, utilice el procedimiento cmdPlay_Click.

    Un procedimiento de evento de un formulario combina la palabra "Form", un carcter desubrayado y el nombre del evento. Si desea que un formulario llame a un procedimiento deevento cuando se hace clic en l, utilice el procedimiento Form_Click. (Como los controles, losformularios tienen nombres nicos, pero no se utilizan en los nombres de los procedimientos deevento.)

    Todos los procedimientos de evento utilizan la misma sintaxis general.Sintaxis de un evento de control Sintaxis de un evento de formularioPrivate Subnombrecontrol_nombreevento (argumentos) instruccionesEnd Sub

    Private SubForm_nombreevento (argumentos) instruccionesEnd Sub

    Aunque puede escribir procedimientos de evento nuevos, es ms sencillo utilizar los procedimientosde cdigo que facilita Visual Basic, que incluyen automticamente los nombres correctos deprocedimiento. Puede seleccionar una plantilla en la ventana Editor de cdigo si selecciona unobjeto en el cuadro Objeto y selecciona un procedimiento en el cuadro Procedimiento.Tambin es conveniente establecer la propiedad Name de los controles antes de empezar a escribirlos procedimientos de evento para los mismos. Si cambia el nombre de un control tras vincularle unprocedimiento, deber cambiar tambin el nombre del procedimiento para que coincida con el nuevonombre del control. De lo contrario, Visual Basic no ser capaz de hacer coincidir el control con elprocedimiento. Cuando el nombre de un procedimiento no coincide con el nombre de un control, seconvierte en un procedimiento general.

    2.3.3- Funciones.

    La sintaxis de un procedimiento Function es la siguiente:[Private|Public][Static]Function nombre_procedimiento (argumentos) [Astipo] instruccionesEnd Function

  • 8/6/2019 Curso de Visual Basic1

    15/27

    Al igual que un procedimiento Sub, un procedimiento Function es un procedimiento diferente quepuede tomar argumentos, realizar una serie de instrucciones y cambiar el valor de los argumentos. Adiferencia de los procedimientos Sub, los procedimientos Function pueden devolver un valor alprocedimiento que realiza la llamada. Hay tres diferencias entre los procedimientos Sub y Function: Generalmente, se llama a una funcin incluyendo el nombre y los argumentos del procedimiento

    en la parte derecha de una instruccin o expresin mayor (valor_retorno = funcin()). Los procedimientos Function tienen tipos de datos, al igual que las variables. Esto determina el

    tipo del valor de retorno. (En ausencia de la clusula As, el tipo es el tipo predeterminadoVariant.)

    Se devuelve un valor asignndole al propio nombre_procedimiento. Cuando el procedimientoFunction devuelve un valor, se puede convertir en parte de una expresin mayor.

    Por ejemplo, podra escribir una funcin que calculara el tercer lado, o hipotenusa, de un tringulorectngulo, dados los valores de los otros dos lados:Function Hipotenusa (A As Integer, B As Integer) As String

    Hipotenusa = Sqr(A ^ 2 + B ^ 2)

    End FunctionSe llama a un procedimiento Function de la misma forma que a las funciones incorporadas enVisual Basic:Label1.Caption = Hipotenusa(CInt(Text1.Text),CInt(Text2.Text))strX = Hipotenusa(Width, Height)

    2.3.4- Llamadas a Procedimientos.

    Un procedimiento Sub difiere de un procedimiento Function en que al procedimiento Sub no se le

    puede llamar mediante su nombre en una expresin. La llamada a un procedimiento Sub es unainstruccin nica. Adems, un procedimiento Sub no devuelve un valor en su nombre como haceuna funcin. Sin embargo, al igual que Function, un procedimiento Sub puede modificar los valoresde las variables que se le pasan.Hay dos formas de llamar a un procedimiento Sub:' Ambas instrucciones llaman a un Sub denominado MiProc.Call MiProc (PrimerArgumento, SegundoArgumento)MiProc PrimerArgumento, SegundoArgumentoObserve que cuando utiliza la sintaxis Call, debe poner los argumentos entre parntesis. Si omite lapalabra clave Call, deber tambin omitir los parntesis alrededor de los argumentos.

    2.3.5- Llamadas a Funciones.

    Normalmente se llama a un procedimiento de funcin que se ha escrito de la misma forma en que sellama a una funcin intrnseca de Visual Basic como Abs; es decir, utilizando su nombre en unaexpresin:' Las instrucciones siguientes llamaran a una funcin _' llamada ToDec.

  • 8/6/2019 Curso de Visual Basic1

    16/27

    Print 10 * AdecX = AdecIf Adec = 10 Then Debug.Print "Fuera del intervalo"X = OtraFuncin(10 * Adec)Tambin es posible llamar a una funcin igual que se llama a un procedimiento Sub. Las

    instrucciones siguientes llaman a la misma funcin:Call Year(Now)Year NowCuando llama a una funcin de esta manera, Visual Basic desecha el valor de retorno.

    2.3.6- Pasaje de argumentos a los procedimientos y funciones.

    Normalmente el cdigo de un procedimiento necesita cierta informacin sobre el estado delprograma para realizar su trabajo. Esta informacin consiste en variables que se pasan al

    procedimiento cuando se le llama. Cuando se pasa una variable a un procedimiento, se llamaargumento.Tipos de datos de los argumentosLos argumentos de los procedimientos que escriba tienen el tipo de dato Variant de formapredeterminada. Sin embargo, puede declarar otros tipos de datos para los argumentos. Por ejemplo,la funcin siguiente acepta una cadena y un entero:Function QuComer (DaSemana As String, Hora As Integer) As String

    ' Devuelve el men del almuerzo basndose en el da y la hora.

    If DaSemana = "Viernes" thenQuComer = "Pescado"Else

    QuComer = "Pollo"End IfIf Hora > 4 Then QuComer = "Demasiado tarde"

    End FunctionPaso de argumentos por valorSlo se pasa una copia de la variable cuando se pasa un argumento por valor. Si el procedimiento

    cambia el valor, el cambio afecta slo a la copia y no a la variable propiamente dicha. Utilice lapalabra clave ByVal para indicar un argumento pasado por valor.Por ejemplo:Sub Cuentas (ByVal intNumCuenta as Integer)

    .

    . ' Ponga aqu sus instrucciones.

    .End Sub

  • 8/6/2019 Curso de Visual Basic1

    17/27

    Paso de argumentos por referenciaPasar argumentos por referencia le da al procedimiento acceso al contenido real de la variable en suubicacin de direccin de memoria. Como resultado, el procedimiento al que se ha pasado el valorde la variable se puede modificar de forma permanente. La forma predeterminada de pasar valores

    en Visual Basic es por referencia.Si especifica el tipo de dato de un argumento que se pasa por referencia, debe pasar un valor de esetipo para el argumento. Puede eludirlo si pasa una expresin en vez de un tipo de dato comoargumento. Visual Basic evala la expresin y la pasa como el tipo requerido si puede.La forma ms sencilla de convertir una variable en una expresin es ponerla entre parntesis. Porejemplo, para pasar una variable declarada como entero a un procedimiento que espera una cadenacomo argumento, debera hacer lo siguiente:Sub ProcedimientoQueLlama ()

    Dim intX As IntegerintX = 12 * 3

    Foo(intX)End SubSub Foo(Bar As String)

    MsgBox Bar 'El valor de Bar es la cadena "36".End Sub

    2.4- Estructuras de Control (Repeticin y Decisin).

    2.4.1-Do While Loop / Do Loop While.Utilice el bucle Do para ejecutar un bloque de instrucciones un nmero indefinido de veces. Hayalgunas variantes en la instruccin Do...Loop, pero cada una evala una condicin numrica paradeterminar si contina la ejecucin. Como ocurre con If...Then, la condicin debe ser un valor o unaexpresin que d como resultado False (cero) o True (distinto de cero).En el ejemplo de Do...Loop siguiente, las instrucciones se ejecutan siempre y cuando condicin seaTrue:Do While condicin

    instrucciones

    LoopCuando Visual Basic ejecuta este bucle Do, primero evala condicin. Si condicin es False (cero),se salta todas las instrucciones. Si es True (distinto de cero), Visual Basic ejecuta las instrucciones,vuelve a la instruccin Do While y prueba la condicin de nuevo.Por tanto, el bucle se puede ejecutar cualquier nmero de veces, siempre y cuando condicin seadistinta de cero o True. Nunca se ejecutan las instrucciones si condicin es False inicialmente. Porejemplo, este procedimiento cuenta las veces que se repite una cadena de destino dentro de otracadena repitiendo el bucle tantas veces como se encuentre la cadena de destino:

  • 8/6/2019 Curso de Visual Basic1

    18/27

    Function ContarCadenas (cadenalarga, destino)

    Dim posicin, contadorposicin = 1Do While InStr(posicin, cadenalarga, destino)

    posicin = InStr(posicin, cadenalarga, destino) +1

    contador = contador + 1LoopContarCadenas = contador

    End FunctionSi la cadena de destino no est en la otra cadena, InStr devuelve 0 y no se ejecuta el bucle.Otra variante de la instruccin Do...Loop ejecuta las instrucciones primero y prueba condicindespus de cada ejecucin. Esta variacin garantiza al menos una ejecucin de instrucciones:Do

    instrucciones

    Loop While condicinHace el bucle cero o ms veces Hace el bucle al menos una vez

    Do Untilcondicin instruccionesLoop

    DoinstruccionesLoop Until condicin

    2.4.2- For Next.

    Los bucles Do funcionan bien cuando no se sabe cuntas veces se necesitar ejecutar lasinstrucciones del bucle. Sin embargo, cuando se sabe que se van a ejecutar las instrucciones unnmero determinado de veces, es mejor elegir el bucle ForNext. A diferencia del bucle Do, elbucle For utiliza una variable llamada contador que incrementa o reduce su valor en cada repeticindel bucle. La sintaxis es la siguiente:For contador= iniciarTofinalizar[Stepincremento] instruccionesNext [contador]Los argumentos contador, iniciar,finalizar e incremento son todos numricos.

    Nota El argumento incremento puede ser positivo o negativo. Si incremento es positivo, iniciardebe ser menor o igual quefinalizaro no se ejecutarn las instrucciones del bucle. Si incremento esnegativo, iniciardebe ser mayor o igual quefinalizarpara que se ejecute el cuerpo del bucle. Si nose establece Step, el valor predeterminado de incremento es 1.Al ejecutar el bucle For, Visual Basic:1. Establece contadoral mismo valor que iniciar.2. Comprueba si contadores mayor quefinalizar. Si lo es, Visual Basic sale del bucle.(Si incremento es negativo, Visual Basic comprueba si contadores menor quefinalizar.)

  • 8/6/2019 Curso de Visual Basic1

    19/27

    3. Ejecuta instrucciones.4. Incrementa contadoren 1 o en instrucciones, si se especific.5. Repite los pasos 2 a 4.Este cdigo imprime los nombres de todas las fuentes de pantalla disponibles:

    Private Sub Form_Click ()Dim I As IntegerFor i = 0 To Screen.FontCount

    Print Screen.Fonts(i)Next

    End SubEn la aplicacin de ejemplo VCR, el procedimiento HighlightButton utiliza un bucle For...Nextpara pasar por la coleccin de controles del formulario VCR y mostrar el control Shape apropiado:Sub HighlightButton(MyControl As Variant)

    Dim i As IntegerFor i = 0 To frmVCR.Controls.Count - 1If TypeOf frmVCR.Controls(i) Is Shape Then

    If frmVCR.Controls(i).Name = MyControl ThenfrmVCR.Controls(i).Visible = True

    ElsefrmVCR.Controls(i).Visible = False

    End IfEnd If

    NextEnd Sub

    2.4.3- If Else End If.

    Use la estructura If...Then para ejecutar una o ms instrucciones basadas en una condicin. Puedeutilizar la sintaxis de una lnea o un bloque de varias lneas:Ifcondicin Then instruccin

    Ifcondicin Then instruccionesEnd If

    Condicinnormalmente es una comparacin, pero puede ser cualquier expresin que d comoresultado un valor numrico. Visual Basic interpreta este valor como True o False; un valornumrico cero es False y se considera True cualquier valor numrico distinto de cero. Si condicines True, Visual Basic ejecuta todas las instrucciones que siguen a la palabra clave Then. Puedeutilizar la sintaxis de una lnea o de varias lneas para ejecutar una instruccin basada en unacondicin (estos dos ejemplos son equivalentes):If cualquierFecha < Now Then cualquierFecha = Now

  • 8/6/2019 Curso de Visual Basic1

    20/27

    If cualquierFecha < Now ThencualquierFecha = Now

    End IfObserve que el formato de una nica lnea de If...Then no utiliza la instruccin End If. Si deseaejecutar ms de una lnea de cdigo cuando condicinsea True, debe utilizar la sintaxis de bloque

    de varias lneas If...Then...End If.If cualquierFecha < Now Then

    cualquierFecha = NowTimer1.Enabled = False ' Desactiva el control Timer.

    End IfIf...Then...ElseUtilice un bloque If...Then...Else para definir varios bloques de instrucciones, uno de los cuales seejecutar:

    Ifcondicin1Then[bloque de instrucciones 1][Else

    [bloque de instrucciones n]]End If

    Visual Basic evala primero condicin1. Si es False, Visual Basic ejecuta el bloque de instruccionescorrespondientes a Else y despus ejecuta el cdigo que sigue a End If.Por ejemplo, la aplicacin podra realizar distintas acciones dependiendo del control en que se hayahecho clic de una matriz de controles de men:

    Private Sub mnuCut_Click (Index As Integer)If Index = 0 Then ' Comando Cortar.CopyActiveControlClearActiveControl

    Else ' Comando Pegar.PasteActiveControl

    End IfEnd Sub

    2.4.4- Select - Case

    Visual Basic proporciona la estructura Select Case como alternativa a If...Then...Else para ejecutarselectivamente un bloque de instrucciones entre varios bloques de instrucciones. La instruccinSelect Case ofrece posibilidades similares a la instruccin If...Then...Else, pero hace que el cdigosea ms legible cuando hay varias opciones.La estructura Select Case funciona con una nica expresin de prueba que se evala una vezsolamente, al principio de la estructura. Visual Basic compara el resultado de esta expresin con losvalores de cada Case de la estructura. Si hay una coincidencia, ejecuta el bloque de instruccionesasociado a ese Case:

  • 8/6/2019 Curso de Visual Basic1

    21/27

    Select Case expresin_prueba

    [Caselista_expresiones1[bloque de instrucciones 1]]

    [Caselista_expresiones2[bloque de instrucciones 2]]

    ..

    .[Case Else

    [bloque de instrucciones n]]End Select

    Cada lista_expresiones es una lista de uno o ms valores. Si hay ms de un valor en una lista, seseparan los valores con comas. Cada bloque de instrucciones contiene cero o ms instrucciones. Sims de un Case coincide con la expresin de prueba, slo se ejecutar el bloque de instruccionesasociado con la primera coincidencia. Visual Basic ejecuta las instrucciones de la clusula

    (opcional) Case Else si ningn valor de la lista de expresiones coincide con la expresin de prueba.Por ejemplo, suponga que agrega otro comando al men Edicin en el ejemplo If...Then...Else.Podra agregar otra clusula ElseIfo podra escribir la funcin con Select Case:Private Sub mnuCut_Click (Index As Integer)

    Select Case IndexCase 0 ' Comando Cortar.

    CopyActiveControl ' Llama a procedimientos generales.ClearActiveControl

    Case 1 ' Comando Copiar.CopyActiveControl

    Case 2 ' Comando Borrar.ClearActiveControl

    Case 3 ' Comando Pegar.PasteActiveControl

    Case ElsefrmFind.Show ' Muestra el cuadro de dilogo Buscar.

    End SelectEnd SubObserve que la estructura Select Case evala una expresin cada vez al principio de la estructura.

    3- Controles

    3.1- Controles bsicos

    Vamos a ver los siguientes puntos:

    Introduccin al uso de controles

    Control TextBox.

    Control Label

  • 8/6/2019 Curso de Visual Basic1

    22/27

    Control CommandButton

    Control OptionButton

    Realizacon de una pequea aplicacin de ejemplo

    Antes de empezar a conocer los controles bsicos veamos cuales son sus caractersticas generales:

    Propiedades:Todos los controles disponen de una serie de propiedades las cualespodemos cambiar al incluirlos en nuestras aplicaciones. Ejemplos de propiedades son elcolor, el tipo de letra, el nombre, el texto, etc...

    Metodos: Son procedimientos asociados a los controles, es decir, rutinas yaestablecidas que podemos invocar desde nuestras aplicaciones para que se realicealguna operacin sobre el control. Por ejemplo el control ListView ( la lista de archivosque aparece en el explorador de windows) dispone del mtodo order que te ordena losdatos aparecidos en la lista.

    Eventos: Son acciones que pueden ser motivadas por el propio usuario o por mismosistema operativo. Ejemplos pueden ser el movimiento del ratn o hacer click sobre su

    botn. En Visual Basic digamos que se utiliza la programacin orientada a eventos, locual es una de las diferencias ms importantes respecto a la programacin lineal de MSDOS. No necesitamos detectar cuando se ha producido un evento determinado,Windows lo detecta automticamente. Los eventos ya estan definidos, son bastantes ycada control cuenta con los suyos propios, aunque son muy parecidos. Lo nico quetendremos que hacer es asociar el cdigo necesario al evento que necesitemos tratar.

    TextBox

    Mediante este control podremos realizar tanto la entrada como la salida de datos en nuestrasaplicaciones.

    No hace falta que indiquemos las coordenadas de la situacin del formulario en pantalla, simplementetendremos que marcar sobre el control de la caja de herramientas y dibujarlo con el tamao quequeramos en nuestro formulario.PROPIEDADES

    Las propiedades de las que dispone el control son las siguientes:(para obtener el cuadro depropiedades, seleccionar el control y pulsarF4 o pulsar con el boton derecho para obtener el mencontextual y marcarPropierties)

    Text: Aqu indicamos el texto que aparecer en el control. Podemos asignarle cualquier textoen tiempo de diseo o ejecucin. Tambin podemos tomar el texto que haya introducido elusuario para tratarlo durante la ejecucin.

    Name: Esta propiedad la tienen todos los controles, el nombre que viene por defecto en estecaso Text1 y es el nombre con el que se conocer el control cuando lo utilicemos en el cdigo.En un mismo formulario no puede haber 2 controles con el mismo nombre. Conviene poner unnombre que represente la funcin que tiene el control en la aplicacin para que el cdigo quedems claro. Ejemplo, si en el textbox vamos a introducir la direccin de una persona podemosasignarle a esta propiedad el valor Direccin.

    MultiLine: Permite que introduzcamos varias lineas de texto en el control en lugar de slo una.

  • 8/6/2019 Curso de Visual Basic1

    23/27

    Alignment: Alineacin que tendr el texto dentro del control: izquierda, centro o derecha. Paraque funcione la propiedad MultiLine debe estar con el valortrue.

    Locked: Si esta con valortrue bloquea el control, es decir, el usuario no puede introducir nimodificar el texto que contenga. Nos puede servir para utilizar el control como salida de datossin que el usuario pueda modificarlos por error.

    Otras propiedades que son comunes a la mayoria de los controles:

    Backcolor: color de fondo.

    Forecolor: color de letra.

    Font: tipo y tamao de letra.

    METODOS

    Recordemos que por mtodos se entienten los procedimientos o funciones asociados a un control, loscuales nos permiten realizar ciertas operaciones tiles sobre dicho control: Ej. ordenar sus elementos,buscar un dato, etc..Pues bien, los controles bsicos que vamos a ver en este captulo nicamente contienen mtodos

    avanzados que no vamos a analizar por ahora, ya que son mtodos que no se suelen utilizar. Msadelante cuando veamos otros tipos de controles estudiaremos cuales son los mtodos que nos podrnservir. Si alguien est interesado en conocer todas las caractersticas de los controles puede hacerlomirando en la ayuda que proporciona VB, haciendo click sobre cualquier control de la caja deherramientas y pulsando a continuacin F1 obtendr ayuda referente a ese control donde aparecerntodas sus propiedades, metodos y eventos.

    EVENTOS

    Los eventos son acciones que se pueden realizar en cualquier control: click, doble click, movimiento

    del ratn. A estos eventos se les puede asociar cdigo para que se ejecute al producir el evento.MouseMove: al mover el raton por encima del control.

    Mousedown: al pulsar cualquier boton del raton

    Change: al cambiar el contenido del control

    Click: al hacer click con el botn izquierdo del ratn sobre el control

    Doubleclick: al hacer doble click con el con el botn izquierdo del ratn sobre el control

    Getfocus: este evento se activa cuando el control recibe el enfoque, es decir, cuando se activael control en tiempo de ejecucin para introducir datos en l o realizar alguna operacin.

    Lostfocus: Es el contrario del anterior evento, se activa cuando el control pierde el enfoque, es

    decir, se pasa a otro control para seguir introduciendo datos.

    EJEMPLOVamos a probar el uso del control TextBox mediante un pequeo ejemplo en el que teniendo un nicocontrol de este tipo en un formulario, lo programaremos de forma que al pasar el ratn sobre el control(evento mousemove) aparecer en el formulario el texto que contenga.

  • 8/6/2019 Curso de Visual Basic1

    24/27

    Observamos que al situar el control en el formulario aparece por defecto el texto Text1. Para que noaparezca ese texto al ejecutar la aplicacin, debemos cambiar la propiedad Textpulsando F4 y colocarel texto que queramos o no colocar nada.Lo que queremos hacer es que cada vez que movamos el raton por el control aparezca su contenido enel formulario. Entonces lo que habr que hacer abrir la ventana de cdigo, seleccionando el control ypulsando F7, o con el botn derecho del ratn y la opcin View code del men contextual. Esteproceso nos llevar al cuadro de la imagen siguiente.

    Lo que tendremos que hacer es seleccionar el evento que necesitemos de la seccin Proc, en nuestrocaso mousemove y a continuacin teclear el codigo correspondiente: La instruccin print visualizaun texto en el formulario y si le ponemos text1.text le decimos que nos muestre la propiedad Text delcontrol Text1 que ese ser el nombre que tendr el control por defecto si no lo hemos cambiado en lapropiedad name.Al ejecutar esta pequea aplicacin pulsando F5 observaremos como aparece en el formulario lo que

    hayamos tecleado en el control cada vez que movemos el raton sobre el Textbox.Podemos modificar el programa para que responda a cualquier otro evento sin ms que seleccionarloen la seccin Proc e introduciendo el codigo que sea necesario.

    Label

    Este control es tambin uno de los ms utilizados, aunque su utilidad queda restringida a lavisualizacin de datos en el mismo, no permitiendo la introduccin de datos por parte del usuario.La forma de utilizarlo es similar a la del control anterior, dibujar el control en el formulario con eltamao que queramos y asignarle un texto en tiempo de diseo o de ejecucin esta vez sin utilizar la

    propiedad text puesto que no la incorpora, sino utilizando la propiedad caption.Este control sirve para mostrar mensajes en nuestro formulario que orienten al usuario sobre la utilidadde los dems controles que tengamos en la aplicacin o para indicarnos acciones que podemos realizar.En el ejemplo anterior donde apareca un textbox en el formulario, hubiera quedado mejor con unmensaje aclaratorio contenido en un control label:

  • 8/6/2019 Curso de Visual Basic1

    25/27

    PROPIEDADES

    Caption: Es el texto que contendr el control.

    Alignment: Alineacin del texto contenido en el control, no necesita que est activada ningunaotra propiedad.

    BorderStyle: Si queremos que aparezca un borde alrededor del control activaremos estapropiedad.

    Para este control no se suelen utilizar los eventos ya que su contenido suele cambiar poco a lo largo dela ejecucin de la aplicacin. De todas formas los eventos son casi los mismos del control textbox

    excepto que no dispone de los eventos GetFocus y LostFocus ya que a este control no se le puede darel enfoque.En la parte final de este capitulo veremos un ejemplo donde se muestra el funcionamiento de todos loscontroles que vamos a ir viendo.Por ahora a ver si conseguis que ahora el mensaje no aparezca en elformulario sino en un segundo label situado en el formulario, dejando un control label que muestre elmensaje aclaratorio que hemos visto antes.

    CommandButton

    Este control es el tpico botn que aparece en todas las aplicaciones y que al hacer click sobre l nos

    permite realizar alguna operacin concreta, normalmente Aceptar o Cancelar. Aunque segn el cdigoque le asociemos podremos realizar las operaciones que queramos.En el ejemplo anterior podemos aadir un control de este tipo para salir de la aplicacin sin tenerpulsar sobre la equis de la esquina superior derecha.

    Pero slo con introducir un control de este tipo con el texto salir que se introduce a traves de lapropiedad caption no basta. Habr que asociarle un cdigo que nos permita salir de la aplicacin en elevento adecuado. Y el evento por excelencia de este control es click. As pues accederemos al cdigodel control y la sentencia nos permitir salir de la aplicacin es End, simplemente tecleamos esapalabra en el evento click y comprobar que realmente finalizaremos nuestra aplicacin al pulsar sobredicho botn.

    PROPIEDADES

  • 8/6/2019 Curso de Visual Basic1

    26/27

    Caption: Aqui pondremos el letrero que queremos que apaezca en el botn: aceptar, cancelar,salir, etc...

    Enabled: Esta es una nueva propiedad, cuando su valor es true el botn funciona normalmente,cuando su valor es false el boton se encuentra desactivado, no responde a los eventosproducidos sobre l y el texto aparece en un gris claro advirtiendonos de su estado. Podemosutilizar esta propiedad para activar o desactivar un boton dependiendo del estado de otros

    controles. Por ejemplo, en un boton Aceptar, no activarlo hasta que se haya introducido unacantidad en un control textbox, ya que ese botn nos calcular el IVA de la cantidad.

    EVENTOS

    Click: Es el evento tipico de este control y el que ms se utiliza.

    MouseMove: Como sabemos detecta el movimiento del raton sobre el control. Puede servirpara que aparezca un mensaje en un control Label que nos aporte informacin sobre la utilidaddel control ampliando el texto que hayamos colocado como caption del commandbutton.

    OptionButton

    Este control nos permite elegir una opcin entre varias de las que se nos plantean. Cada opcin ser uncontrol optionbutton diferente.Facilita la introduccin de datos por parte del usuario:

    De todas las opciones que se nos ofrece, en este caso los 4 colores, slo podremos activar una. Siactivamos cualquier otra opcin, se desactivar automticamente la ltima que tenamos activada.

    El marco que est alrededor de los 4 controles optionbutton se trata del control Frame , es opcional,aunque es conviente colocarlo siempre que hagamos uso de las opciones. No slo por motivos depresentacin sino porque de esta manera podremos establecer grupos de controles optionbuttonindependientes en los que en cada grupo slo pueda haber una opcion activada a la vez. Tambin, almover el marco se movern los controles incluidos en l facilitndonos las modificaciones.Para que los controles Optionbutton queden englobados dentro de un control Frame, primerotendremos que colocar el control Frame en el formulario con el tamao adecuado y despues ircolocando los controles Optionbutton dentro delFrame.Del control Frame la nica propiedad que nos interesar es caption, que es el texto que aparecer en elencabezado, en el ejemplo anterior: colores.

    PROPIEDADES DE OPTIONBUTTON

  • 8/6/2019 Curso de Visual Basic1

    27/27

    Caption: El texto que aparecer al lado del control: Rojo, verde, etc...

    Value: Es el valor que tendr el control: True si se encuentra activado y False si no lo est.Para comprobar que opcion ha activado el usuario comprobaremos el estado de esta propiedad.

    Alignment: Alineacin del texto respecto al control: Left Justify: el control aparece a laizquierda del texto. Es el ejemplo anterior.Right Justify: el control aparece a la derecha deltexto.

    Los eventos del control son los mismos que en anteriores controles, aunque no se suele asociar cdigoa los eventos de este tipo de controles, sino nicamente conocer el valor que tienen: true o false.

    3.1.1- APLICACION DE EJEMPLO

    Para practicar con los controles que hemos visto vamos a realizar una pequea aplicacin queconsistir en realizar con 2 nmeros que introduzcamos, una operacin que seleccionemos y mostrar elresultado.El formulario donde estarn todos los controles es el siguiente:

    La propiedad Caption de cada uno de los controles es la que se muestra en el formulario.He modificado la propiedad Name de cada control para que al utilizarlos desde el codigo sepamos cuales el control con el que trabajamos:

    Los controles TextBox tienen los nombres: Num1, Num2 y Resul. Los controles Optionbutton tienen cada uno de ellos el mismo nombre que su caption Los controles CommandButton tienen los nombres: Calcular, Limpiar y Salir. A los controlesLabely alFrame no have falta cambiarles el nombre.