2. ¿Qué es Visual Basic?
Visual Basic es un lenguaje de programación visual, también
llamado lenguaje de 4ª generación. Esto quiere decir que un gran
número de tareas se realizan sin escribir código, simplemente con
operaciones gráficas realizadas con el ratón sobre la pantalla.
Historia
Las siglas Basic significan (beginner's all-purpose simbolic
instruction Codic). El lenguaje Basic fue creado en el año 1964 y
se modificó varias veces hasta que en el año 1978 se estableció el
Basic estándar. Este anteriormente se llamo "gwbasic", luego
"QuickBasic" y asi fue evolucionando y finalmente llegamos al
"Visual Basic", todas con sus diferentes versiones, la 1, 2 , etc..
hasta la 6.0
3. El entorno de visual basic 6.0 (IDE)
Cuando se arranca Visual Basic 6.0 aparece en la pantalla una configuración similar a la mostrada en
la Figura 1.1. En ella se pueden distinguir los siguientes elementos:
1. La barra de títulos, la barra de menús y la barra de
herramientas de Visual Basic 6.0 en modo Diseño (parte
superior de la pantalla).
2. Caja de herramientas (toolbox) con los controles
disponibles (a la izquierda de la ventana).
3. Formulario (form) en gris, en que se pueden ir situando los
controles (en el centro). Está dotado de una rejilla (grid) para
facilitar la alineación de los controles.
4. Ventana de proyecto, que muestra los formularios y otros
módulos de programas que forman parte de la aplicación
(arriba a la derecha).
5. Ventana de Propiedades, en la que se pueden ver las
propiedades del objeto seleccionado o del propio formulario
(en el centro a la derecha). Si esta ventana no aparece, se
puede hacer visible
con la tecla <F4>.
6. Ventana FormLayout, que permite determinar la forma en
que se abrirá la aplicación cuando comience a ejecutarse
(abajo a la derecha).
4. Barra de menús y Barra de herramientas
Esta es la barra de menus y barra de herramientas de
Visual Basic, desde aquí se puede configurar todo el
entorno o IDE, elegir el tipo de proyecto a crear, compilar
el proyecto en un ejecutable, acceder a la ayuda, abrir un
proyecto, guardar, el acceso a los distintos modos y
opciones de depuración de errores, y muchas opciones
mas.
5. Caja de herramientas
Los controles estándar son los
controles básicos, por ejemplo
los Command Button o
botones de comando,
Control TextBox o caja de
texto, Picture Box o caja de
imagen. El control
FileListBox para ver
archivos, y varios otros que
se explican en los siguientes
capítulos.
6. Formulario
Es la ventana o contenedor
donde se coloca y agrega
controles de comando , como
un botón, una caja de texto, un
control de imagen, etc...
Un programa puede tener varios
formularios. Por ejemplo se
puede tener un formulario1 con
un botón y al presionar este
botón hacer aparecer otro
formulario en este caso un
formulario2.
7. Ventana de Proyecto
La imagen, muestra los formularios
(ventanas) , módulos de código, y otros
tipos de objeto que componen el
proyecto.
Desde esta ventana se puede hacer
varias operaciones: por ejemplo al
seleccionar un formulario, en los
botones "Ver Objeto" y "Ver código"
en la parte superior, accedemos a la
vista de diseño del formulario,
mientras que si elegimos Ver código, se
abre una ventana que muestra el código
de ese formulario seleccionado.
También podemos desde esta ventana,
Guardar el formulario, eliminarlo y
varias otras acciones.
8. Ventana de Propiedades
Desde la Ventana de Propiedades se
puede modificar las características del
objeto o control seleccionado
actualmente. Por ejemplo si se agrega
un formulario y se selecciona, se puede
establecer el color de fondo, el ancho,
alto, el nombre que va a tener para
poder identificarlo y muchas otras
propiedades.
Lo importante que quede claro es que
esta ventana cambia cada vez que se
selecciona un objeto o control diferente,
si seleccionamos un botón o Command
Button, visualizará las propiedades de
ese botón, si seleccionamos un
formulario las propiedades de ese
formulario, si seleccionamos un
TextBox, mostrará las propiedades de
ese textBox , etc..
9. Mensajes en Visual Basic
Podemos decir que tenemos dos tipos de cuadros de
mensajes con los que podemos trabajar: los cuadros de
mensajes propiamente dichos y los de entrada.
Estos cuadros (de diálogo) los utilizaremos para mostrar
algún tipo de mensaje al usuario de la aplicación, ya sea de
error, aviso o de cualquier otro tipo. A ellos, le podremos
modificar diferentes elementos como el título, el icono,
botones, la cantidad de botones, sus funciones y otras
características que veremos a medida que vayamos
hablando de cada uno de los tipos de cuadros.
Los cuadros de entrada en cambio son ventanas en las que
se espera que el
usuario escriba algún tipo de texto que nos servirá para
continuar con la aplicación.
10. Mensajes en Visual Basic: Cuadros
de mensajes (MsgBox)
Estos cuadros los utilizaremos para mostrar mensajes o para obtener
por parte del usuario respuestas sobre determinadas acciones.
Sintaxis:
MsgBox (Mensaje , Botones e iconos, Título)
Parámetros
Prompt Obligatorio (Mensaje). Expresión de tipo String que se
muestra como mensaje en el cuadro de diálogo. La longitud máxima
de Prompt es de aproximadamente 1024 caracteres, según el ancho
de los caracteres utilizados..
Buttons Opcional (Botones e iconos). Expresión numérica que
corresponde a la suma de los valores que especifican el número y
tipo de botones que se han de mostrar, el estilo de icono que se va a
usar, la identificación del botón predeterminado y la modalidad del
cuadro de mensaje. Si se omite Buttons, el valor predeterminado será
cero.
Title Opcional (Título). Expresión de tipo String que se muestra en la
barra de título del cuadro de diálogo. Si se omite Title, en la barra de
título aparecerá el nombre de la aplicación.
11. Ejemplo de un MsgBox sencillo
Como se mencionó anteriormente, el único
parámetro obligatorio en un mensaje es el
Prompt (Mensaje). Si no se desea colocarle
título ni botones predeterminados, la forma de
escribir el mensaje es la siguiente:
MsgBox “mensaje”
12. Ejemplo:
Realizar un programa que en una ventana o formulario
esté insertado un botón, y que al presionarlo, muestre
otra ventana con un mensaje. Este mensaje visualizará un
texto con la descripción "Mi primer programa".
13. Ya abierto el Visual Basic aparecerá un formulario
llamado por defecto Form1.
Agrega un botón (CommandButton) desde la caja
de herramientas, haciendo click sobre él y luego
sobre el formulario.
Para cambiar el nombre del botón haz click sobre él
y luego busca en sus propiedades la opción de
“Caption” y escribe “Mostrar mensaje” y presiona la
tecla enter.
14. Ahora vamos a agregar las instrucciones o líneas de código para que cuando se pulse el botón se
despliegue un mensaje. Para ello, hay que hacer Doble click sobre el botón y se abrirá una ventana
donde se debe escribir el código. Esta se llama, precisamente, ventana de Código. Al abrirse la
ventana muestra una serie de instrucciones:
Private Sub Command1_Click()
End Sub
A esto se lo llama Subrutina o procedimiento de código, y estas subrutinas tienen un comienzo y un
fin.
Allí se escribirá el código necesario para que aparezca, a través de una ventana, el mensaje: “Mi
primer programa".
Entre la declaración Private sub Command1_click y End sub escribe lo siguiente:
Msgbox "Mi primer programa"
Entonces, el código tendría que quedar de la siguiente manera:
Private Sub Command1_click()
MsgBox "Mi primer programa"
End Sub
15. Lo que se hizo fue utilizar una función llamada
MsgBox , que sirve para mostrar mensajes.
Ahora, para ejecutar o probar el ejemplo presiona
la tecla F5:
Una vez que se esté ejecutando el programa,
presiona el botón que agregaste y se mostrará el
mensaje de la siguiente manera:
16. Es posible que deseemos escribir un mensaje en
varias líneas con salto de párrafo.
MsgBox "Hola" & vbCrLf & "Esto es un ejemplo.“
El resultado es :
17. Botones e íconos del mensaje
Miembro Descripción
vbOKOnly Muestra sólo el botón Aceptar.
vbOKCancel
Muestra los botones Aceptar y
Cancelar.
vbAbortRetryIgnore
Muestra los botones Anular, Reintentar
y Omitir.
vbYesNoCancel Muestra los botones Sí, No y Cancelar.
vbYesNo Muestra los botones Sí y No.
vbRetryCancel
Muestra los botones Reintentar y
Cancelar.
vbCritical Muestra el icono Mensaje crítico.
vbQuestion Muestra el icono Consulta de advertencia.
vbExclamatio
n
Muestra el icono Mensaje de advertencia.
vbInformation Muestra el icono Mensaje de información.
18. Ejemplos de un MsgBox
Mensaje sin título y con botones Si y No
MsgBox (“Mi primer programa”, vbYesNo)
Mensaje con título y con botones Reintentar y
Cancelar
MsgBox (“Mi primer programa”, vbRetryCancel,
“Programa”)
Mensaje con título y con ícono de Información
MsgBox (“Mi primer programa”, vbInformation,
“Programa”)
19. Ejemplos de un MsgBox
Nótese que hasta ahora o insertamos
botones o insertamos íconos. Para
insertar ambos hay que sumarlos de la
Así por ejemplo :
MsgBox "Hola" & vbCrLf & "Esto es un ejemplo.", vbQuestion +
vbYesNo , "Ejemplo"
El resultado es :
siguiente manera:
20. Ejemplos de un MsgBox
Aún así, es posible que deseemos que el Focus lo adquiera un botón
determinado. Por ejemplo, en este caso del mensaje anterior el Focus lo
tiene el botón Sí, pero es posible que deseemos que lo tenga el botón No.
Esto se consigue con los siguientes parámetros :
Primer botón predeterminado vbDefaultButton1
Segundo botón predeterminado vbDefaultButton2
Tercer botón predeterminado vbDefaultButton3
MsgBox ("Hola" & vbCrLf & "Esto es un ejemplo.", vbQuestion + vbYesNo +
vbDefaultButton2, "Ejemplo“)
El resultado es :
21. Mensajes en Visual Basic: Cuadros
de mensajes (MsgBox)
Si deseamos saber que botón pulsó el usuario
para llevar a cabo alguna acción se debe
hacer uso de sentencias lógicas. De la
siguiente manera:
If MsgBox (“Desea salir del programa?”, vbYesNo, “Salir”) =
vbYes then
end
End If
Constante :
vbOK
vbCancel
vbAbort
vbRetry
vbIgnore
Valores devueltos:
vbYes
vbNo
22. Mensajes en Visual Basic:
InputBox
El InputBox nos permite sacar una caja de texto donde el usuario pasará
un parámetro, valor o dato para que el programa lo trate y lo ejecute.
El mensaje que quiere que aparezca se realiza de forma casi idéntica al
MsgBox. Puede escribirse varias líneas de texto seguidas por la constante
de Visual Basic VbCrLf o salto de línea o párrafo.
Sintaxis de un InputBox
Al utilizar este tipo de ventana tenemos que asignar el contenido del
cuadro de
mensaje a una variable donde se almacenará lo que el usuario escriba
dentro del
InputBox.
Si el usuario pulsa Aceptar, el contenido del cuadro de texto pasará a la
variable
asignada para este efecto, mientras que si el usuario pulsa en Cancelar no
se añade
nada a variable.
23. Mensajes en Visual Basic:
InputBox
InputBox
Más adelante se explica más a profundidad la inicialización de
variables. Por ahora, inicializaremos una de tipo String la cual
almacenará el texto escrito por el usuario. Sin embargo, es
importante destacar que esta variable puede ser de otro tipo
diferente a String
24. Ejemplo InputBox
Dim Valor As String
Valor = InputBox("Deme su nombre", "Ejemplo")
MsgBox "Su nombre es: " & Valor
Tiene como resultado :
Permite
concatenar
caracteres
25. Controles de Visual Basic
Para incorporar un componente a una
forma solo basta seleccionarlo con un click
en su ícono y luego colocar el cursor
dentro del formulario en el lugar donde se
quiere que aparezca
26. Controles de Visual Basic
Command Button
Botón de comando, permite que el usuario pueda pulsar botones y que
realicen determinadas acciones. La propiedades más importantes del
botón de comando Propiedad son:
Funcionalidad
Caption Lo que aparece escrito en él
Left yTop posición
Height, Width apariencia externa
Enabled si en un momento dado puede ser
pulsado o no
Si en la propiedad Caption se pone el carácter (&) antes de una de
sus letras, dicha letra aparece subrayada en el botón (como la “x” en
el botón Exit de la figura anexa). Esto quiere decir que, como es
habitual en Windows, dicho botón puede activarse con el teclado por
medio de la combinación Alt+letra subrayada. Esta característica es
común a muchos de los controles que tienen propiedad Caption.
También puede mostrar un icono o imagen gráfica, primero poniendo
su propiedad style = 1 (gráfico) y luego usando su propiedad picture
para buscar una imagen adecuada.
27. Controles de Visual Basic
Label
Este componente se utiliza para desplegar textos o mensajes
estáticos dentro del formulario
En las etiquetas o labels la propiedad más importante es
Caption, que contiene
el texto que aparece sobre este control. Esta propiedad puede
ser modificada
Desde el programa, pero no interactivamente clicando sobre
ella. Puede controlarse su tamaño,posición, color de fondo y
una especie de borde 3-D. Habitualmente las labels no suelen
recibir eventos ni contener código.
Las Labels tienen las propiedades AutoSize y WordWrap. La
primera, cuando está a True, ajusta el tamaño del control al del
texto en él contenido. La segunda hace que el texto se
distribuya en varias líneas cuando no cabe en una sola.
28. Controles de Visual Basic
Option Button
Permite tener varias opciones de las cuales seleccionar una.
Estos botones tienen la propiedad Value, que en un determinado momento
sólo puede ser True en uno de los botones del grupo ya que se trata de
opciones que se excluyen mutuamente.
Para agrupar botones se coloca primero un marco o frame en el formulario
y, estando seleccionado, se colocan después cuantos botones de opción
se desee. En un mismo formulario se pueden colocar cuantos grupos de
botones de opción se quiera, cada uno de ellos agrupado dentro de su
propio marco. Es muy importante colocar primero el frame y después los
botones de opción. Con esto se consigue que los botones de opción estén
agrupados, de modo que sólo uno de ellos pueda estar activado. Si no se
coloca ningún frame todos los botones de opción de un mismo formulario
forman un único grupo. Si los botones ya existen y se quieren introducir un
un frame se seleccionan, se hace Cut y luego Paste dentro del frame
seleccionado.
29. Controles de Visual Basic
Check Box
Permite tener opciones sobre las que el usuario confirma o
niega.
La única diferencia entre estos botones y los anteriores es
que en los botones de selección puede haber más de uno
con la propiedad Value a True. Estos botones no forman
grupo aunque estén dentro de un frame, y reciben el focus
individualmente. Se puede también utilizar el carácter (&) en
el Caption para activarlos con el teclado. El usuario debe
decidir qué tipo de botones se ajustan mejor a sus
necesidades: en el caso de la edad, está claro que no se
puede ser de dos edades diferentes; sí es posible sin
embargo conocer varios lenguajes de programación.
30. Controles de Visual Basic
Scroll Bars
HScroll: (Barra Horizontal de Scroll) se puede
crear un barra de desplazamiento horizontal.
VScroll: barra vertical de Scroll, permite tener una
barra vertical para desplazamientos.
En este tipo de control las propiedades más
importantes son Max y Min, que determinan el
rango en el que está incluido su valor,
LargeChange y SmallChange que determinan lo
que se modifica su valor al clicar en la barra o en
el botón con la flecha respectivamente y Value
que determina el valor actual de la barra de
desplazamiento. Las barras de desplazamiento no
tienen propiedad Caption.
31. Controles de Visual Basic
Text Box
Permite que el usuario pueda ingresar información al programa
La propiedad más importante de las cajas de texto es Text, que almacena el texto
contenido en ellas. También se suelen controlar las que hacen referencia a su tamaño,
posición y apariencia. En algún momento se puede desear impedir el acceso a la caja de
texto, por lo que se establecerá su propiedad Enabled como False. La propiedad
MultiLine, que sólo se aplica a las cajas de texto, determina si en una de ellas se pueden
incluir más de una línea o si se ignoran los saltos de línea. La justificación o centrado del
texto se controla con la propiedad Alignment. La propiedad ScrollBars permite controlar
el que aparezca ninguna, una o las dos barras de desplazamiento de la caja.
En aquellos casos en los que se utilice una caja de texto como entrada de datos (es el
control que se utiliza la mayoría de las veces con esta finalidad), puede ser interesante
utilizar el método SetFocus para enviar el foco a la caja cuando se considere oportuno.
Otras propiedades de las cajas de texto hacen referencia a los tipos de letra y al estilo. Así
la propiedad FontName es una cadena que contiene el nombre del Font (Courier New,
Times New Roman, etc.), FontSize es un tipo Short que contiene el tamaño de la letra,
y FontBold, FontItalic, FontUnderline y FontStrikethrough son propiedades tipo
Boolean que indican si el texto va a tener esa característica o no.
32. Controles de Visual Basic
List Box
Una lista es un control en el que se pueden mostrar varios registros o líneas, teniendo uno o varios de ellos
seleccionado(s). Si en la lista hay más registros de los que se pueden mostrar al mismo tiempo, se añade
automáticamente una scrollBar.
Para añadir o eliminar registros de la lista en modo de ejecución se utilizan los métodos AddItem y RemoveItem.
La propiedad List es un array que permite definir el contenido de la lista en modo de diseño a través de la
ventana de propiedades. List permite también acceder a los elementos de la lista en tiempo de ejecución,
para utilizar y/o cambiar su valor. Para ello se pone en índice del elemento entre paréntesis (empezando a contar
por cero) a continuación de List, como se muestra a continuación por ejemplo, para cambiar el tercer
elemento:
lstName.List(2) = "Tercero“
Para añadir un registro en tiempo de ejecución se utiliza AddItem:
lstName.AddItem Registro_Añadido, posicion
donde posicion es un argumento opcional que permite especificar la posición en que se debe añadir. Si se
omite el registro se añade al final de la lista. Lo anterior es válido si la propiedad Sorted está a False; si está a
True el nuevo registro se añade en la posición ordenada que le corresponde.
Para eliminar un registro,
lstName.RemoveItem Posición_del_registro_en_la_lista
En el caso de que se quiera vaciar completamente el contenido de una lista se puede utilizar el método Clear.
Dos propiedades interesantes de las listas son ListCount y ListIndex. La primera contiene el número total de
registros incluidos en la lista. La segunda permite acceder a una posición concreta de la lista para añadir un registro
nuevo en esa posición, borrar uno ya existente, seleccionarlo, etc.
Hay que recordar una vez más que los elementos de la lista se empiezan a numerar por cero. El valor de
33. Controles de Visual Basic
A) PICTUREBOX
B) IMAGE
Controles gráficos
Ambos controles permiten desplegar archivos gráficos de tipo, gif, bitmap, icon, jpeg.
Se pueden usar para poner fondos o backgrounds en las ventanas, por ejemplo las nubes de Windows.
Es más conveniente usar el control IMAGE en programas, porque ocupa menos recursos de Windows y
lo despliega mas rápido.
Sus propiedades mas importantes son:
a) Picture: para buscar y cargar el archivo de imagen
b) Autosize = True, para que el control se ajuste a la imagen, es importante destacar que si la imagen es
mas pequeña el control se hace pequeño, si la imagen es mas grande el control se hace mas grande.
c) Stretch = True, para que la imagen se ajuste al control, si la imagen es mas pequeña, sola se agranda
para cubrir todo el control.
37. Variables:
El nombre de una variable (o de una constante) tiene que comenzar siempre
por una letra y puede tener una longitud hasta 255 caracteres. No se admiten
espacios o caracteres en blanco, ni puntos (.), ni otros caracteres especiales.
Los caracteres pueden ser letras, dígitos, el carácter de subrayado (_) y los
caracteres de declaración del tipo de la variable (%, &, #, !, @, y $ ). El nombre
de una variable no puede ser una palabra reservada del lenguaje (For, If,
Loop, Next, Val, Hide, Caption, And, ...).
Declaración de variables
La forma de declarar las variables es la siguiente:
Dim| Public| Static nombre_variable As tipo
Dim: Al declarar una variable con esta palabra estamos diciendo que la variable sea
local al ámbito en que se declara. Puede ser dentro de un procedimiento o dentro de
un formulario, de esta forma no sería accesible desde los demás procedimientos o
formularios.
Public: Las variables declaradas serán publicas y podrán estar accesibles desde todos
los formularios de la aplicación.
Static: Con esta forma de declarar variables conseguiremos que las variables locales
no se creen y se destruyan al entrar y salir de los procedimientos donde fueron
declaradas sino que se mantenga su valor durante todo el periodo de ejecución de la
aplicación. De esta forma a entrar en algún procedimiento las variables recuerdan el
valor que tenían cuando se salió de él.
39. Ejemplo de declaración de variables:
Declaración de variables:
Dim nCantidad As Integer
Dim sNombre As String
Dim bDescontar As Boolean
Declaración de constante:
Const dTipoCambio As Double=3.2
Const nPersonas As Integer=5
Const sNombreWeb As String=“solocodigofuente”
40. Operador MOD
El MOD divide dos números y devuelve el
resto
Num1 mod num2
Ejemplo
Resto= 4 mod 2
En este caso el resto es 0 puesto
que:
2
2
4
0
Dividendo
Divisor
NOTA En los ejercicios realizados se colocarán explicaciones de
algunas líneas de códigos en recuadros rojos para facilitar la
comprensión
41. Ejemplo 1
Botón Analizar
Private Sub btnAnalizar_Click()
If (txtNumero.Text Mod 2 = 0) Then
listaPares.AddItem (txtNumero.Text)
Else
MsgBox ("El número " & CStr(txtNumero.Text) & " es impar")
End If
End Sub
Command
Button
name.:
btnAnalizar
Text Box
name.:
txtNumero
List Box
name.:
Permite agregar listaPares
elementos a la lista. En
este caso agregará lo que
el usuario escriba en el
textBox
Concatenación de
caracteres. El cuadro
aparecerá de la siguiente
manera suponiendo que el
usuario ingresó el número
3
42. Ejercicio 2
Podemos agregar
los valores a la lista
mediante la
propiedad List de la
misma
Private Sub btnAnalizar_Click()
If ((lista.ListIndex Mod 2) = 0) Then
msgBox ("ES PAR“)
Else
msgBox ("ES IMPAR“)
End If
End Sub
Command
Button
name.:
btnAnalizar
Botón Analizar
List Box
name.: lista
43. Ejercicio 2
ListBox
Name:
lista
Command Button
Name: btnAnalizar
Command Button
Name:
btnEliminarEleme
nto
Text Box
Name:txtApellid
o
Text Box
Name:txtNombr
e
Label
Label
Frame
Option Button
Name:
opcionVenezolano
Command Button
Name:
btnEliminarTodo
Option Button
Name:
opcionExtranjero
44. Botón Agregar Si la opcionVenezolano está activa entonces muestra el nombre,
Private Sub btnAgregar_Click()
If (opcionVenezolano.Value = True) Then
cadena = txtNombre.Text & " " & txtApellido.Text & " " &
"Venezolano(o)"
lista.AddItem (cadena)
Else
lista.AddItem (txtNombre.Text & " " & txtApellido.Text & " " &
"Extrajero(o)")
End If
txtNombre.Text = ""
txtApellido.Text = ""
txtNombre.SetFocus
End Sub
apellido y la palabra “Venezolano (a) en la lista
Guarda en una variable de tipo String la concatenación de
caracteres que se mostrarán en la lista
Man
era
larg
a de
mos
trar
en
la
lista
Man
era
cort
a de
mos
trar
en
la
lista
Realiza la concatenación de caracteres sin necesidad de declarar
una variable que guarde dicha concatenación y la muestra en la
lista
45. Botón Eliminar
Elemento
Private Sub btnEliminarElemento_Click()
lista.RemoveItem (lista.ListIndex)
End Sub
Botón Eliminar
Elemento
Private Sub btnEliminarTodo_Click()
lista.Clear
End Sub
Borra un solo elemento de la lista. Dentro del paréntesis se debe
colocar un valor numérico (0 por ejemplo y de este modo borraría el
primer elemento que esté guardado dentro de la lista); en este caso el
valor numérico es la posición del elemento que esté seleccionado en
la lista (puede ser cualquier número de acuerdo a lo que haya
seleccionado el usuario)
Borra todos los
elementos de la lista