visual basic_guía del estudiante
Post on 08-Apr-2018
225 Views
Preview:
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
top related