Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Estructuras de Código:
El código que escriba en un proyecto de Visual Basic aparecerá siempre en un módulo.
Un módulo es un archivo de proyecto, pudiendo ser un módulo de formulario, de clase o
de carácter general.
1
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
Es conveniente añadir comentarios a las líneas de código que escribas, de esta forma
podrás entender los programas aunque haga tiempo que los escribiste. Para añadir un
comentario en una línea se utiliza el carácter ' (apóstrofe).
Los métodos son pequeños programas que actúan sobre un determinado objeto y que
establecen su comportamiento. Así un objeto puede moverse, ocultarse, etc... Puedes
utilizar cualquier método que forme parte del objeto.
Los eventos son las situaciones que se producen y que nos interesan identificar para
establecer algún tipo de de respuesta por parte del objeto. Así, puedes hacer click
sobre un determinado objeto, creando de esta forma un evento reconocible por el
objeto. Que suceda algo o no como respuesta a este evento dependerá de que hayas
programado alguna acción en el correspondiente procedimiento de evento.
Establecer propiedades
Cuando insertas objetos en un formulario tienes que establecer algunas propiedades
que presenta. Las propiedades son aquellas características propias del objeto que
hacen que se distingan de otro objeto.
2
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
NombreObjeto.NombrePropiedad.
3
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
Utilizar Métodos
Una vez se ha establecido la parte estructural del formulario, se pasa a programar el
comportamiento que debe seguir, de forma que cumpla con el objetivo para el que
desees crearlo, utilizando los métodos.
Un método es un componente más de del objeto, que puede ser utilizado directamente.
Para ello debes llamar al método e indicarle sobre qué objeto deseas aplicarlo, que
deberá admitirlo.
La sintaxis en este caso debe ser: NombreObjeto.NombreMétodo[par1,...,parn], donde
la lista de parámetros [par1...,parn] es opcional de cada método.
Un ejemplo es:
Si quieres mostrar un formulario llamado frmPrimero la sintaxis será:
frmPrimero.Show 1
El valor 1 nos indica que aparecerá de forma modal y si el valor es 0 aparecerá de
forma no modal.
4
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
respuesta que debe dar un objeto ante la ocurrencia de un evento que puede
reconocer.
La definición del procedimiento de evento tiene la siguiente forma:
Private Sub NombreObjeto_NombreEvento([Lista de parámetros])
...instrucciones...
End Sub
CONTROLES BASICOS
Introducción
Al diseñar una aplicación con Visual Basic lo primero que deberemos hacer es planear la
interfaz, que está constituida por el conjunto de formularios que aparecen a lo largo
de la ejecución de la aplicación.
Los controles son los elementos gráficos que aparecen en los formularios y que sirven
para obtener datos y presentar la salida que produce la aplicación.
Entre los numerosos controles que presenta Visual Basic caben destacar los básicos,
que aparecen en casi todas las aplicaciones de Visual Basic como etiquetas, cuadros de
texto, botones de comando, etc... Cada uno de estos controles son tratados como
objetos en Visual Basic, por lo que no tienes que olvidar que tienen su propio conjunto
de propiedades, métodos y eventos.
Entrada de datos
Dos controles muy relacionados y que se utilizan en la función de entrada de datos son
las etiquetas y los cuadros de texto.
Las etiquetas son controles que nos permiten mostrar texto en los formularios y que
tienen la particularidad de que el usuario no puede modificar
Propiedad Definición
Alignment Establece la alineación del texto de la etiqueta
Si su valor es True, el tamaño de la etiqueta se adapta automáticamente a su
Autosize
contenido
Caption Texto que se visualiza en la etiqueta
Enabled Permite o no interactuar con la etiqueta
Font Establece la fuente, tamaño del texto entre otras cosas
5
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
Los cuadros de texto son el control estándar de entrada de datos en Visual Basic.
Permiten al usuario de la aplicación introducir información.
Propiedad Definición
Alignment Alineación de la información introducida.
Enabled Permite o no que se puedan realizar acciones sobre el cuadro de texto
Font Igual que en el caso de las etiquetas
Multiline Permite introducir más de una línea de texto en el cuadro
Estable el caracter que se muestra al realizar una entrada en el objeto.
PasswordChar
Sólo se mostrará dicho caracter
ScrollBars Muestra barras de desplazamiento
TabIndex Establece el orden de tabulación fijado para el objeto
Indica si al utilizar el tabulador se puede desplazar entre los controles
TabStop
del formulario
Text Texto que se visualiza en el control
Los cuadros de texto son semejantes a las etiquetas, pero con la diferencia que el
usuario puede modificar su contenido. El texto que se introduce puede ser tanto
numérico como alfanumérico (números y letras).
A diferencia de la etiqueta, el tamaño del texto es fijo al no permitir la propiedad
autosize.
Control Marco
6
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
Botones de comando
El botón de comando (CommandButton), es muy sencillo, por lo que no tienes que
establecer muchas propiedades. Con la propiedad Caption establecemos el texto que
aparecerá en el botón. También se pueden crear teclas de acceso al botón.
Bloquear controles
Cuando estén situados los controles en el formulario se pueden bloquear para que no
puedan moverse de forma accidental.
Para esto deberemos pulsar en la barra de herramientas:
Cuando actives este botón y mientras no desbloquees los controles utilizando la misma
opción no se podrán mover ninguno de los controles del formulario activo.
Sin embargo en si abres otro formulario que no tenga los controles bloqueados si se
podrán mover. Si añades más controles a un formulario bloqueado estos quedan
bloqueados automáticamente.
Casillas de verificación
Nos dan la oportunidad de poder elegir entre distintas opciones.
Las casillas de verificación (CheckBox), permiten establecer opciones que no son
excluyentes entre sí, es decir, puedes seleccionar una o más de una.
7
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
Botones de opción
Los botones de opción (OptionButton), también permiten presentar opciones al usuario,
pero con la particularidad que sólo puedes seleccionar una de dichas opciones al mismo
tiempo.
Cuadro de lista
Otra forma de presentar las opciones es a través de una lista donde se sitúan dichas
opciones.
De forma predeterminada, las opciones que contiene un cuadro de lista (ListBox), se
presentan verticalmente en una columna, aunque también puede establecerse más de
una columna.
8
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
FUNDAMENTOS DE PROGRAMACION
Variables
Una variable es una ubicación temporal de memoria donde se almacenan datos que
interesan retener durante la ejecución de la aplicación.
Las variables pueden contener texto, valores numéricos, fechas o propiedades de
cierto objeto. Es una forma de dar nombre a una porción de datos con la que deseamos
trabajar en nuestro programa.
Las variables se caracterizan por un nombre que las identifica y por un tipo de datos,
que establece el conjunto de valores posibles que pueden contener y operaciones en las
que puede participar. El valor de una variable puede cambiar a lo largo de la vida de
ésta.
Es necesario declarar las variables para poder utilizarlas en el programa. En Visual
Basic no es obligatorio pero si recomendable.
Al declarar una variable se reserva memoria para ella y se indica qué valores puede
contener a través de su tipo de datos.
Para establecer la declaración de una variable antes de ser utilizada en el código,
puedes hacerlo en la ficha entorno del cuadro de diálogo opciones.
Al activar la casilla Declaración de las variables requerida, Visual Basic introduce la
instrucción Option Explicit en la sección de declaraciones de cada módulo nuevo que se
cree, no de los ya existentes donde tienes que introducirlos manualmente. Esta
instrucción obliga a declarar las variables antes de utilizarlas, lo que es muy
recomendable.
El uso de las variables puede hacer que la aplicación sea más rápida, por ejemplo, si
usas muchas veces un determinado valor, es aconsejable guardarlo en una variable y
utilizarla cuando se necesite que tener que volver a escribir código cada vez que
quieras llamarla. Es más rápido el acceso a las variables que a una propiedad de un
objeto, por lo que también es aconsejable guardar el valor de una propiedad en una
variable.
Veamos un ejemplo:
Dim Variable
Variable = txtEntrada.Text
txtSalida.Text = Variable
9
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
Variable = 125
txtNúmero.Text = Variable
Hemos establecido una variable de valor numérico. Sin embargo en las anteriores
líneas se había establecido un valor de texto ya que la propiedad Text es de ese tipo
de datos. En la última línea se vuelve a utilizar la variable como origen de la propiedad
Text del cuadro de texto txtNúmero.
Tipo de datos
El tipo de datos de una variable establece el número de valores que ésta puede tener,
así como el conjunto de operaciones en las que puede tomar parte como operando
En Visual Basic dicho tipo de datos se especifica al declarar la variable de forma que
se guarda espacio en memoria para poder almacenar los valores de dicho tipo de datos.
Es importante indicar el tipo de datos ya que no todos tienen la misma representación
en memoria, ocupando distinto espacio físico.
Visual Basic de forma predeterminada, a no ser que se indique el tipo de datos,
establece el tipo Variant para todas las variables. Así, al utilizar una instrucción como
Dim NombreVariable, se especifica implícitamente el tipo Variant para dicha variable.
El tipo Variant es un tipo especial de datos que puede contener cualquier clase de
datos excepto cadenas de longitud fija y tipos definidos por el usuario. Al utilizar
variables de este tipo, no hay que preocuparse de efectuar conversiones entre tipos
para utilizarlas en distintos contextos. Las variables de tipo Variant son muy
flexibles, pero ocupan mucha memoria y disminución de la velocidad. Vamos a ver los
siguientes tipos de variables:
Tipo de datos Tamaño
Entero (Integer) 2 bytes
Entero Largo (Long) 4 bytes
Simple (Single) 4 bytes
Doble (Double) 8 bytes
Moneda (Currency) 8 bytes
Cadena de caracteres 1 byte por carácter
10
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
(String)
Byte 1 byte
Boleano (Boolean) 2 bytes
Fecha (Date) 8 bytes
Objecto (Object) 4 bytes
16 bytes + 1 byte por cada
Variant
caracter
Para declarar las variables debes de usar su nombre en inglés.
Constantes
Cuando un valor se repite frecuentemente es interesante guardarlo en una variable.
Las constantes son semejantes a las variables, pero su valor no puede cambiar a lo
largo de la aplicación. Para utilizar una constante hay que declararla previamente. La
forma de declararla es a través de de la instrucción: Const NombreConstante =
Expresión, donde la expresión será un valor literal o un conjunto de palabras que se
evalúen a un valor válido.
Operadores
En Visual Basic existe un gran número de operadores que se pueden utilizar para crear
fórmulas.
Los operadores más utilizados en una aplicación de Visual Basic son los siguientes:
Operador Operación que realiza
+ Suma / Concatenación de cadenas de caracteres
- Resta
* Multiplicación
/ División
\ División entera
Mod Resto de la división entera
^ Exponenciación
& Concatenación de cadena de caracteres
11
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
If condición1 Then
[instrucciones]
[ElseIf condición2 Then
[instrucciones]]
...
[Else
[instruccionesN]
End If
12
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
El código sería:
Dim moneda
moneda = lstMoneda.ListIndex
If moneda = 0 Then
MsgBox "Peseta"
ElseIf moneda = 1 Then
MsgBox "Dólar"
ElseIf moneda = 2 Then
MsgBox "Franco"
End If
Se utiliza una variable para establecer el valor de una propiedad que indica que la
opción del cuadro de lista lstMoneda está seleccionado.
Una vez conocida la opción seleccionada, deberemos sacar el mensaje adecuado, para
ello necesitamos una estructura de decisión.
La instrucción de la cláusula Else, sólo se ejecuta cuando el resto de condiciones han
fracasado. Cualquiera de los bloques de instrucción puede contener un número
arbitrario de instrucciones, incluida la posibilidad de que existan otras instrucciones
If-Then-Else.
Cuando existe un gran número de instrucciones a evaluar es aconsejable utilizar otra
estructura de decisión, como puede ser las instrucción Select Case.
Esta instrucción no da más potencia al lenguaje, pero hace que el código sea más
legible y eficiente. La síntaxis de la instrucción Select Case es:
13
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
[intrucciones]
...
Case Else
[intruccionesN]
End Select
Volvamos al ejemplo anterior pero con la instrucción Select Case:
Select Case moneda
Case 0
MsgBox "Pesetas"
Case 1
MsgBox "Dólar"
Case 2
MsgBox "Franco"
End Select
Además, la lista de expresiones de cada cláusula Case puede ser mucho más
complicada, refiriéndose a más de un valor o rango de valores:
Expresiones Lógicas
Visual Basic incorpora una serie de operadores de comparación que nos son útiles a la
hora de establecer condiciones.
=......Igual a
<>....Distinto a
<.....menor que
>.....Mayor que
<=....menor o igual que
>=....Mayor o igual que
Además existen los llamados operadores lógicos, que nos permiten establecer
condiciones que dependan de más de un criterio de selección.
Todos los operadores hacen que la expresión en la que se encuentren se evalúa a
verdadero o falso, sin posibilidad de cualquier otro valor.
Estas expresiones son:
14
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
And: exp1 And exp2, donde se evalúa a verdadero sólo en el caso que el exp1 como
exp2 se evalúen a verdadero. En cualquier otro caso se evalúa a falso.
Or: exp1 Or exp2, donde se evalúa a verdadero cuando alguna de las expresiones exp1
o exp2 se evalúa a verdadero.
Not: Not exp1. aquí se evalúa a verdadero si exp1 es falso y se evalúa a falso si exp1
es verdadero.
Xor: exp1 Xor exp2, se evalúa a verdadero sólo en el caso de que una y sólo una de las
expresiones exp1 o exp2 se evalúa a verdadero.
Matriz de controles
Un array o matriz de controles es un grupo de controles que comparten el mismo
nombre, tipo y conjunto de procedimientos de evento.
El número de controles que puede contener un array es indeterminado y depende de
los recursos y memoria.
La matriz de controles se crea en tiempo de diseño aunque en tiempo de ejecución se
pueden agregar más controles a la matriz.
Para crear una matriz de controles, tienes que crear dos controles del mismo nombre,
Visual Basic reconoce está situación y preguntará si quieres crear una matriz de
controles. Cuando se crea una matriz de controles puedes seguir trabajando con cada
uno de los controles de forma individual. Para referirte a un control en particular
tienes que utilizar la propiedad Index de dicho control. La propiedad se establece con
el valor 0 para el primer control y se va incrementando a medida que se van creando los
nuevos controles. Si quieres crear nuevos controles en tiempo de ejecución tienes que
utilizar la instrucción Load. La sintaxis será la siguiente:
Load objeto(índice)
Donde el objeto se refiere al nombre del control original que dio paso al control de la
matriz e índice es el lugar que ocupará en la matriz.
De la misma forma se puede eliminar un control en tiempo de ejecución, pero esta vez
usando la instrucción Unload.
Estructuras de repetición
Otro tipo de estructuras que pueden modificar la ejecución de un programa son las
estructuras de repetición o bucles. Estas estructuras sirven para repetir una y otra
vez un conjunto de instrucciones.
Existirán dos tipos de estructuras de repetición: aquellas en las que se conoce el
número de repeticiones y aquellas en que dicho número se establece durante la
ejecución.
15
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
Donde el contador es el nombre de una variable que sirve como contador de las veces
que se tiene que ejecutar el bucle. A dicha variable se le asigna un valor incial y un
valor final en el que una vez superado el bucle no vuelve a repetirse. En el cuerpo del
bucle estarán las instrucciones que deben ejecutarse existiendo la posibilidad de
introducir Exit For para salir del bucle. Otra estructura de repetición es Do...Loop.
Esta estructura se utiliza cuando desconocemos cuántas veces se ha de ejecutar el
bucle. La sintaxis es:
Do [While|Until] condición
[instrucciones]
[Exit Do]
[intrucciones]
Loop
Tipos de procedimientos
En Visual Basic existen tres tipos de procedimientos: Sub, Function y Property Los
procedimientos Function se distinguen de los Sub por que siempre devuelven un valor
asociado al nombre del procedimiento. Este valor puede ser usado por el código que lo
ha llamado. Los procedimientos Property sirven para crear y manipular propiedades
personalizadas de los objetos.
16
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
Los argumentos deben coincidir en la llamada en número y tipo con la definición del
procedimiento. Tanto si se especifica en la llamada un número distinto de argumentos
como si alguno de éstos no pueden convertirse al tipo declarado en la definición del
procedimiento, se creará un error de compilación.
La llamada al procedimiento será como una instrucción más del lenguaje, donde se
especifica el nombre del procedimiento seguido sin paréntesis, de una línea de
argumentos que deberá coincidir en número y tipo con los parámetros de la definición
y que darán valor a los parámetros para que se ejecute el cuerpo del procedimiento.
Una vez se llega a la instrucción End Sub del procedimiento el flujo de ejecución
vuelve a la línea siguiente a la que ocasionó la llamada.
17
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
En el cuerpo del procedimiento aparecerá una asignación del valor a devolver con el
nombre del procedimiento. El uso de los procedimientos Function suele estar más
restringido que el de los procedimientos Sub.
Un procedimiento Function es utilizado cuando necesitamos obtener un único valor,
resultado de un cálculo o proceso a realizar. Un procedimiento de este tipo no debería
realizar más de lo que se le pide, ni mostrar mensajes, ni devolver más valores en los
parámetros, etc.
La diferencia en la definición de un procedimiento Sub y un Function comienza en la
cabecera. El procedimiento Function también puede contener una lista de parámetros,
no debe aparecer ninguno que sIrva para devolver el valor que se calcula, ya que dicho
valor tiene que asociarse con el mismo nombre del procedimiento Function.
Además, al tener que devolver un valor asociado al nombre del procedimiento Function,
el procedimiento tiene que tener un tipo de datos. Esto se especifica indicando la
cláusula AS Tipo al final de la cabecera del procedimientos, una vez indicada la lista de
parámetros. Si no se especifica ningún tipo de datos, se aplica la misma regla que con
las variables, es decir, tendrá el tipo Variant.
NombreVariable = NombreFunction(ListaParámetros)
Si quieres utilizar el valor que devuelve el procedimiento Function, tienes que encerrar
la lista de argumentos, en la llamada, con paréntesis. Esto no era así en el caso del
procedimiento Sub.
Visual Basic incorpora un gran número de funciones que puedes utilizar en tus
aplicaciones, entre ellas cabe destacar MsgBox, InputBox, Date...
Paso de parámetros
A la hora de escribir la definición de un procedimiento Sub o Function puedes
especificar cómo se pasan los parámetros de su lista de parámetros: por valor o por
referencia. Cuando el paso es por valor, se utiliza la palabra clave ByVal antecediendo
al nombre del parámetro en la definición del procedimiento. En este caso el
procedimiento recibe una copia del argumento utilizado en la llamada y no el mismo
18
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
Ambito de la acción
Cuando un proyecto esté constituido por distintos módulos, ya sean de formulario,
clase o módulos generales de Visual Basic, es importante delimitar dónde se pueden
utilizar y dónde no, los procedimientos, variables y constantes que tengas definidos o
declaradas.
El nivel de ocultación es establecido por el programador al declarar las variables y
constantes o al definir procedimientos utilizando las palabras Pulbic y Private.
Una declaración de variables de tipo Public NombreVariable As Tipo, indica que dicha
variable puede ser utilizada tanto en el módulo donde se realiza como en el resto de
módulos de la aplicación.
Si la declaración fuera del tipo Private NombreVariable As Tipo, dicha variable sólo
podrá ser conocida y por tanto utilizada, en el mismo módulo donde se declara.
El uso de Public y Private también se aplica a la declaración de procedimientos. Un caso
especial es cuando se declara una variable dentro de un procedimiento, en estos casos,
dichas variables sólo pueden ser conocidas por el propio procedimiento, por lo que no
es válida la declaración Public de estas.
Además, si existe conflicto de nombre, al haber declarado dos variables con el mismo
nombre, una a nivel de módulo y otra a nivel de procedimiento, siempre tiene
preferencia la más local, es decir, la declarada a nivel de procedimiento.
Al utilizar Dim en la declaración de las variables, en lugar de Private o Public, la
visibilidad de dichas variables es la que deban tener por defecto: a nivel de módulo
está visible para todos los procedimientos y a nivel de procedimiento sólo para éste.
EFECTOS GRAFICOS
Control Line
La incorporación de elementos gráficos a las aplicaciones hacen que tenga una interfaz
más amigable para el usuario. Visual Basic incorpora una serie de controles gráficos
19
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
Control Shape
Con el control Shape (Forma), podemos dibujar distintas figuras como círculos,
rectágulos, óvalos...
Para agregar figuras a los formularios utilizaremos el control Shape: La apariencia
inicial de un objeto Shape es siempre un rectágulo. Dicha característica se establece a
través de la propiedad Shape.
Otra propiedad interesante de este control es el relleno de las figuras que
estableceremos con la propiedad FillStyle.
También, mediante la propiedad FillColor podrás establecer el color de dicho relleno,
el color de los bordes con BorderColor.
20
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
DragMode y DragIcon son las dos propiedades que tienes que tener en cuenta a la hora
de permitir el arrastre de objetos en la aplicación. También hay que tener en cuenta el
evento DragOver, sucede cuando el usuario arrastra un objeto por encima de otro, en
este último, es decir el destino, el que reconoce el evento DragOver. El procedimiento
de evento DragOver trabaja con cuatro parámetros: Source X, Y y State. El
parámetro Source representa el control que está siendo arrastrado, siendo X e Y la
posición exacta en la que se encuentra.
El parámetro State indica si el movimiento del ratón, al realizar el arrastre, es para
entrar en el objeto destino o para salir del mismo. Todos esto parámetros están
situados en la cabecera del procedimiento DragOver.
Si State tiene un valor 0, entonces el movimiento del objeto que está siendo
arrastrado es para entrar en el objeto que reconoce el DragOver. En el caso de que
State sea igual a 1, el movimiento de arrastre es hacia afuera, es decir, saliendo.
Utilizando el valor de éste parámetro podrás decidir qué debe ocurrir.
21
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
End If
End Sub
En este caso aumentarás el tamaño del control destino haciéndolo a través de sus
propiedades Heihgt y Width.
Editor de menús
Al usar menús se evita ocupar mucho espacio en las ventanas, ya que estos sólo
aparecen cuando se despliegan explícitamente. Además, se pueden crear hasta cinco
niveles de menús, por lo que el número de comandos y posibilidades es suficientemente
amplio.
En Visual Basic se trabajo con el editor de menús para crear, establecer propiedades y
modificar los menús. Para acceder a él basta con pulsar el siguiente botón en la barra
de herramientas:
Este botón sólo estará activo cuando esté abierto el formulario, ya que el menú
siempre está asociado con un determinado formulario. El editor de menús presenta las
siguientes propiedades que se pueden aplicar sobre los menús:
Caption: Representa es texto que aparecerá en el menú.
Name: Es el nombre del control. Se puede anteponer el prefijo mnu más el texto del
título del menú. Checked: Establece si debe aparecer una marca de verificación a la
izquierda del texto del objeto del menú. La marca la puedes utilizar cuando deseas
informar de la opción que está activada en un momento determinado.
Enabled: Indica si el objeto podrá recibir eventos del usuario. Si tiene el valor False el
elemento aparecerá atenuado en el menú.
Visible: Indica si el objeto debe mostrarse o no, si se establece este valor a False, los
elementos situados a la derecha ocupan el lugar del elemento no visible.
WindowsList: Establece el valor que determina si un objeto de menú mantiene una lista
de las ventanas MDI secundarias del formulario actual.
22
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
Utilizando los botones de sangría se puede determinar el nivel del objeto menú que
quieras seleccionar. Así, los títulos de menú se sitúan en el nivel superior, mostrándose
en la lista inferior del editor de menús, lo más a la izquierda posible.
En muchas aplicaciones se pueden ver unas barras horizontales en los menús
desplegables que realizan la función de dividir en secciones dichos menús. Este
elemento es conocido como un separador, y sirve para separar aquellos comandos del
menú que tengan un motivo en común. Para crear un separador, basta con introducir un
guión (-) en la propiedad Caption. No se puede crear un elemento en un nivel inferior
inmediatamente después de un separador, es decir, no puedes tener como título de
menú un separador.
23
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
admite la incorporación de teclas de método abreviado. Las abreviaturas del menú son
combinaciones de teclas que se pueden utilizar en lugar de elegir el elemento del menú
correspondiente.
Para crear una tecla de método abreviado tienes que utilizar la propiedad Shortcut, a
la que puedes acceder al crear el menú desde el editor de menús.
Eventos de menú
Cuando en tiempo de diseño seleccionamos la opción de menú de un formulario que
estamos creando, Visual Basic muestra el procedimiento de evento click de dicho
elemento del menú.
En el caso del título del menú, el procedimiento click tiene como acción
predeterminada la de mostrar los elementos de menú del nivel inferior, por lo que no
será necesario tener que programar esta acción. Esto también se puede aplicar a los
elementos de un menú que son a su vez títulos de submenús.
En casi todos los casos tienes que utilizar una opción del menú para descargar el
formulario o para finalizar la aplicación. La opción de texto salir suele ser el más
apropiado. La instrucción Unload descarga de memoria el formulario que se
especifique. Se puede usar de varias formas, por ejemplo si estamos dentro de un
Form llamado frmconsulta podremos salir de él de dos formas: Una es Unload Me o
Unload frmconsulta.
Menus contextuales
Estos menús aparecen cuando hacemos click con el botón secundario del ratón, y suele
presentar opciones que se corresponden con las acciones más usuales de la aplicación.
Este menú puede aparecer en cualquier ventana de la aplicación a diferencia de los
menús anteriores.
Un menú contextual no se asocia con un determinado objeto situado en el formulario,
al ser igual que un menú desplegable está asociado a un formulario. Para mostrar un
menú contextual tienes que usar el método PopupMenu del formulario donde lo estés
creando. La sintaxis es la siguiente:
[objeto].PopupMenu NombreMenú[,indicadores[,x[,y[,boldcommand]]]]
24
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
CUADROS DE DIALOGO
Introducción
La mayoría de las aplicaciones Windows hacen uso de los cuadros de diálogo para
establecer las opciones o introducir información que necesitan para realizar una acción
indicada por el usuario.
Otro uso posible de los cuadros de diálogo es presentar información al usuario. Los
cuadros de diálogo se caracterizan por ser modales y no permitir poder cambiar el
tamaño de la ventana, además no deberán tener una barra de menús desplegables.
En Visual Basic podemos crear tres tipos de cuadros de diálogos: personalizados,
predefinidos y diálogo común.
Cuadros predefinidos
La síntaxis completa de la función MsgBox es:
MsgBox(mensaje[, botones][, título][, archivoAyuda, contexto])
Los valores que pueden tomar el parámetro botones son:
Constante Valor Descipción
Muestra sólo el
vbOKOnly 0
botón aceptar
25
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
Botones
vbOKCancel 1 aceptar y
cancelar
Botones anular,
vbAbortRetryIgnore 2 reintentar e
ignorar
Botones si, no y
vbYesNoCancel 3
cancelar
vbYesNo 4 Botones si y no
Botones
vbRetryCancel 5 reintentar y
cancelar
Muestra el
vbCritical 16 icono de
mensaje crítico
Icono de
vbQuestion 32
interrogación
Icono de
vbExclamation 48
exclamación
Icono de
vbInformation 64 mensaje de
información
Cuadro de
vbAplicationModal 0 diálogo modal
de la aplicación
Cuadro de
vbSystemModal 4096 diálogo modal
del sistema
26
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
Nos permite mostrar cinco cuadros de diálogo estándar en las aplicaciones. Estos
cuadros de diálogo son:
Abrir
Guardar Como
Imprimir
Fuente
Color
También podemos hacer uso del control diálogo para llamar al motor de Ayuda de
Windows de forma que pueda presentar el archivo de ayuda en línea de la aplicación.
Al crear un objeto diálogo común, se sitúa en una posición y un tamaño estándar. En el
caso de querer utilizar el cuadro de diálogo común Guardar como:
DialogTitle: Es el texto que debe aparecer en la barra de título del cuadro de diálogo.
DefaultExt: Es la extensión con la que se guardará el archivo.
Filter: Indica la extensión de los archivos que deben mostrarse en el cuadro de
diálogo.
En el caso de la propiedad Filter se puede indicar que muestre más de un tipo de
archivos. Para esto se utiliza la sintaxis:
Archivos de Texto|*.txt|Base de datos|*.mdb
Con el ejemplo anterior nos aparecerán todos los archivos de texto(*.txt) y los de base de
datos(*.mdb).
27
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
Controles especializados
Visual Basic proporciona una serie de controles especializados en el acceso al sistema
de archivos de windows.
Estos controles son el Cuadro de lista de unidades, el Cuadro de lista de directorios y
el Cuadro de lista de archivos. Cada uno de estos controles permite acceder a los
correspondientes elementos del sistema de archivos.
28
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
Al cuadro de lista de unidades (figura superior), tienes que darle un tamaño adecuado
para que se pueda mostrar cualquier unidad que tengas en tu ordenador. En tiempo de
diseño se muestra la etiqueta de la unidad del disco duro de forma que puedas ajustar
el control al tamaño de la misma. Este control incluye las unidades de disco duro, disco
flexible y Cd-Rom, etc...
El cuadro de lista de directorios nos permite mostrar los directorios del sistema de
archivos del ordenador.
Es conveniente que este control muestre tres o cuatro carpetas o directorios. En
tiempo de diseño muestra la carpeta en la que se inicia la aplicación y en la que por
defecto se guarda el proyecto.
Conectar controles
En tiempo de diseño, al dibujar los distintos controles del sistema de archivos, estos
muestran la unidad y el directorio en la que se crea el proyecto como he comentado
29
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
Para el control cuadro de lista de directorios deberemos hacer algo parecido, el código
será el siguiente:
30
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
ManejadorError:
If Err.Number = 68 Then
resp = MsgBox("El dispositivo no está preperado", vbAbortRetryIgnore)
Resume
ElseIf resp = vbAbort Then
Drive1.Drive = Dir1.Ptah
Resume Next
End If
End If
Archivos de texto
Vamos a escribir código para cuando el usuario haga click en un archivo de la lista de
archivos (capítulo 15), su contenido se muestre en un cuadro de texto. El código puede
ser el siguiente:
31
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
32
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
La instruccion FileCopy
La instrucción FileCopy nos permite realizar una copia de un determinado archivo.
La sintaxis de esta instrucción es:
UTILIZACION DE OLE
Introducción
Compartir información sobre distintas aplicaciones es una de las características más
potentes que posee Windows. Al compartir información, lo que realmente se está
haciendo es compartir objetos que son creados por dos o más aplicaciones Windows
distintas. Aquí es donde entra en juego OLE, sentando las bases para crear y
compartir objetos entre distintas aplicaciones.
33
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
Visual Basic actúa como nexo entre las aplicaciones Windows al permitir el uso de
objetos OLE en sus aplicaciones. Se pueden tener en un mismo formulario de Visual
Basic una hoja de cálculo de Excel y un documento de Word.
Visual Basic puede utilizar los objetos de otras aplicaciones de la misma forma que
cualquier otro objeto de Visual Basic. Puede establecer o leer propiedades, utilizar sus
métodos, etc... Esto se denomina Automatización OLE.
El contenedor OLE
Mediante el uso del control contenedor OLE, puedes crear formularios de Visual Basic en los que se
incluya información proveniente de distintas aplicaciones Windows.
En este cuadro nos aparecen los distintos tipos de objetos que podemos insertar en el
formulario. Estos objetos provienen de las aplicaciones compatibles con OLE que
tengas instaladas en tu equipo.
Cuando una aplicación se instala en un ordenador queda registrada en el Registro de
Windows. Este registro es como una base de datos don Windows guarda información
referente a las aplicaciones que tiene instaladas. Entre otras cosas se guardan los
objetos insertables que ofrecen dichas aplicaciones y que después nos aparecerán en
el cuadro de diálogo insertar objeto.
34
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
35
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
Objetos insertables
Algunas aplicaciones proporcionan objetos que pueden utilizarse como controles
personalizados en Visual Basic.
De esta forma se pueden agregar a la caja de herramientas de Visual Basic sin tener
que utilizar el control contenedor OLE. Para esto utilizaremos el menú contextual de la
caja de herramientas o elegir Controles personalizados en el menú de herramientas.
Activa las casillas de los objetos que utilizas normalmente en tus aplicaciones y ya no
será necesario utilizar el control contenedor OLE, insertando el objeto específico de
una forma directa a través de los botones de la caja de herramientas que aparecen
para ello.
Además es posible que una aplicación aporte más de un tipo de objeto insertable. Por
ejemplo, Excel permite la inserción de objetos hoja de cálculo y gráficos. Tienes que
tener en cuenta que al utilizar un objeto insertable como control personalizado en la
caja de herramientas, sólo puedes incrustar un objeto nuevo ya que no tienes la opción
36
UNFV-FIC Ing. Carlos Guzmán Ubillús
CURSO: INFORMATICA
Automatización OLE
Una de las características más potentes de la utilización del estándar OLE es la
Automatización OLE.
Nos permite mediante programación, integrar varias aplicaciones Windows en una
aplicación creada con Visual Basic. El estándar OLE permite que las aplicaciones actúen
como servidores OLE o como clientes OLE. Un servidor OLE proporciona objetos que
pueden ser utilizados en otras aplicaciones. Un cliente OLE es una aplicación que utiliza
objetos creados en una aplicación distinta.
Al utilizar la automatización OLE, puedes utilizar los objetos de otras aplicaciones
como si fueran objetos de Visual Basic, estableciendo propiedades y utilizando sus
métodos.
El uso del examidor de objetos permite conocer y pedir ayuda sobre los componentes
de dichos objetos, facilitando la utilización de sus métodos y propiedades de la forma
correcta:
Dim x As Object
Set x = CreateObject ("Word.Basic")
x.ArchivoNuevo
x.TamañoFuente 24
x.Insertar "Uso de la Automatización OLE"
37