visual basic_guía del estudiante

Upload: simonelmago2

Post on 08-Apr-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/7/2019 Visual Basic_Gua del Estudiante

    1/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.net

    Visual Basic: gua del estudiante

    (Adaptados al programa de la Asignatura de Desarrollo en Entornos Grficos del Mdulode Desarrollo de Aplicaciones Informticas 2 Curso)

    Este libro, Visual Basic - Gua del Estudiante se ofrece a todos los estudiantes de hablahispana como texto de libre difusin para fines educativos. Prohibida la copia total o parcialcon fines comerciales.

    Madrid, Julio de 1998

    Visual Basic - Gua del Estudiante Cap. 1

    INTRODUCCION Antecedentes histricos.

    ___________________________________

    El lenguaje de programacin BASIC (Beginner's All purpose Symbolic Instruction Code )naci en el ao 1964 como una herramienta destinado a principiantes, buscando una formasencilla de realizar programas, empleando un lenguaje casi igual al usado en la vidaordinaria ( en ingls), y con instrucciones muy sencillas y escasas. Teniendo en cuenta el

    ao de su nacimiento, este lenguaje cubra casi todas las necesidades para la ejecucin deprogramas. Tngase en cuenta que las mquinas existentes en aquella poca estabanestrenando los transistores como elementos de conmutacin, los ciclos de trabajo llegaban ala impensable cifra de 10.000 por segundo y la memoria no pasaba de unos pocos ks entoroides de ferrita.

    La evolucin del BASIC por los aos 70 fue escasa, dado el auge que tomaron en aquellapoca lenguajes de alto nivel como el FORTRAN y el COBOL. En 1978 se defini unanorma para unificar los Basics existentes crendose la normativa BASIC STANDARD

    Con la aparicin de los primeros ordenadores personales, dedicados comercialmente al

    usuario particular, all por la primera mitad de los ochenta, el BASIC resurgi comolenguaje de programacin pensado para principiantes, y muchos de estos pequeosordenadores domsticos lo usaban como nico sistema operativo (Sinclair, Spectrum,Amstrad)

    Con la popularizacin del PC, salieron varias versiones del BASIC que funcionaban en estetipo de ordenadores (Versiones BASICA, GW-BASIC), pero todas estas versiones delBASIC no hicieron otra cosa que terminar de rematar este lenguaje. Los programadores

  • 8/7/2019 Visual Basic_Gua del Estudiante

    2/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netprofesionales no llegaron a utilizarlo, habida cuenta de las desventajas de este lenguajerespecto a otras herramientas (PASCAL, C, CLIPPER). El BASIC con estas versiones paraPC lleg incluso a perder crdito entre los profesionales de la informtica.

    Las razones para ello eran obvias:

    - No era un lenguaje estructurado.

    - No existan herramientas de compilacin fiables.

    - No dispona de herramientas de intercambio de informacin.

    - No tena libreras.

    - No se poda acceder al interior de la mquina.

    - Un largo etctera de desventajas respecto a otros lenguajes de programacin.

    Tal fue ese abandono por parte de los usuarios, que la aparicin del Quick-BASIC deMicrosoft, una versin ya potente del BASIC, que correga casi todos los defectos de lasversiones pas prcticamente inadvertida, a no ser porque las ltimas versiones del sistemaoperativo MS-DOS incluan una versin de Quick-BASIC algo recortada (Q-Basic) comoun producto mas dentro de la amplia gama de ficheros ejecutables que acompaan alsistema operativo, y aprovecha de l el editor de textos (Cada vez que se llama al EDITestamos corriendo el editor del Q-Basic).

    Esta versin del popular BASIC ya es un lenguaje estructurado, lo que permite crearprogramas modularmente, mediante subrutinas y mdulos, capaz de crear programas yacompetitivos con otros lenguajes de alto nivel. Sin embargo llegaba tarde, pues los entornosMS-DOS estaban ya superados por el entorno grfico Windows.

    Sin embargo algo haba en el BASIC que tentaba a superarse: su gran sencillez de manejo.Si a esto se le aade el entorno grfico Windows, el aprovechamiento al mximo de lasposibilidades de Windows en cuanto a intercambio de informacin, de sus libreras, de susdrivers y controladores, manejo de bases de datos, etc. el producto resultante puede ser algoque satisfaga todas las necesidades de programacin en el entorno Windows. La suma de

    todas estas cosas es VISUAL - BASIC. Esta herramienta conserva del BASIC de los aos80 nicamente su nombre y su sencillez, y tras su lanzamiento al mercado, la aceptacin anivel profesional hizo borrar por fin el "mal nombre" asociado a la palabra BASIC.

    Actualmente se est comercializando la versin 5.0 de este producto. Desde su salida almercado, cada versin supera y mejora la anterior. Dados los buenos resultados a nivelprofesional de este producto, y el apoyo prestado por el fabricante para la formacin de

  • 8/7/2019 Visual Basic_Gua del Estudiante

    3/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netprogramadores, Visual-Basic se ha convertido en la primera herramienta de desarrollo deaplicaciones en entorno Windows.

    Es obligado decir sin embargo, que sigue siendo BASIC. No se pueden comparar susprestaciones con otros lenguajes cuando deseamos llegar al fondo de la mquina y controlaruno a uno sus registros. No es ese el fin perseguido con VB y si es necesario llegar a esasprecisiones ser necesario utilizar otro lenguaje que permita bajar el nivel de programacin.(Visual-C). o realizar libreras (DLLs) que lo hagan. En la mayor parte de las aplicaciones,las herramientas aportadas por VB son mas que suficiente para lograr un programa fcil derealizar y de altas prestaciones.

    Caractersticas Generales de Visual-Basic

    Visual-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 unaaplicacin Visual - Basic, el programa est formado por una parte de cdigo puro, y otraspartes asociadas a los objetos que forman la interface grfica.

    Es por tanto un termino medio entre la programacin tradicional, formada por una sucesinlineal de cdigo estructurado, y la programacin orientada a objetos. Combina ambastendencias. Ya que no podemos decir que VB pertenezca por completo a uno de esos dostipos de programacin, debemos inventar una palabra que la defina : PROGRAMACIONVISUAL.

    La creacin de un programa bajo Visual Basic lleva los siguientes pasos:

    - Creacin de un interface de usuario. Este interface ser la principal va de comunicacinhombre mquina, tanto para salida de datos como para entrada. Ser necesario partir de unaventana - Formulario - a la que le iremos aadiendo los controles necesarios.

    - Definicin de las propiedades de los controles - Objetos - que hayamos colocado en eseformulario. 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 objetos. A la respuesta aestos 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 laprogramacin 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 bloquesllamados Funciones, y otros llamados Procedimientos. Estos Procedimientos no responden

  • 8/7/2019 Visual Basic_Gua del Estudiante

    4/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.neta un evento acaecido a un objeto, sino que responden a un evento producido durante laejecucin del programa.

    No es necesario entender de momento lo anterior. Visual Basic introduce un conceptonuevo de programacin, y es necesario cambiar hasta el argot del programador.Posiblemente se le habrn acumulado demasiados trminos de una sola vez. Es normal. Apoco que siga leyendo ver las cosas mas claras cuando se explique una por una.

    VARIABLES. DEFINICION Y ENTORNO

    Basic, desde siempre, al contrario de otros sistemas de programacin, no exigi ladefinicin previa de una variable. Una variable, como Vd. seguro que conoce, es un nombreque en el programa le asignamos a un dato. Ese dato podr cambiar. Piense por ejemplo, enun 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 tenernombre tales como:

    Nombre

    Apellido1

    Apellido2

    Direccin

    Telfono

    DNI

    La variable Nombre tomar valores distintos segn vayamos introduciendo los datos de losdistintos alumnos. Es posible, que a lo largo de la ejecucin del programa, esta variableNombre valga:

    Jos

    Pedro

    Mara

    Luis

    Espero que su intuicin o conocimiento anterior le lleve a conocer el concepto de variable.Mas adelante lo ver mas claro.

  • 8/7/2019 Visual Basic_Gua del Estudiante

    5/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netDecamos que Basic no exige la definicin previa de las variables. Otras herramientasexigen que se haga as. Por lo tanto es normal encontrar, en otros sistemas deprogramacin, que un programa comienza de la siguiente forma:

    Declare Nombre As String Le dice que Nombre es una sucesin de letras

    Declare Apellido1 As String

    Declare Apellido2 As String

    Declare Direccin As String

    Declare Telfono As String Le dice que Telfono es una sucesin de letras

    Declare DNI As Nmero Le dice que DNI es un nmero

    Mediante estas declaraciones, el programa sabe de que tipo de dato se trata y por tantocmo debe trabajar con l. En otros sistemas de programacin distintos de Basic, esnecesario realizar esta declaracin antes de introducir una variable.

    Basic permite que no se declaren. Cuando a lo largo del programa le introducimos unavariable nueva, asume que es una variable y que el tipo es el adecuado para el valor que leestamos introduciendo en ese momento.

    Por ejemplo, si Basic encuentra estas instrucciones

    DNI=50000000

    Nombre ="Pedro"

    Telfono = "1234567"

    entiende que DNI, Nombre y Telfono son variables, que DNIes un nmero (No hemosmetido su valor entre comillas), y que Nombre y Telfono son sucesiones de caracteresalfanumricos (su valor est entre comillas)

    Esta particularidad de no necesitar declarar las variables hace que sea sencillo introduciruna variable nueva. Sin embargo entraa un gran peligro. Imagnese que en un pasoposterior del programa, le mandamos escribir esos tres datos anteriores con la instruccinPRINT

    Print DNI

    Print Nombre

  • 8/7/2019 Visual Basic_Gua del Estudiante

    6/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netPrint Telwfono

    Habr observado en tercer lugar la palabra Telwfono, que por error ha introducido el

    programador. Basic interpreta que Telwfono es una variable e ir a leer en memoria el valorque tiene. No tendr ningn valor. Por lo tanto no escribir nada y encima no dar ningnaviso de que se ha cometido un error. Nada es gratis en esta vida, y la facilidad paraintroducir variables se paga con la posibilidad de un error.

    Basic ha pensado en ese problema, y se puede solucionar con esta que ser la primerainstruccin 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.

    TIPOS DE VARIABLES

    Las variables pueden ser de los siguientes tipos: (El nmero indicado en segundo lugarindica el nmero de Bytes que ocupa en memoria.)

    Booleana (2) Admite los valores 0 y 1, o True (verdadero) y False (falso)

    Byte (1) Nmeros enteros, en el rango de 0 a 255

    Integer (2) Nmeros enteros en el rango de -32768 a 32767

    Long (4) Nmeros enteros en el rango de -2147483648 a 2147483647

    Single (4) Punto flotante, simple precisin

    Doble (8) Punto flotante, doble precisin.

    Currency (8) Entero, con punto decimal fijo (Tpico de monedas)

    String (*) Cadenas alfanumricas de longitud variable o fija

    Date (8) Fechas

    Objet (4) Referencia a objetos

    Variant (**) Otros tipos de datos

  • 8/7/2019 Visual Basic_Gua del Estudiante

    7/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.net(*) Una variable tipo String ocupa el mismo nmero de bytes que caracteres tenga lacadena.

    (**) Una variable tipo Variant ocupa 16 bytes si se trata de un nmero y 22 bytes +longitud de la cadena si se trata de un dato tipo cadena de caracteres.

    Existen tambin variables definidas por el usuario (Ya ver la sentencia Type). En este tipode variables se pueden introducir muchos datos de distinto tipo. Los bytes necesarios paraalmacenar esa variable depender de los datos que se hayan definido.

    Dentro de las variables Objet (variables que se refieren a objetos) existe una gran variedadque a estas alturas del curso no debemos complicarnos con ellas. Pero para adelantar algo,veremos que una variable puede ser del tipo Form - Formulario - , tipo Picture, etc. etc.

    Cada tipo de variable ocupa unos determinados bytes. Si no se define una variable, VBtoma como tipo por defecto para la variable el tipo Variant. Este tipo ocupa mas bytes que,por ejemplo, un integer. Si el tipo de dato que vamos a introducir en una variable es uninteger, y no la hemos declarado como tal, VB asumir para esa variable que es del tipoVariant, lo que le llevar a gastar mas bytes de memoria (16) que los que necesitara (2) sila hubisemos declarado previamente. Si esa variable va a estar en el rango de 0 a 255, y nodeclaramos previamente que la variable va a se del tipo Byte, o la declaramos como integer,p. e., estamos desperdiciando memoria RAM y posiblemente, retardando la ejecucin delprograma. Lo mismo podemos decir del resto de las variables, y lo importante que esdefinirlas y definirlas bien.

    NOTA. Observe en la lista anterior que un dato Booleano ocupa 2 Bytes, mientras que undato tipo Byte ocupa un byte. En muchas ocasiones declaramos variables tipo Boolean conla intencin de que ocupen menos espacio. Paradoja del VB. Si la declaramos como Byteocupamos menos espacio en memoria. Declarar una variable como Boolean tiene tambinsus ventajas (escribir menos cdigo por lo general cuando necesite leer o escribir unavariable tipo Boolean), pero tenga presente esta observacin respecto a los datos Boolean.

    Puede declarar el tipo de la variable mediante un carcter despus del nombre de lavariable. Esta tcnica, obligatoria en Quick-Basic, est en desuso en VB. No esrecomendable definir el tipo de esta forma, pues existe un serio peligro de error. Decualquier forma, eso es potestativo del programador y de sus costumbres.

    Los caracteres que definen cada tipo de variable son:

    % Integer & Long ! Single

    # Double @ Currency $ String

    Ejemplos Prcticos de declaracin de variables

  • 8/7/2019 Visual Basic_Gua del Estudiante

    8/120

  • 8/7/2019 Visual Basic_Gua del Estudiante

    9/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netQu variables debemos declarar entonces como numricas ? La respuesta es bien sencilla :Aquellas que van a contener datos con lo que vamos a realizar operaciones matemticas.

    Las variables booleanas (True/False) pueden en muchos casos sustituirse por una variabledel tipo Byte. Si ese datos True / False se va a introducir en una base de datos o en ficheroen el disco, puede ser mas prudente poner 0 en vez de False y 1 en vez de True.

    Una variable byte ocupa muy poco, simplemente 1 byte como su nombre indica. Pero nopuede contener nmeros mayores de 255 ni nmeros negativos.

    Cada vez que declare una variable numrica piense en los valores que puede tener, sobretodo cuando esa variable va a ser el resultado de una operacin matemtica. Recuerde elescaso margen de una variable tipo Integer ( de -32768 a 32767)

    Si la aplicacin va a tratar moneda, piense en la forma de expresar los nmeros decimales yel nmero de ellos permitidos, as como el redondeo. La variable correcta para este caso esCurrency, pero Currency le aade automticamente el tipo de moneda de cada pas (Pts.Para Espaa) lo que con frecuencia es un engorro. Los datos del tipo de moneda los tomadel sistema operativo del ordenador, por lo que no se extrae si le expresa el nmero depesetas en dlares. Cambie el pas en su S. O.

    Ambito de las variables.

    Denominamos mbito de una variable a las partes del programa donde esa variable estdeclarada. Para entenderlo mejor, veamos someramente la forma de un programa

    desarrollado en VB.

    Un programa VB tiene uno o varios formularios. Cada formulario tiene varios controles.Tanto el formulario como cada uno de sus controles tienen una parte del programa,justamente la parte relacionada con cada uno de los eventos que pueden suceder bien alformulario o a los controles. A estas partes las habamos llamado Procedimientos. Podemostener procedimientos que no estn relacionados con ningn evento ocurrido al formulario oa sus controles. (Los Procedimientos que iremos insertando a lo largo de la aplicacin)

    Aparte de formularios y controles, un programa puede tener Mdulos, y en cada uno de losmdulos podemos insertar cuantos Procedimientos y Funciones queramos. La estructura de

    un programa VB puede ser de la siguiente forma:

    Formulario1 Formulario2 Formulario3 Mdulo1 Modulo2

    Declaraciones Declaraciones Declaraciones Declaraciones Declaraciones

    Proc. A1 Proc.B1 Proc.C1 Proc.D1 Proc.E1

  • 8/7/2019 Visual Basic_Gua del Estudiante

    10/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netProc. A2 Proc.B2 Proc.C2 Proc.D2 Proc.E2

    Proc. A3 Proc.B3 Proc.C3 Proc.D3 FuncinE1

    Proc. A4 Proc.B4 Proc.C4 Proc.D4 FuncinE2

    Proc. A5 Proc.BB1 Proc.CC1 FuncinE3

    Proc. AA1 Proc.BB2 Proc.CC2 FuncinE4

    Proc. AA2 Proc.B33 Proc.CC3 FuncinE5

    Proc. AA3 Proc.CC4 FuncinE6

    Si se declara una variable dentro de un procedimiento o Funcin, esa variable "NO SALE"del Procedimiento o Funcin donde se declar. El procedimiento puede estar en unFormulario (Cualquier procedimiento de un control o un procedimiento creado pornosotros) o en un Mdulo (En este caso, el procedimiento solo puede ser creado pornosotros)

    En un Formulario, una variable puede declararse de dos formas : Privada o Pblica. Paradeclarar una variable a nivel de formulario debe hacerse en la seccin de declaraciones, queest la ventana de cdigo Objeto = General, Proc. = Declaraciones. Si se declara Privada,esa variable se puede mover por todo el formulario, (es decir, por todos los procedimientosde todos los controles del formulario y por los Procedimientos que pudisemos insertar en

    ese formulario), pero no sale de dicho formulario. Si se declara como Pblica, esa variablepuede moverse por todo el formulario, de la misma forma que lo hara declarada comoPrivada, y adems puede ser usada desde otro Formulario o Mdulo, citndola con elnombre del Formulario, seguido del nombre de la variable (Formulario.Variable)

    En un Mdulo una variable puede declararse como Privada, con lo que no saldr de eseMdulo, o Pblica, pudiendo en este caso usarse en todo el programa. Cuando se declarauna variable como pblica en un Mdulo, basta referirse a ella por su nombre, sin citar elnombre del Mdulo donde se declar.

    En VB es posible declarar varias veces las variables, es decir, pueden declararse a nivel de

    formulario, en su apartado de declaraciones, y esa variable conservar su valor en todas laspartes de ese formulario. Sin embargo, si se declara una variable con el mismo nombre a unnivel inferior, por ejemplo al principio de un procedimiento, esa variable ser una variabledistinta a la anterior, aunque tenga el mismo nombre, a al declararla en un Procedimiento,solamente ser vlida en ese Procedimiento. Una vez que hayamos salido de eseprocedimiento, la variable con ese nombre volver a ser la declarada en el Formulario. Enrealidad, lo que tenemos son dos variables distintas, pero con el mismo nombre, una

  • 8/7/2019 Visual Basic_Gua del Estudiante

    11/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netdeclarada para todo el formulario excepto para el procedimiento donde se volvi a declarar,y otra para ese procedimiento concreto.

    NOTA.- No es recomendable declarar una variable a dos niveles. Es mucho mejor utilizarotro nombre para esa variable dentro del procedimiento donde se le declarara por segundavez. A esta nota cabe exceptuar cuando declaramos variables para una operacin tipocontador

    For I = 1 To N

    Esa variable I es prctico declararla con el mismo nombre en cada Procedimiento donde seuse.

    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 sintaxises de la siguiente forma:

    Dim nombrevariable As Integer(o el tipo que sea)

    Declarando una variable con la sentencia DIM, en un formulario, Funcin, procedimientoo mdulo, el entorno de la variable ser el explicado anteriormente para una variabledeclarada 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. Lasintaxis es de la siguiente forma:

    Private nombrevariable As Tipovariable

    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 yFunciones), 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

  • 8/7/2019 Visual Basic_Gua del Estudiante

    12/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netemplearse solamente en la seccin de declaraciones de un Formulario o Mdulo. Lasintaxis es de la siguiente forma:

    Publicnombrevariable As Tipovariable

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

    Si se declara de esta forma en la seccin de declaraciones de un Formulario, esa variablepuede usarse en toda el programa. Para nombrarla, si estamos en el Formulario donde sedeclar basta con citarla por su nombre. Si no estamos en ese Formulario, habr que citarlapor 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 GLOBALDeclara una variable que es vlida en todo el programa. La sintaxises:

    Global nombrevariable Astipovariable

    La sentencia Global slo puede usarse en el apartado de declaraciones de un Mdulo.

    Mediante la sentencia Global la variable puede usarse en todo el espacio del programa.

    Sentencia STATIC

    Como se dijo anteriormente, una variable declarada en un procedimiento pierde su valor alsalir de l. Lo peor es que una vez que el programa vuelva a entrar en ese procedimiento, lavariable estar puesta a cero. Afortunadamente, esto ltimo tiene solucin. Si declarsemosuna variable en un procedimiento o funcin, como esttica, esa variable, aunque no lapodremos utilizar fuera de ese procedimiento o funcin, cuando volvamos a l conservarel valor que tena cuando lo abandonamos. Esta declaracin como esttica se realizamediante la intruccin Static

    Static nombrevariable Astipovariable

    El nombre de una variable puede ser tan largo como queramos. hasta un mximo de 40caracteres. En la versin VB para Espaa se pueden usar incluso la y vocales acentuadas.Es indiferente usar mayscula minsculas. No se sorprenda, si por ejemplo, la hadeclarado con maysculas y luego la cita con minsculas al escribir el cdigo, que

  • 8/7/2019 Visual Basic_Gua del Estudiante

    13/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netautomticamente se cambie a maysculas. El nombre de una variable siempre debecomenzar por una letra.

    No hay problema por utilizar variables largas. Al compilar el programa no se lleva elnombre, es decir, no le va a ocupar mas espacio. Utilice siempre nombres que le definan lavariable con algn sentido. Es muy til a la hora de acordarse como se llaman, y sobre todo,a la hora de rehacer un programa que realiz hace seis meses.

    Pese a que Visual Basic no obliga a declarar variables, es muy til hacerlo. De esta formase tiene control sobre el programa. La experiencia se lo ir demostrando.

    Resumimos la forma de declarar una variable :

    En un Procedimiento (La variable no puede usarse fuera de esta Procedimiento)

    Dim Variable As Tipovariable

    En un Procedimiento, como permanente (La variable no puede usarse fuera de esteprocedimiento, y dentro de l conserva el valor aunque se salga y se vuelva a entrar)

    Static Variable 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)

  • 8/7/2019 Visual Basic_Gua del Estudiante

    14/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netPublic Variable As Tipovariable

    Global Variable As Tipovariable

    Error tpico de un programador novel de Visual Basic

    Creo que esta costumbre viene del lenguaje C. Pero no vale en VB. Se trata de declararvarias variables juntas en una misma lnea :

    Dim Variable1, Variable2, Variable3, Variable4 As String

    Esta declaracin est MAL hecha. Visual Basic interpretar que Variable1, Variable2 yVariable3 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 lasiguiente :

    Dim Variable1 As String, Variable2 As String, Variable3 As String, Variable4 As String.

    Lenguaje Basic del Visual Basic.

    No ha sido un juego de palabras. VB emplea unas instrucciones casi iguales a las queemplea Quick Basic. Sin embargo ha aadido otras nuevas instrucciones, inherentes con laprogramacin visual. Vamos a estudiar aqu las instrucciones y definiciones mas sencillas,comunes a QB y VB.

    Sentencias condicionales.

    Llamamos sentencias condicionales a aquellas que se realizan si se cumple una determinadacondicin. Son las sentencias por las que empieza cualquier texto de Basic, y este no va sermenos.

    La sentencia condicional mas usada es:

    Si se cumple una condicin Entonces

    Realiza estas instrucciones

    Si no se cumple

    Realiza estas otras instrucciones

    Fin de la sentencia.

  • 8/7/2019 Visual Basic_Gua del Estudiante

    15/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netAs de fcil es programar en Basic. Lo que ocurre es que esta herramienta habla ingls, y lodescrito anteriormente toma la forma:

    Ifcondicin Then

    Instrucciones

    Else

    Otras instrucciones

    End If

    En este ejemplo, la condicin era que, o se cumple una condicin y ejecuta unas

    determinadas instrucciones, o no se cumple, y ejecuta otras condiciones distintas. Puedeocurrir que, caso de no cumplirse la condicione primera, se abra un abanico de dos o tresposibilidades. La sentencia condicional tendra entonces la forma:

    Ifcondicin 1 Then

    Instrucciones

    ElseIfCondicin 2

    Otras instrucciones

    ElseIfCondicin 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. Existeotra:

    Select Case

    Su nombre casi nos define lo que es: Selecciona, dependiendo del caso, un determinadojuego de instrucciones:

  • 8/7/2019 Visual Basic_Gua del Estudiante

    16/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netSelect Case variable ' variable es una variable que puede tomar los valores (p.e.) de 1 a 4

    Case 1

    Instrucciones a ejecutar en caso de que variable = 1

    Case 2

    Instrucciones a ejecutar en caso de que variable = 2

    Case 3

    Instrucciones a ejecutar en caso de que variable = 3

    Case 4

    Instrucciones a ejecutar en caso de que variable = 4

    End Select

    Este procedimiento resulta mucho mas sencillo y rpido que las sentencias If Then Else

    vistas anteriormente, cuando el margen de eleccin es mayor que 2.

    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 parejaes la expresin a evaluar. El segundo es el valor que tiene que devolver. En realidad Switches 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 losvalores posibles (1, 2 3)

    La sentencia Choose es casi igual, cambia solamente la forma. La misma intruccinanterior 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 losvalores que se le haban establecido (1, 2 3 en nuestro caso), la sentencia devuelve elvalor Nulo ( Null ). Esto puede producir algn error si no se contempla esa posibilidad.

  • 8/7/2019 Visual Basic_Gua del Estudiante

    17/120

  • 8/7/2019 Visual Basic_Gua del Estudiante

    18/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netLoop

    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 escierto, vuelve a realizar el bucle. As hasta que X ya no sea menor que 1000. Al dejar decumplirse que X sea menor que 1000, sale del bucle. Acabamos de realizar untemporizador, y tambin de exponer las sentencias condicionales y los bucles, inicio decualquier curso de Basic. Como final de leccin, se propone un problema. Con el primerbucle, donde visualizbamos los caracteres A a la Z, posiblemente no nos diese tiempo dever cada una de las letras que iban apareciendo en la pantalla, en la etiqueta Label1, dadoque cambiara con mucha velocidad, y solamente veramos la Z, que es donde se detuvo elprograma. Podemos poner un temporizador cada vez que presente una letra, y as nos dartiempo 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 determinadacondicin, 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 secumpla que ... y Until para indicar Mientras no se cumpla que ....

    Para terminar bien el programa anterior utilizaremos la condicin de While (Mientras secumpla la condicin)

    For N=65 To 90

    Label1.caption = Chr ( N )

    Label1.RefreshN' Refresca la etiqueta

    X = 0

    Do While X < 1000

    X = X + 1

    Loop

  • 8/7/2019 Visual Basic_Gua del Estudiante

    19/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netNext N

    Este es nuestro primer programa en BASIC. En VISUAL BASIC es idntico, pero nos falta

    la interface grfica. Para realizarla basta con abrir el VB y sobre el formulario que apareceal 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 botnde comando (Command Button) que saldr con el nombre por defecto de Command1. Hagadoble click sobre el botn. Aparecer el procedimiento Click. Este procedimiento es el quese realiza cuando hacemos click sobre ese botn. Escriba en ese procedimiento este cdigo.

    Private Sub Command1_Click() ' Esta lnea sale automticamente

    For N=65 To 90

    Label1.caption = Chr ( N )

    Label1.RefreshN' Refresca la etiqueta

    X = 0

    Do While X < 1000' Bucle de temporizacin

    X = X + 1

    Loop

    Next N' Termina el bucle de temporizacin

    End Sub ' Esta lnea sale automticamente

    Hemos puesto nuestra primera piedra en Visual Basic. Este ejemplo es muy sencillo. VisualBasic es tan sencillo como este ejemplo.

    BASIC DE VISUAL BASIC (2)

    ___________________________

    Funciones de cadenas

    Se denomina CADENA a una sucesin de caracteres. Una cadena puede tener uno o varioscaracteres alfanumricos. Una cadena es tambin una sucesin de nmeros.

    Ejemplo de cadenas:

  • 8/7/2019 Visual Basic_Gua del Estudiante

    20/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netCurso de Visual Basic

    abcdefghijklmnopqrstuvwxyz1234567890

    123456789

    Hagamos una distincin entre una cadena que contenga nmeros y un nmero. Un nmerotiene un valor, pero tambin tiene una presentacin escrita. El valor es algo que estar en elordenador como una sucesin de bits. Dependiendo de como lo hayamos declarado, tendrmas o menos bits. Pero esa informacin no es un nmero legible por el usuario. Lo que ses legible por el usuario es la representacin en numeracin decimal (u octal, ohexadecimal, o incluso en binario) de ese nmero. Esa representacin del nmero en undeterminado sistema de numeracin es una cadena.

    As, el nmero nueve, que en la memoria del ordenador ser una sucesin de bits, elordenador puede presentrnoslo como:

    9 En numeracin decimal

    9 En numeracin hexadecimal

    11 En numeracin octal

    1001 En numeracin binaria

    Esas formas de presentarnos el nmero son CADENAS de caracteres. El valor del nmerodentro del ordenador es un NUMERO.

    Para presentar un nmero en la pantalla, el ordenador debe convertirlo previamente a unacadena.

    Cuando introducimos un valor numrico por teclado o pantalla, el ordenador para haceroperaciones con l, debe transformarlo a un nmero.

    Estas consideraciones nos llevan a las dos primeras funciones con cadenas:

    Str (nmero) Convierte un nmero a una cadena en numeracin decimal.

    Val (cadena numrica) Obtiene el valor (el nmero) correspondiente a esa cadena.

    Ejemplos

    Variablenumerica = Val (TextBox1.Text)

  • 8/7/2019 Visual Basic_Gua del Estudiante

    21/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netEste ejemplo convierte la cadena de caracteres (numricos) que hubiese en la caja de textoTextBox1 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 quetuviese la variable Variablenumerica .

    Nota para recordar: Siempre habr que convertir un nmero a una cadena cuando

    queramos presentarlo en la pantalla. Siempre habr que convertir a nmero la cadenade caracteres numricos que hayamos introducido por teclado o por pantalla, cuando

    queramos operar con ese nmero. Un Label, cuando tiene que presentar un niconmero, no le pedir que se lo convierta a cadena, pues VB hace automticamente esa

    conversin. Sin embargo, cuando tiene que presentar un nmero, y adems un texto enel mismo Label, VB no realizar automticamente ese cambio, por lo que le dar un

    error. Le recomiendo que convierta los nmeros a variables de cadena siempre que los

    quiera presentar en un Label o TextBox.

    Existe una funcin mas amplia que Str. Se trata de Cstr. Esta funcin no solamentetransforma un nmero a una cadena, como hace Str, sino que convierte cualquier tipo devariable a una variable tipo String (cadena).

    Esta funcin transforma, por ejemplo, una variable tipo Booleana en una variable decadena, 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 unOptionButton. En estos casos devuelve 0 y 1 para el CheckBox (Desactivado / Activado) yVerdadero Falso para el OptionButton (Activado / Desactivado)

    label1.Caption = CStr(booleana) Label1.Caption = Verdadero si booleana es true

    Label1.Caption = Falso si booleana es False

    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 si Check1 est activado

    Label3.Caption = Falso si Check1 est desactivado

  • 8/7/2019 Visual Basic_Gua del Estudiante

    22/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netSi 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 (Para todos los ejemplos)

    Resultado = Left (cadena, 10) ----> 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 elque 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 los

    caracteres 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

    LenB (Cadena) Devuelve el nmero de Bytes empleados para almacenar la

    cadena. Sorprndase, es el doble que Len (Cadena)

    String (n, carcter) Devuelve una cadena de n caracteres como el indicado

  • 8/7/2019 Visual Basic_Gua del Estudiante

    23/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netResultado = String (8, "a") ----> Resultado = aaaaaaaa

    Resultado = String (8, Chr(65)) ----> Resultado = AAAAAAAA

    Resultado = String (8, 65) ----> Resultado = AAAAAAAA

    Space (n) Devuelve una cadena formada por n espacios.

    Resultado = "A" + Space (6)+ "B" ----> Resultado = A B

    LTrim Elimina los posibles espacios que tenga una cadena por su izquierda.

    Rtrim Elimina los posibles espacios que tenga una cadena por su derecha.

    Trim Elimina los espacios que tenga una cadena, tanto por su izquierda como por suderecha. (No elimina los espacios

    centrales de la cadena)

    Estas tres funciones se emplean para quitar los posibles espacios que pueden resultar de unaentrada de datos. Tienen especial importancia cuando se toman los datos de un archivo obase de datos, donde fueron introducidos por otro programa.

    No se pone ningn ejemplo de estas funciones, pues sera difcil verlo impreso.

    InStr (cadena, cadena1) Busca la cadena1 dentro de cadena y devuelve el nmero de ordendentro de cadena donde se encuentra la primera letra de cadena1

    Resultado = InStr (cadena, "sua") ----> Resultado = 12

    StrConvConvierte 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 dela 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 basic

    Resultado = StrConv (cadena, ProperCase) ----> Resultado = Curso De Visual Basic

    Instruccin Mid

  • 8/7/2019 Visual Basic_Gua del Estudiante

    24/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netMid puede usarse tambin para cambiar el contenido de una cadena. Observe la sutilezaentre Mid como Funcin de cadena y Mid como Instruccin.

    La Instruccin Mid reemplaza un nmero especificado de caracteres en una variable decadena con caracteres de otra cadena.

    Sintaxis Mid(cadena1, inicio[, longitud]) = cadena2

    Resultado Mid (cadena, 7,2)="Sobre" ---- > Resultado = Curso sobre Visual

    Basic

    FUNCIONES CON NUMEROS

    _________________________

    Visual Basic puede operar con nmeros tal como lo hara cualquier persona. Conoce las 4reglas, y puede utilizar parntesis de la misma forma que los escribimos sobre el papel.

    Los operadores que utiliza para las operaciones bsicas son:

    + Suma

    - Resta

    * Multiplicacin

    / Divisin

    \ Divisin sin decimales

    Mod Resto de una divisin

    ^ Eleva a un exponente

    Ejemplos

    Resultado = 12 + 15 ----> Resultado = 27

    Resultado = 15 - 12 ----> Resultado = 3

    Resultado = 15 * 12 ----> Resultado = 180

    Resultado = 15 / 12 ----> Resultado = 1.25

  • 8/7/2019 Visual Basic_Gua del Estudiante

    25/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netResultado = 15 \ 12 ----> Resultado = 1

    Resultado = 15 Mod 12 ----> resultado = 3

    Resultado = 12 ^ 2 ----> Resultado = 144

    resultado = ( ( 4 * 3 ) / 2 ) ^ 2 ----> Resultado = 36

    Estos operadores se denominan Operadores aritmticos.

    Existen otras operaciones que se pueden realizar con nmeros: comparaciones. Losoperadores que realizan comparaciones se denominan Operadores relacionales. Elresultado de las operaciones realizadas con estos operadores solamente admiten dosresultados: True (Cierto) o False (Falso) Estos operadores son:

    = Igual que

    No igual que

    < Mayor que

    Menor que

    => Igual o menor que

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

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

    Operadores Lgicos

    Estos operadores slo tienen sentido cuando hablemos de variables Booleanas, es decir,aquellas que solamente pueden tomar los valores cero y uno.

    Operador Funcin Devuelve True si Devuelve False si

    And Funcin AND A=True y B=True Cualquier otro caso

    OrFuncin OR A=True o B=True A=False y B=False

    Xor Funcin XOR A=True y B=False A=True y B=True

  • 8/7/2019 Visual Basic_Gua del Estudiante

    26/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netA=False y B=True A=False y B=False

    EqvF. Equivalente A=True y B=True A=True y B=False

    A=False y B=False A=False y B=True

    ImpImplicacin A=True y B=True A=True y B=False

    A=False y B=True

    A=False y B=False

    Not Negacin A=False A=True

    LikeIgualdad A=True A=False

    Otras Funciones con nmeros

    CInt Parte entera Devuelve la parte entera de un nmero con decimales

    AbsValor Absoluto Devuelve el valor absoluto de un nmero

    SgnSigno Devuelve el signo de un nmero

    Sqr Raz cuadrada Devuelve la raz cuadrada de un nmero

    Exp Exponenciacin Devuelve el nmero elevado al exponente indicado

    Log Logaritmo Devuelve el logaritmo natural de ese nmero

    Trigonomtricas

    Sin Seno Devuelve el valor del seno de un ngulo (Expresado

    en radianes)

    Cos Coseno Devuelve el coseno de un ngulo (En radianes)

    Tan Tangente Devuelve la tangente de un ngulo

    Atn Arco Tang. Devuelve un arco cuya tangente sea el nmero

    (Angulo en radianes)

  • 8/7/2019 Visual Basic_Gua del Estudiante

    27/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netUna funcin curiosa

    TimerTiempo 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 elNumero. Devuelve el resultado en una variable llamada Rnd.

    NOTA MUY IMPORTANTE.- Los nmeros aleatorios generados de esta forma son

    siempre iguales, eso s, dependiendo del nmero que se le introduzca como parmetro.

    Esta generacin de nmeros no produce nmeros aleatorios pues como se dijo, dependendel numero que se meta como parmetro, y si este se repite, se repite la sucesin de

    nmeros que nos crea el generador aleatorio.

    La forma de obtener nmeros realmente aleatorios es introducir como parmetro un nmeroque sea variable con el tiempo. Ese nmero no puede ser otro que el nmero timer vistoantes. Y siempre con la precaucin de que medie mas de un segundo entre dosinstrucciones Randomize. La funcin toma entonces la forma:

    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 Timercada 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 decomando de nombre Command1. Cuando hagamos click sobre el botn de comando debergenerar un nmero comprendido entre el 1 y el 49. En el procedimiento click deCommand1 pondremos el siguiente cdigo:

    Private Sub Command1.click

    Randomize Timer

    A = Rnd

    A = Rnd * 100

    A = CInt(A)

  • 8/7/2019 Visual Basic_Gua del Estudiante

    28/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netDo While A > 49

    A = A - 49

    Loop

    Do While A < 1

    A = A + 49

    Loop

    Label1.caption = A

    End Sub

    Realice este pequeo programa, con la instruccin Randomize Timer y sin ella.

    Funciones con fechas.

    Las fechas son cadenas especiales. Visual Basic sabe obtener y tratar la informacinrelativa a la fecha y la hora. Dispone para ello de una declaracin de variable: Date. Unavariable declarada como date puede contener una fecha, una fecha y una hora o una horasolamente.

    Date Devuelve la fecha de hoy. Esta fecha la toma del reloj del ordenador.

    Time Devuelve la hora actual.

    Now Devuelve la fecha y hora actual.

    WeekDay Devuelve el da de la semana (En nmero, 1=Domingo, 2=Lunes,...)

    Day Obtiene el da, a partir de una fecha

    Month Obtiene el mes a partir de una fecha.

    Year Obtiene el ao a partir de una fecha.

    Hour Obtiene la hora a partir de una hora

    Minute Obtiene el minuto a partir de una hora.

    Second Obtiene el segundo a partir de una hora.

  • 8/7/2019 Visual Basic_Gua del Estudiante

    29/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netDateAddAade un intervalo de tiempo a una fecha

    DateDiffObtiene el intervalo de tiempo entre dos fechas

    DatePart Devuelve una parte de una fecha (semana, trimestre, etc.)

    DateSerial Compone una fecha a partir de parmetros relativos

    TimeSerial Compone una hora a partir de parmetros relativos.

    DateValue 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. Porejemplo, 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 (120796)

    Fecha = DateValue (12 07 96) Fecha =12/07/96

    Funcin FORMAT

    Esta funcin permite presentar cadenas de 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 quepuede dar de s. La sintaxis que presenta es :

    Format(expresin[, formato[, primerdadesemana[, primerasemanadelao]]])

    Lo mejor que puede hacer con esta definicin de la sintaxis de Format es olvidarla. No leaclara mucho lo que se puede hacer con Format. La funcin Format se usa para poner unafecha en un determinado formato. Con la expresin :

    FechadeHoy = Format (Now, "yyyy-mm-dd")

  • 8/7/2019 Visual Basic_Gua del Estudiante

    30/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netla variable FechadeHoy tendr el valor 1998-05-21, que se refiere al da 21 de mayo de1998, segn el formato recomendado por la norma ISO-8601 para la presentacin defechas. 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. Porejemplo la cifra 123456 se transformar en las siguientes expresiones, segn comoempleemos la funcin Format

    Variable = Format(123456, "Currency") Variable = 123.456 Pts

    Variable = Format(123456, "Standard") Variable = 123.456,00

    Veamos ahora con un poco mas de conocimiento la sintaxis de Format

    Variable = Format (expresin[, formato[, firstdayofweek[, firstweekofyear]]])

    Donde

    expresin es una cadena o fecha vlida

    formato es uno de los formatos predefinidos (Standard, Currency, etc. Vea mas abajo)

    firstdayofweek. Especifica el primer da de la semana. Puede tomar uno de estos valores oconstantes :

    Constante Valor Descripcin

    vbUseSystem 0 El especificado en el sistema operativo.

    VbSunday 1 Domingo (valor por defecto)

    vbMonday 2 Lunes

    vbTuesday 3 Martes

    vbWednesday 4 Mircoles

    vbThursday 5 Jueves

    vbFriday 6 Viernes

    vbSaturday 7 Sbado

  • 8/7/2019 Visual Basic_Gua del Estudiante

    31/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netfirstweekofyear Especifica cual es la primera semana del ao. Puede tomar uno de lossiguientes valores o constantes :

    Constante Valor Descripcin

    vbUseSystem 0 Usa el valor del sistema operativo

    vbFirstJan1 1 La primera semana es la que contiene al da 1 de Enero(Valor

    por defecto

    vbFirstFourDays 2 La primera semana es la que contiene al menos, 4 das de ese

    ao (Rec. ISO - 8601)

    vbFirstFullWeek 3 La primera semana es la que tiene todos sus das en ese ao

    No se complique la vida con el tema del primer da de la semana ni la primera semana delao. No lo usar con frecuencia. Centrmonos mas en el parmetro Formato. Puede tomarmuchos 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 unpunto, aunque esto depende del idioma que est usando)

    Puede poner una de estas expresiones, eso si, siempre entre comillas dobles :

    General Number Muestra el nmero tal como lo tecle

    Currency En formato de la moneda de su sistema operativo

    Fixed Sin separador de millar y dos decimales (1234567,00)

    Standard Con separador de millares y dos decimales (1.234.567,00)

    Percent Multiplica el nmero por cien y lo presenta cono

    porcentaje(123456700,00%)

  • 8/7/2019 Visual Basic_Gua del Estudiante

    32/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netScientific Usa notacin cientfica (1,23E+06)

    .

    Para fechas (Observe que usamos el ejemplo Format(Now, "Formato") y Now = 21/07/98

    a las 22:16:00 y pico)

    General Date 21/07/98 22:16:00

    Long Date martes 21 de julio de 1998

    Medium Date 21-jul-98

    Short Date 21/07/98

    yyyy-mm-dd 1998-05-21

    yy-mm-dd 98-07-21

    Long Time 22:19:53

    Medium Time 10:20 PM

    Short Time 22:20

    hh :mm :ss 22 :21 :29

    hh :mm 22 :21

    Format dispone de mas opciones. Sera muy largo explicarlas aqu. Para mas informacin,en la WEB de Microsoft puede encontrar mas formatos posibles.

    MATRICES

    __________

    Cuando utilizamos varias variables que tienen un significado similar para nosotros, peroque son distintas (Por ejemplo, el nombre de los alumnos de una clase) podemos utilizaruna matriz. Esta matriz est formada por tantos elementos como alumnos tenga la clase. Elnombre asociado a cada uno de los elementos de la matriz puede ser:

    Alumno (n) Donde n es el nmero por orden de lista de ese alumno.

  • 8/7/2019 Visual Basic_Gua del Estudiante

    33/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netLas matrices normalmente comienzan a numerar por el nmero 0. Este comienzo puede noser el mas apropiado para la variable que estamos planteando, pues ningn alumno tiene elnmero de orden 0. Para hacer que una matriz comience a numerar por el 1 se debe definir

    mediante la instruccin:

    Option Base 1

    que debe colocarse al comienzo del mdulo o formulario donde declaremos la matriz.

    Para declarar la matriz se hace como con todas las variables, especificando entre parntesisel nmero de elementos que componen la matriz:

    Dim Alumno (25) as String

    Hemos declarado que la variable alumno es una cadena, y que hay 25 elementos en esamatriz.

    Una matriz tambin se puede declarar de la siguiente forma :

    Dim Alumno(1 To 25) as String

    Donde le decimos que la variable Alumno tiene 25 elementos, que el primero tiene el ndice1 y el ltimo tiene el ndice 25.

    Pero imaginemos que queremos meter en la misma matriz el nombre, primer apellido y

    segundo apellido del alumno. Necesitaremos declarar una matriz de 25 por 3. Como todoslos elementos sern cadenas de caracteres, podemos declararla de la siguiente forma:

    Dim Alumno (1 To 25, 1 To 3) As String

    De esta forma, el primer apellido del alumno que ocupa el puesto nmero 15 de la clase,ser el elemento:

    Alumno (15, 2)

    Podemos definir matrices de dimensin superior a dos. Podemos llegar a un mximo de 60

    dimensiones. Una matriz de 5 dimensiones se declarara:

    Dim Variable ( 1 To N, 1 To M, 1 To P, 1 To Q, 1 To R)

    entendiendo que hay N, M, P, Q y R elementos en cada una de las dimensionesrespectivamente.

  • 8/7/2019 Visual Basic_Gua del Estudiante

    34/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netUna variable ya declarada como una matriz puede redimensionarse a lo largo del programamediante la instruccin ReDim

    ReDim Alumno (1To 25)

    Mediante esta instruccin, estamos ReDimensionando una matriz ya declarada. No sepuede redimensionar una matriz inexistente.

    Mediante la declaracin 1 To 25 le estamos diciendo que el primer elemento de la matriz esel 1, independientemente de lo que hayamos puesto en OPTION BASE. Si seredimensiona simplemente con el nmero de elementos :

    ReDim (25)

    le estamos diciendo que tiene 25 elementos, pero que el primero sea el 0 el 1 depende dehaber puesto OPTION BASE 0 u OPTION BASE 1.

    Una matriz puede redimensionarse cuantas veces se quiera a lo largo de la aplicacin, peroesa redimensin no puede afectar al nmero de dimensiones de la matriz. Siredimensionamos la matriz perder la informacin existente. Para evitar perder lainformacin presente en la matriz, debe utilizar la sentencia ReDim Preserve.

    Si usa la palabra clave Preserve en matrices de dimensin superior a 1, va a encontrarsecon comportamientos no esperados. Como podr ver en la Ayuda de VB, usando ReDimPreserve slo puede cambiar el tamao de la ltima dimensin de matriz y no puede

    modificar en ningn momento el nmero de dimensiones. NO es cierto del todo. S lopodr hacer una sola vez.

    Respecto a cambiar el nmero de dimensiones, si ha declarado la matriz con unasdimensiones determinadas, ya no podr cambiar las dimensiones ni con ReDim ni conReDim Preserve. Le saldr un error que dice que las dimensiones de la matriz ya han sidodeclaradas.

    Pero si ha declarado la matriz sin dimensiones :

    Dim MiMatriz()

    puede cambiar las dimensiones Dim MiMatriz (1 To 5, 1 To 9)

    y volver a cambiarlas Dim MiMatriz (1 To 8, 1 To 15, 1 To 6)

    Observe que no solamente la hemos cambiado dos veces de dimensiones (la primera a 2 yla segunda a 3), sino que tambin hemos cambiado el nmero de elementos en cadadimensin.

  • 8/7/2019 Visual Basic_Gua del Estudiante

    35/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netSi hubisemos utilizado ReDim Preserve solamente podramos haber usado la primera delas dos lneas anteriores :

    ReDim Preserve MiMatriz (1 To 5, 1 To 9)

    pero ya no podramos volver a cambiar el nmero de dimensiones con la segunda lnea.Nos dara un error.

    Con ReDim podemos cambiar el nmero de elementos de cada dimensin cuantas vecesqueramos. Por ejemplo, podemos redimensionar MiMatriz de las siguiente forma :

    ReDim MiMatriz (1 To 5, 1 To 9)

    ReDim MiMatriz (1 To 15, 1 To 20)

    ReDim MiMatriz (1 To 25, 1 To 30)

    . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Si hubisemos empleado ReDim Preserve, podramos cambiar los elementos de todas lasdimensiones de la matriz una vez :

    ReDim Preserve (1 To 5, 1 To 9)

    a partir de ahora, solamente podemos cambiar los elementos de la ltima dimensin :

    ReDim Preserve (1 To 5, 1 To 20)

    ReDim Preserve (1 To 5, 1 To 30)

    es decir, no podremos hacer esto :

    ReDim Preserve (1 To 10, 1 To 30) donde se seala en negrita el error.

    Esto no causa ningn error en una matriz de una dimensin, ya que si la matriz tiene slouna dimensin, puede cambiar el tamao de esa dimensin porque es la nica y la ltima.

    Cuando a lo largo de la aplicacin se va redimensionando una matriz, podemos llegar lacircunstancia de que, en un momento determinado, no sepamos las dimensiones de esamatriz.

    Para conocer el ndice mximo y mnimo de una matriz se usan las funciones UBound yLBound.

  • 8/7/2019 Visual Basic_Gua del Estudiante

    36/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netUBound devuelve el mayor subndice disponible para la dimensin indicada de una matriz.

    Sintaxis UBound(nombredelamatriz[, dimensin])

    LBound devuelve el mayor subndice disponible para la dimensin indicada de una matriz.

    Sintaxis LBound(nombredelamatriz[, dimensin])

    Ejemplo Tengamos una matriz llamada Mimatriz, de tres dimensiones. En un momento dela aplicacin se ejecut la siguiente instruccin vlida :

    ReDim Mimatriz (1 To 100, 0 To 3, 5 To 20)

    En otro momento queremos tener el control de los ndices de esa matriz, y queremos

    averiguar el ndice menor y mayor de cada una de sus dimensiones :

    (IID1= Indice Inferior Dimensin 1, ISD 1 = Indice Superior Dimensin 1, etc. )

    IID 1= LBound (Mimatriz, 1) IID1 = 1

    ISD1 = UBound (Mimatriz, 1) ISD1 = 100

    IID 2= LBound (Mimatriz, 2) IID1 = 0

    ISD2 = UBound (Mimatriz, 2) ISD1 = 3

    IID 1= LBound (Mimatriz, 3) IID1 = 5

    ISD1 = UBound (Mimatriz, 3) ISD1 = 20

    VISUAL BASIC

    Tras esta pequea introducin al lenguaje Basic ya estamos en disposicin de encender elordenador y comenzar a trabajar con Visual-Basic. Se supone que su PC tiene instalado elprograma Visual basic, bien en su versin de 16 bits si dispone de Windows 3.xx o la de 32bits si dispone ce Win95 Windows NT.

    Entre en el programa VB. Le aparecer en pantalla algo similar a esto : (Para VB Vers. 4)

  • 8/7/2019 Visual Basic_Gua del Estudiante

    37/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.net

    Este es el comienzo del programa . Observe que en esta pantalla existen varias cosas. En la

    parte superior , la barra de ttulo del programa Visual Basic, con el texto :

    Proyect1 - Microsoft Visual Basic (Diseo)

    Por debajo de esta barra de Ttulo del VB, encontramos la barra de men de VB, con lasleyendas :

    Archivo Edicin Ver Insertar Ejecutar Herramientas Complementos Ayuda

    Por debajo de esta barra de men tenemos la barra de herramientas, donde podr vervarios iconos, que cada uno representa un determinada operacin que Vd. puede realizar.

    Estas operaciones est todas en la lnea de men, y puede acceder a ellas abriendo losmens desplegables que existen en cada una de las palabrea Archivo Edicin Ver ...... deesta lnea de men. El hecho de colocar las operaciones mas usuales en un icono en la barrade herramientas se hace para mayor comodidad del usuario.

    A la izquierda de la pantalla tiene una caja rectangular con tres columnas de iconos. Esacaja es la Caja de Herramientas (No la confunda con la barra de herramientas de la partesuperior)

  • 8/7/2019 Visual Basic_Gua del Estudiante

    38/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netEsta caja de herramientas es, salvando las distancias, lo mismo que una caja deherramientas real que pueda tener un mecnico para realizar su trabajo. En ella estn losiconos que representan a los controles con los que Vd. va a desarrollar su aplicacin VB.

    No estn todos los que pueden estar, al igual que en una caja de herramientas de unmecnico no estn todas las herramientas que puede usar. Estn solamente las mas usuales.Si necesita alguna mas, puede cogerla de otra parte (barra de Men, Herramientas,Controles personalizados) y agregarlos a esa caja de herramientas, al igual que lo hara unmecnico con una herramienta especial, que la metera en su caja slo cuando va a realizarun trabajo determinado para el que la necesite.

    Posiblemente esta caja de herramientas no le aparezca tal y como la ve en estos apuntes.Eso depende si Ud. tiene la versin personal o la profesional, o si usa la versin de 16 32bits. Esa caja de herramientas puede personalizarla a su gusto. Para ello, deber cargar unproyecto ya existente en los discos de distribucin de Visual Basic, llamado

    AUTO32LD.VBP (versin 32 bits) AUTO16LD.VBP (Versin 16 bits) que se encontraren el directorio donde haya cargado el programa Visual Basic. Este proyecto no tiene otrafuncin que determinar las herramientas con las que quiere abrir el VB. Para introducirherramientas nuevas en la caja de herramientas, basta con desplegar el men Herramientasde la barra de men, e ir a Controles personalizados. Haciendo click en esta lnea decontroles personalizados, podemos seleccionar nuevos controles para aadir a la caja deherramientas, marcando la casilla que est a la izquierda del nombre del control que quiereintroducir. Una vez seleccionados todos los nuevos controles, haga click en ACEPTAR, ypodr observar que esos nuevos controles ya se le han aadido a la caja de herramientas.Para que esos nuevos controles le aparezcan de entrada cuando inicia una sesin de VB,debe salir de Visual basic guardando los cambios. Vuelva a entrar y observar que ya le

    aparecen esos nuevos controles en la caja. No es prudente meter muchos controles en lacaja. Ponga solamente los que necesite normalmente en sus aplicaciones. Ocupar menosmemoria y tardar menos tiempo en cargar el programa VB. Adems, cuando realice unaaplicacin y la distribuya una vez compilada, Visual Basic entregar en los disquetes dedistribucin las DLLs u OCXs correspondientes a todos los controles personalizados que

    Vd. tenga en la caja de herramientas, los necesite el programa o no los necesite. Esto le va asuponer que est cargando subprogramas intiles en el ordenador destino de su aplicacin.A la hora de compilar el programa (Crear archivo .EXE) quite todos los controlespersonalizados que no necesite su aplicacin. (Slo los controles personalizados. Loscontroles comunes - CommandButton, Label, TextBox, etc.-, no se pueden eliminar de lacaja de herramientas)

    Para quitar controles de su caja de herramientas, debe proceder de forma anloga, cargandoel programa AUTOxxLD.VBP, abriendo men de herramientas, Controles personalizados,quitando la marca al cuadro situado en la parte izquierda del control a eliminar, yguardando el proyecto al salir.

  • 8/7/2019 Visual Basic_Gua del Estudiante

    39/120

  • 8/7/2019 Visual Basic_Gua del Estudiante

    40/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netObserve las dos cajas de la parte superior, uno con la inscripcin Objeto : que en elmomento que le sacamos la foto tena Form, y el otro con la inscripcin Proc :(procedimiento), que en el momento de la foto tena Load. A estas cajas les denominamos

    Lista de Objetos y Lista de Procedimientos respectivamente.

    Haciendo click sobre la flecha de cada lista, se despliega un men, en la lista de objetos sedesplegar una lista con los nombres de cada objeto existente en ese momento dentro delformulario. Haciendo click sobre uno de los nombres, nos presentar la ventana de cdigode ese objeto. Todos los objetos grficos (controles) existentes dentro de un formulario y elpropio formulario aparecern en la misma lista de objetos.

    Haciendo click sobre la flecha de la lista de procedimientos, se despliega la lista con todoslos procedimientos posibles para ese objeto. Siempre saldr uno. Si tenemos escrito cdigoen uno de los procedimientos, saldr por defecto ese procedimiento para el cual hemos

    escrito el cdigo. Si no hay cdigo en ninguno de los procedimientos, saldr el que tengapor defecto cada objeto.

    Solamente nos queda por decir, para cerrar este captulo, que es un procedimiento.

    Para ello vamos a explicar lo que es un evento. Un Evento es algo que le puede ocurrir a unobjeto. En una internase grfica, lo que le puede ocurrir a un objeto es que se le haga click,doble click, que se pase el cursor del ratn por encima, etc. Este es el Evento. ElProcedimiento es la respuesta por parte de ese objeto, al evento que le est sucediendo.

    Esa respuesta, esa forma de Proceder del objeto al evento que le est sucediendo, debemos

    programarla segn nuestras necesidades, es decir, debemos escribir el cdigo que necesitenuestra aplicacin como respuesta al evento que acaba de ocurrir. Posiblemente, noqueramos ninguna respuesta a muchos de los eventos que pueden acaecer a un objeto. Cadaobjeto tiene muchos eventos y solamente queremos aprovechar los que nos interesan. Paraque un evento no produzca ningn efecto, basta con dejar sin cdigo el procedimientocorrespondiente a ese evento. En los eventos que queramos que realice alguna operacin, leescribiremos en su procedimiento el cdigo necesario para que esa operacin se realice. Sindarnos cuenta, hemos comenzado a escribir el cdigo de la aplicacin.

    Observar que el primer elemento del men desplegable de la lista de objetos se denominaGeneral. Este no es en realidad ningn objeto, sino un apartado existente en cada

    formulario, que, al desplegar su lista de procedimientos tiene la seccin dedeclaraciones,donde debemos declarar las variables que queremos que afecten a todo el formulario y suscontroles, y tendr adems, los nombres de todos los procedimientos que introduzcamos(vase un poco mas adelante). En este men desplegable de la lista de procedimientos delGeneral ver con frecuencia cosas que Vd. no puso all. Cosas tales comoCommand1_click, y en la ventana un determinado cdigo. Esto ocurre cuando se borraalgn control que tena escrito cdigo en alguno de sus procedimientos. Visual Basic sabelo mucho que cuesta escribir el cdigo asociado a un control. Si borramos un control de

  • 8/7/2019 Visual Basic_Gua del Estudiante

    41/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netnuestro formulario accidentalmente, despus de haber introducido todo el cdigo asociado al, Visual Basic nos sorprende con que ese cdigo no lo tira inmediatamente, sino que loreserva como un procedimiento en ese apartado General del formulario. Si en realidad

    queramos borrar el control y todo su cdigo, debemos quitarlo de ese apartado General denuestro formulario, pues en realidad, si no lo queremos, no har otra cosa que estorbar. Paraquitarlo basta con borrar todo el cdigo que aparece en la ventana de cdigo cuandohacemos click sobre el nombre del control eliminado. Deberemos borrar todo el cdigo,incluida la cabecera donde figura el nombre del control eliminado, y la parte final, quesiempre termina con EndSub.

    El primer estorbo lo observar si crea otro control con el mismo nombre, cosa fcil ya queVB da un nombre por defecto a cada control (Command1, Command2....). El cdigoasociado al control eliminado pasar automticamente al nuevo control con el mismonombre.

    Una aplicacin puede tener todo su cdigo escrito en los sucesivos procedimientos delformulario y de los controles que tenga ese formulario.

    Puede ocurrir que un determinado evento no est entre los posibles eventos de los controlesde nuestra aplicacin. Piense por ejemplo, el evento de que la variable A sea igual a lavariable B. No existe en ninguno de los controles ese procedimiento. No se preocupe,puede crear un procedimiento que se ejecute cuando su programa lo decida. Podemosaadir cuantos procedimientos queramos. Estos procedimientos se aaden al formulario, ydebern definirse por un nombre que Vd. debe elegir. Para que se ejecuten las instrucciones(cdigo) incluido en ese procedimiento, basta simplemente con nombrarlo por ese nombre.

    Para insertar un procedimiento debe ir a la barra de men, hacer click sobre Insertar, y en elmen que le desplegar, volver a hacer click sobre Procedimiento. VB le presentar uncuadro donde le pedir el nombre, si quiere que sea un procedimiento, una funcin o unapropiedad. A lo largo del curso ir viendo que es cada cosa.

    Escribiendo el cdigo en los sucesivos procedimientos, bien en los propios de cada objeto,bien en los procedimientos que vayamos creando, es posible completar la aplicacin. Peroen una aplicacin larga esta forma de escribir el cdigo no sera la mas adecuada. Es mas,posiblemente sera demasiado engorroso escribirla de esta forma, y muy probablementedeberamos escribir el mismo cdigo para varios procedimientos, lo que alargara

    intilmente el programa y el tiempo de desarrollo.

    Para disponer de un sitio donde escribir parte (o la mayor parte) de su programa, puedeintroducir uno o varios mdulos. Expliquemos lo que es un mdulo.

    Un Mdulo es una parte del programa donde solamente puede escribir cdigo. Es igual queun formulario, sin interface grfica. Un profesor de Visual Basic lo expresaba diciendo queun Mdulo es un Formulario sin cara. En un mdulo pueden existir procedimientos al igual

  • 8/7/2019 Visual Basic_Gua del Estudiante

    42/120

  • 8/7/2019 Visual Basic_Gua del Estudiante

    43/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netAl igual que introducimos Procedimientos, podemos introducir Funciones en nuestraaplicacin. Una Funcin es un Procedimiento al que le pasamos uno o varios parmetros.(O Ninguno) Ver los Procedimientos y funciones mas adelante (Cap. 15). Al igual que los

    Procedimientos, pueden ser pblicas (se vern en toda la aplicacin) o privadas (se vernsolamente en el formulario donde estn.

    Main

    Merece la pena pararse un poco para estudiar el Procedimiento Main. Para verlo con masdetalle, comentaremos como comienza a trabajar una aplicacin realizada en Visual Basic.

    Imaginemos una aplicacin que tiene 3 Formularios. En cada uno de ellos tiene cdigo.Logicamente la aplicacin tendr que presentar uno de ellos en primer lugar. Deberemosdecirle a Visual Basic cual es el formulario inicial, y ser ese por el que empiece. En ese

    formulario dispondremos el cdigo necesario para que la aplicacin se ejecute en el ordendeseado.

    Si hacemos click en la Barra de Men de Visual Basic, en Herramientas | Opcionesobtendremos el siguiente cuadro de dilogo :

    Ver que tiene 4 pestaas, y actualmente tiene abierta la pestaa correspondiente aProyecto, y tiene desplegada una lista donde nos pide el Formulario Inicial. En esa listafigura tambin la expresin Sub Main. Si ponemos como formulario inicial uno de los

  • 8/7/2019 Visual Basic_Gua del Estudiante

    44/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netformularios, la aplicacin comenzar por ese formulario. Si en uno de los Mdulosexistentes en el proyecto, ponemos un procedimiento llamado Main, podemos comenzar laejecucin de la aplicacin justamente por ese procedimiento. En ese procedimiento

    pondremos el cdigo necesario para que, posteriormente, se muestre uno de losformularios. Esto es muy practico cuando queremos hacer una funcin previa a mostrarcualquier formulario (abrir una base de datos, por ejemplo). Para comenzar la aplicacinpor Main se elige esa opcin en la lista Formulario Inicial.

    Recuerde que Main debe estar en un Mdulo !

    El cuadro de dilogo anterior sirve adems para otras cosas. Entre ellas poner el nombre delproyecto (nombre que no aparecer por ninguna parte, solo en los datos internos de laaplicacin) y su descripcin.

    En otra pestaa podemos configurar varias prestaciones del entorno de trabajo :

    Guardar la aplicacin antes de ejecutar. Esta prestacin nos va a evitar muchosdisgustos. Es muy prctico guardar la aplicacin antes de ejecutarla, pues de esta formaevitamos que, si nuestra aplicacin tiene un error tal que hagamos colgarse a Windows,siempre tendremos la aplicacin metida en el disco duro. Pero tambin es una pequeapesadez tener que esperar a que se guarde cada vez que la ejecutamos.

    Si tenemos la activada la casilla Declaracin de variables requerida nos pondrautomticamente Option Explicit en el encabezamiento de todas las secciones dedeclaraciones de la aplicacin.

    Podemos elegir tambin las ventanas que queremos que estn siempre visibles, y queverifique automticamente la sintaxis de una instruccin en el momento de escribirla.

  • 8/7/2019 Visual Basic_Gua del Estudiante

    45/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.net

    La pestaa de Editor nos permite fundamentalmente 2 cosas :

    Ver solamente el cdigo correspondiente al procedimiento que estamos escribiendo Verel cdigo del Mdulo (o Formulario) completo. En este ltimo caso es un poco mas difcilde manejar la ventana de cdigo, sobre todo si el programador no est muy habituado aello. Le presenta procedimiento tras procedimiento, separados por una lnea. Para

  • 8/7/2019 Visual Basic_Gua del Estudiante

    46/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netseleccionar una u otra opcin hay que seleccionar o deseleccionar la casilla Ver mdulocompleto.

    Cambiar el color de la letra y del fondo del cdigo, segn el tipo que sea (cdigo,comentario, error devuelto, etc.). Los alumnos mas aventajados y con ganas de marear alprofesor y, lo que es peor, a sus compaeros, conocen la forma de poner como invisibleuna parte del texto del cdigo. Si observa comportamientos raros en el texto donde escribeel cdigo, revise el cuadro de Colores de Cdigo.

    Visual Basic - Gua del Estudiante Cap. 2

    FORMULARIO

    ____________

    El primer objeto Visual Basic con que nos encontramos es el FORMULARIO. De hecho,cada vez que iniciamos Visual Basic (VB) nos presenta en pantalla un nuevo formulario,que tiene por defecto el nombre de Form1

    El Formulario es un objeto, que sirve de soporte de otros objetos. El nombre deFORMULARIO lo toma precisamente porque, al igual que un formulario de papel contienetextos escritos, lugares donde podemos escribir, figuras, cajas donde podemos elegir una uotra opcin, etc., en este cuadro grfico que llamamos formulario, podemos introducirtextos escritos, lugares donde podemos escribir, figuras, cajas donde podemos elegir una u

    otra opcin ....

    En realidad un formulario es lo que normalmente conocemos por VENTANA. El nombrede formulario le viene muy bien cuando ese formulario es una ventana donde vamos aintroducir datos alfanumricos. Cuando en vez de introducir datos, lo que tenemos es, porejemplo, una ventana donde se reproducen exactamente los controles de operacin de unamquina, parece en principio que sera mas correcto el nombre de "ventana". De algunaforma lo hay que llamar, y esa forma es FORMULARIO. Posiblemente a lo largo de estos

    http://www.monografias.com/trabajos10/visual/visual.shtmlhttp://www.monografias.com/trabajos11/basda/basda.shtmlhttp://www.monografias.com/trabajos11/basda/basda.shtmlhttp://www.monografias.com/trabajos10/visual/visual.shtml
  • 8/7/2019 Visual Basic_Gua del Estudiante

    47/120

  • 8/7/2019 Visual Basic_Gua del Estudiante

    48/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netEjemplo de un formulario para una aplicacin industrial. Este formulario reproduce el panelde control de un transmisor - receptor de radio. En este caso, parece que el nombre deventana le viene mejor que el de formulario. Observe que dentro del formulario existen

    gran cantidad de objetos. Botones, que hacen la misma funcin que el botn real en elequipo de radio, y un par de displays, que muestran un texto, en este caso las frecuencias detransmisin y recepcin.

    Como cualquier objeto Visual Basic, un formulario tiene propiedades y procedimientos:

    PROPIEDADES.

    Name Nombre

    Define al objeto durante la ejecucin del programa. Se introduce en tiempo de diseo y no

    se puede variar durante la ejecucin. Nombre por defecto: Form1 (Form2 y sucesivos) Estenombre por defecto debe cambiarse, (debera cambiarse por norma en el momento deintroducir el formulario), ya que de no hacerlo corremos el riesgo de borrar el cdigoexistente de otro formulario del mismo nombre en el momento de guardar la aplicacin.

    Caption Ttulo

    Es el texto que aparecer en la barra de Ttulo cada vez que aparezca en pantalla esteformulario. No tiene otra funcin dentro del programa. El programa no accede a esteformulario por el ttulo, sino por el nombre. Puede cambiarse en tiempo de ejecucin.

    NOTA.- No confundir Nombre (Name) con Ttulo (Caption)

    Control BoxControl "menos" del FormularioValor por defecto : True

    Propiedad booleana que admite los valores de true (verdadero) o False (Falso). Si estapropiedad es True, aparecer en la esquina superior izquierda el "menos" para desplegar elmen de control de este formulario. Si esta propiedad se pone como False, no existir dicho"menos" y por tanto no se puede desplegar dicho men.

    MinButton

    MaxButtonValor por defecto: True

    Botones (flechas) de minimizar y maximizar este formulario. Son igualmente propiedadesbooleanas, que admiten el valor True o False. Si estn en true, aparecer la flechacorrespondiente. Si estn en False, no aparecer dicha flecha. Deben configurarse de una uotra forma, dependiendo si se quiere minimizar / maximizar este formulario durante laejecucin.

    http://www.monografias.com/trabajos11/wind/wind.shtmlhttp://www.monografias.com/trabajos11/wind/wind.shtmlhttp://www.monografias.com/trabajos13/radio/radio.shtmlhttp://www.monografias.com/trabajos7/mafu/mafu.shtmlhttp://www.monografias.com/trabajos13/libapren/libapren.shtmlhttp://www.monografias.com/trabajos13/mapro/mapro.shtmlhttp://www.monografias.com/Computacion/Programacion/http://www.monografias.com/trabajos901/evolucion-historica-concepciones-tiempo/evolucion-historica-concepciones-tiempo.shtmlhttp://www.monografias.com/trabajos13/diseprod/diseprod.shtmlhttp://www.monografias.com/trabajos13/ripa/ripa.shtmlhttp://www.monografias.com/trabajos12/eticaplic/eticaplic.shtmlhttp://www.monografias.com/trabajos14/nuevmicro/nuevmicro.shtmlhttp://www.monografias.com/trabajos14/nuevmicro/nuevmicro.shtmlhttp://www.monografias.com/trabajos14/nuevmicro/nuevmicro.shtmlhttp://www.monografias.com/trabajos16/romano-limitaciones/romano-limitaciones.shtmlhttp://www.monografias.com/trabajos14/control/control.shtmlhttp://www.monografias.com/trabajos14/control/control.shtmlhttp://www.monografias.com/trabajos16/romano-limitaciones/romano-limitaciones.shtmlhttp://www.monografias.com/trabajos14/nuevmicro/nuevmicro.shtmlhttp://www.monografias.com/trabajos14/nuevmicro/nuevmicro.shtmlhttp://www.monografias.com/trabajos12/eticaplic/eticaplic.shtmlhttp://www.monografias.com/trabajos13/ripa/ripa.shtmlhttp://www.monografias.com/trabajos13/diseprod/diseprod.shtmlhttp://www.monografias.com/trabajos901/evolucion-historica-concepciones-tiempo/evolucion-historica-concepciones-tiempo.shtmlhttp://www.monografias.com/Computacion/Programacion/http://www.monografias.com/trabajos13/mapro/mapro.shtmlhttp://www.monografias.com/trabajos13/libapren/libapren.shtmlhttp://www.monografias.com/trabajos7/mafu/mafu.shtmlhttp://www.monografias.com/trabajos13/radio/radio.shtmlhttp://www.monografias.com/trabajos11/wind/wind.shtmlhttp://www.monografias.com/trabajos11/wind/wind.shtml
  • 8/7/2019 Visual Basic_Gua del Estudiante

    49/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netNota. En los formularios MDI child, es necesario poner a true las propiedades

    ControlBox, MinButton y MaxButton para podermaximizar el formulario hijo. De no

    ponerlas a true, s se pretende maximizar el formulario hijo, (Propiedad WindowState=2)

    el formulario no aparece.

    BorderStyle Tipo de borde

    Define el tipo de borde que tendr el formulario durante la ejecucin. No se puede cambiaren tiempo de ejecucin,

    Admite los siguientes valores:

    0 - None El formulario no tiene borde alrededor

    1 - Fixed Single

    El formulario tendr un borde fino, y no podr cambiarse su tamao durante el tiempo deejecucin. Con este valor, el formulario puede tener un men de control, barra de ttulo ybotones de maximizar y minimizar. Solo podr cambiarse de tamao utilizando estosbotones.

    2-Sizable

    El formulario tendr borde grueso, y se podr cambiar su tamao en tiempo de ejecucinmediante los botones de maximizar y minimizar, y mediante el arrastre de uno de los

    bordes con el ratn.

    3 - Fixed Dialog

    El formulario tendr borde grueso, y no se podr redimensionar durante la ejecucin. Nopuede tener los botones de maximizar ni minimizar.

    4 - Fixed ToolWindow

    En las versiones de 16 bits de Windows y Windows NT 3.51 y anteriores se comportacomo Fixed Single. No puede cambiar de tamao. En Windows 95 muestra el botn Cerrar,

    y el texto de la barra de titulo aparece con un tamao de fuente reducido. El formulario noaparece en la barra de tareas de W95.

    5 - Sizable ToolWindow

    En las versiones de 16 bits se comporta como Sizable. En W95 muestra el botn Cerrar y eltexto de la barra de titulo aparece con un tamao de fuente reducido. El formulario noaparece en la barra de tareas de W95.

    http://www.monografias.com/trabajos10/disfo/disfo.shtmlhttp://www.monografias.com/trabajos35/el-poder/el-poder.shtmlhttp://www.monografias.com/trabajos14/nuevmicro/nuevmicro.shtmlhttp://www.monografias.com/trabajos15/ms-windows/ms-windows.shtmlhttp://www.monografias.com/trabajos11/introwin/introwin.shtmlhttp://www.monografias.com/trabajos11/tebas/tebas.shtmlhttp://www.monografias.com/trabajos11/tebas/tebas.shtmlhttp://www.monografias.com/trabajos11/introwin/introwin.shtmlhttp://www.monografias.com/trabajos15/ms-windows/ms-windows.shtmlhttp://www.monografias.com/trabajos14/nuevmicro/nuevmicro.shtmlhttp://www.monografias.com/trabajos35/el-poder/el-poder.shtmlhttp://www.monografias.com/trabajos10/disfo/disfo.shtml
  • 8/7/2019 Visual Basic_Gua del Estudiante

    50/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netValor por defecto: 2 . Sizable

    Nota: Al cambiar a determinados valores, las propiedades MaxButton y MinButton se

    ponen a False. Pueden cambiarse a True posteriormente.

    AppearanceApariencia Valor por defecto: 3D

    Admite los valores 0 (=Flat, plano) y 1 (=3D) Si tiene el valor 1 (3D), el formularioaparecer con cierto efecto tridimensional, y los controles que le introduzcamos a esteformulario aparecern como esculpidos dentro de l. Con valor 0 (Flat) en esta propiedad,el formulario aparecer durante la ejecucin como una superficie plana. El color de fondose ve afectado al cambiar esta propiedad. Si se cambia a 3D, el fondo (Backcolor) toma elcolor definido en Windows en el Panel de Control. Si se cambia a Flat, toma el color blanco

    Autoredraw Valor por defecto: False

    Propiedad booleana. Esta propiedad, estando en True, permite actualizar el contenido delformulario y de sus controles incluso cuando no estn visibles. Imaginemos que en esteformulario existe un texto, una etiqueta (Label) o caja de texto (Text Box) cuyo texto sehaya cambiado, bien por programa, bien por una entrada, mientras este formulario noestaba visible. Lo mismo podemos decir de las propiedades de cualquier otro control. Siesta propiedad Autoredraw est en False, al hacer visible este formulario, aparecer igualque cuando se ocult. Si esta propiedad est en True, aparecer actualizado.

    Backcolor Color del fondo

    Establece el color del fondo del formulario. Puede cambiarse en tiempo de ejecucin.

    Valor por defecto: El establecido en el Panel de Control de Windows.

    ClipControls Valor por defecto: False

    Propiedad Booleana. Establece si un evento Paint vuelve a dibujar el objeto entero (True) osi solamente dibujan las partes que han sufrido cambios (False)

    DrawMode

    Establece un valor que determina el aspecto de la salida de un mtodo grfico o el aspectode un control Shape o Line. Ver mas adelante los efectos de esta propiedad.

    DrawStile Valor por defecto : 0

    Establece el estilo de lnea de la salida de mtodos grficos:

    http://www.monografias.com/trabajos5/colarq/colarq.shtmlhttp://www.monografias.com/trabajos11/paint/paint.shtmlhttp://www.monografias.com/trabajos11/metods/metods.shtmlhttp://www.monografias.com/trabajos11/metods/metods.shtmlhttp://www.monografias.com/trabajos11/estadi/estadi.shtml#METODOShttp://www.monografias.com/trabajos11/estadi/estadi.shtml#METODOShttp://www.monografias.com/trabajos11/metods/metods.shtmlhttp://www.monografias.com/trabajos11/metods/metods.shtmlhttp://www.monografias.com/trabajos11/paint/paint.shtmlhttp://www.monografias.com/trabajos5/colarq/colarq.shtml
  • 8/7/2019 Visual Basic_Gua del Estudiante

    51/120

    Visual Basic: gua del estudiante

    Descargada de ww.alucardwarez.netValores: 0 - Lnea continua

    1 - Rayas

    2 - Puntos

    3 - Raya-Punto

    4 - Raya - Punto - Punto

    5 - Transparente

    6 - Continuo interior.

    DrawWidth Valor por defecto: 1

    Establece el ancho de una lnea dibujada. El valor debe expresarse en pixeles.

    Enabled Activado Valor por defecto: True

    Propiedad booleana. Si est en True, el formulario est activado y se puede interactuar conl. Si est en False, se desactiva el formulario, impidiendo de esta forma, que se puedatrabajar con l.

    ForeColorValor por defecto: Negro

    Establece el color del primer plano del formulario. Es el color que tendrn las letras siescribimos en l, o los dibujos, si lo que hacemos es dibujar. En tiempo de diseo,determina el color de la rejilla,.

    FillStyleTipo de relleno Valor por defecto: 2

    Establece el modo de