Lenguaje de programación Visual Basic
1.1 Historia
Visual Basic es un lenguaje de programación dirigido
por eventos, desarrollado por Alan Cooper para Microsoft. Este lenguaje de
programación es un dialecto de BASIC, con importantes agregados. Su primera
versión fue presentada en 1991, con la intención de simplificar la programación
utilizando un ambiente de desarrollo que facilitó en cierta medida la
programación misma.
La última versión fue la 6, liberada en 1998, para
la que Microsoft extendió el soporte hasta marzo de 2008.
En 2001 Microsoft propuso abandonar el desarrollo
basado en la API Win32 y pasar a un framework o marco común de librerías,
independiente de la versión del sistema operativo, .NET Framework, a través de
Visual Basic .NET (y otros lenguajes como C Sharp (C#) de fácil transición de
código entre ellos); fue el sucesor de Visual Basic 6.
Aunque Visual Basic es de propósito general, también
provee facilidades para el desarrollo de aplicaciones de bases de datos usando
Data Access Objects, Remote Data Objects o ActiveX Data Objects.
Visual Basic contiene un entorno de desarrollo
integrado o IDE que integra editor de textos para edición del código fuente, un
depurador, un compilador (y enlazador) y un editor de interfaces gráficas o
GUI.
1.2 Aplicaciones
Application
Events
Muestra los eventos de aplicación a los que se
obtiene acceso a través del Diseñador de proyectos.
ClickOnce
Implementa y actualiza una aplicación mediante
ClickOnce.
Console
Application
Muestra un ejemplo de entrada y salida utilizando la
ventana de la consola.
Consuming
a Web Service
Muestra cómo consumir diversos servicios Web de .NET
Framework, incluidos los servicios que proporcionan el tiempo actual, una
historieta y la conversión de divisas.
Excel
Muestra cómo usar Visual Basic para iniciar Excel,
crear un libro a partir de una plantilla, actualizar las celdas de una hoja de
cálculo que, a continuación, rellenan los gráficos del libro, así como realizar
otras tareas.
Game
Muestra la característica My, la programación
orientada a objetos y el dibujo.
Logging
Utiliza el objeto My.Application.Log para registrar
información en los archivos y registros de eventos.
Multithreading
Muestra dos maneras diferentes de implementar las
tareas multiproceso.
de automatización de Office
Muestra la automatización de Microsoft Agent,
Microsoft Word y Microsoft Excel.
PowerPoint
Muestra cómo iniciar PowerPoint, crear una
presentación en blanco, agregar una diapositiva y contenido, imprimir
diapositivas, guardar los cambios y salir de PowerPoint desde una aplicación de
Visual Basic.
Reflexión
Utiliza la reflexión para descubrir información de
tipo en un ensamblado.
Resources and Settings
Muestra los objetos My.Settings y My.Resources.
Send
Mail
Muestra cómo enviar un mensaje de correo electrónico
a través de SMTP utilizando clases del espacio de nombres System.Web.Mail.
Stack
Frame Inspection
Muestra cómo se recupera información mediante
programación sobre la pila de llamadas en cualquier punto desde el código en
ejecución.
System
and Environment Information
Muestra el uso de varias clases que proporcionan
información del entorno.
TCP Remoting
Muestra cómo se utiliza la arquitectura remota de
.NET Framework.
User
Information
Proporciona información general sobre el objeto
My.User y la plantilla Formulario de inicio de sesión. En este ejemplo se
implementa una autenticación personalizada sencilla.
de
actualización de Visual Basic 6.0
Presenta el ejemplo de Visual Basic 6.0 VCR en
código de Visual Basic 6.0 y de Visual Basic 2005.
WCF Chat
Muestra cómo implementar una aplicación de chat con
la participación de varios grupos mediante PeerChannel.
WCF
Windows Forms
Muestra un servicio que implementa un contrato que
define un modelo de comunicación de solicitud y respuesta.
1.3 Versiones
·
Visual Basic 1.0 para Windows se liberó en mayo de
1991.
·
Visual Basic 1.0 para MS-DOS fue liberada en
septiembre de 1992. Poco popular, este lenguaje no era compatible con Visual
Basic para Windows, ya que constituía en realidad la siguiente versión de los
compiladores BASIC vigentes para DOS, denominados QuickBASIC y BASIC PDS
(Profesional Development System). Usaba una interfaz de texto, con caracteres
ASCII extendidos que daban la apariencia de una interfaz gráfica.
·
Visual Basic 2.0 fue liberado en noviembre de 1992.
Venía en versiones Standard y Professional. El entorno de programación era más
fácil de usar que el anterior, y su velocidad de proceso fue mejorada. En
particular, los formularios se convirtieron en objetos instanciables, sentando
así los conceptos fundamentales para módulos de clase, que más tarde se
ofrecerían en la versión 4.
·
Visual Basic 3.0 salió al mercado en verano de 1993,
en versiones Standard y Profesional. Incluía la versión 1.1 de Microsoft Jet
Database Engine, que permitía acceso a bases de datos Access.
·
Visual Basic 4.0, surgida en agosto de 1995, fue la
primera versión que generaba aplicaciones tanto de 16 como de 32 bits para
Windows. Había incompatibilidades entre las distintas realeases de esta versión
que causaban fallas de instalación y problemas de operación. Mientras las
anteriores utilizaban controles VBX, con la 4.0 se comenzaron a utilizar
controles OLE en archivos OCX, que más tarde se llamarían controles ActiveX.
·
En febrero de 1997, Microsoft lanzó Visual Basic
5.0, versión que generaba programas de 32 bits exclusivamente. Los
programadores que aún preferían desarrollar aplicaciones en 16 bits debían
necesariamente utilizar VB 4.0, siendo transportables en código fuente a VB 5.0
y viceversa. En la versión 5 se tenía la posibilidad de crear controles
personalizados; también permitía compilar a código ejecutable nativo de
Windows, logrando con ello incrementar la velocidad de ejecución de los
programas generados, más notablemente en los de cálculo.
·
Visual Basic 6.0, salido a mediados de 1998, muy
mejorado, incrementó el número de áreas e incluyó la posibilidad de crear
aplicaciones basadas en Web. Microsoft retiró el soporte de VB6 en marzo de
2008, pero a pesar de ello las aplicaciones que genera son compatibles con
plataformas más modernas, como Windows Vista, Windows Server 2008, Windows 7 y
Windows 8.
·
El soporte estándar para Microsoft Visual Basic 5.7
finalizó el 31 de marzo de 2005, pero el extendido terminó en marzo de 2008. La
comunidad de usuarios de Visual Basic expresó su grave preocupación y se firmó
una petición para mantener el producto vivo.5 Microsoft se ha negado hasta el
momento a cambiar su posición sobre el asunto. Irónicamente, en esa época
(2005) se da a conocer que el software antiespía ofrecido por Microsoft,
"Microsoft AntiSpyware" (parte de la GIANT Company Software), fue
codificado en Visual Basic 6.0; su posterior sustituto, Windows Defender, fue
reescrito en código C++.
1.4 Desarrollo
El entorno de desarrollo es muy similar al de otros
lenguajes. Realizando una instalación típica del producto, las características
básicas se presentan de la siguiente forma:
En la parte superior aparecen tres elementos, en
este orden: la barra de título donde figura el nombre del proyecto en curso y
su estado (diseño o ejecución); la barra de menú con 13 opciones desplegables y
una barra de herramientas; esta última se puede personalizar, posibilitando la
inclusión de prácticamente la totalidad de los comandos del IDE.
En la parte central, cubriendo la franja de mayor
área, se encuentra el espacio de trabajo. Éste incluye y muestra las ventanas
del proyecto, las vistas del código fuente de los módulos, los objetos y los
controles que contienen las ventanas de la aplicación y el panel de controles.
El panel de controles, que aunque es móvil
normalmente está ubicado a la derecha, por defecto cuenta con los siguientes
controles:
§ PictureBox
§ Label
§ TextBox
§ Frame
§ CommandButton
§ CheckBox
§ OptionButton
§ ComboBox
§ ListBox
§ HScrollBar
§ VScrollBar
§ Timer
§ DriveListBox
§ DirListBox
§ FileListBox
§ Shape
§ Line
§ Image
§ Data
§ OLE
Además de los listados, se pueden agregar todo tipo
de controles de terceros, y hay una gran cantidad de ellos que se proveen con
el propio Visual Basic 6.0. Los controles vienen embebidos dentro de archivos con
extensión OCX.
1.5 Características
Los compiladores de Visual Basic generan código que
requiere una o más librerías de enlace dinámico para que funcione, conocidas
comúnmente como DLL (sigla en inglés de dynamic-link library ); en algunos
casos reside en el archivo llamado MSVBVMxy.DLL (siglas de "MicroSoft
Visual Basic Virtual Machine x.y", donde x.y es la versión) y en otros en
VBRUNXXX.DLL ("Visual Basic Runtime X.XX").
Estas
bibliotecas DLL proveen las funciones básicas implementadas en el lenguaje,
conteniendo rutinas en código ejecutable que son cargadas bajo demanda en
tiempo de ejecución. Además de las esenciales, existe un gran número de
bibliotecas del tipo DLL con variedad de funciones, tales como las que
facilitan el acceso a la mayoría de las funciones del sistema operativo o las
que proveen medios para la integración con otras aplicaciones.
Dentro del mismo Entorno de desarrollo integrado
(IDE) de Visual Basic se puede ejecutar el programa que esté desarrollándose,
es decir en modo intérprete (en realidad pseudo-compila el programa muy
rápidamente y luego lo ejecuta, simulando la función de un intérprete puro).
1.6 Objetos y eventos
Se designa como objeto cualquier elemento, por
ejemplo, un formulario, una imagen, un control, tal como una caja de texto; a
su vez, los objetos tienen propiedades, que en el caso de la caja de texto una
es la propiedad "text" que se encarga de contener el texto que
aparecerá en la caja. A los objetos se les puede asociar eventos. Un evento es
la ocurrencia de un suceso, comúnmente la acción que realiza el usuario sobre
el objeto, que como resultado puede, por ejemplo, provocar un cambio en alguna
propiedad de un objeto.
Algunos eventos comunes definidos en Visual Basic
son:
Click
DblClick
DragDrop
DragOver
GotFocus
LostFocus
KeyDown
KeyUpKeyPress
MouseDown
MouseUp
MouseMove
1.7 Ventajas y desventajas
Ventajas
Ø Posee una curva de aprendizaje muy rápida.
Ø Integra el diseño e implementación de formularios de Windows.
Ø Permite usar con facilidad la plataforma de los sistemas Windows, dado
que tiene acceso prácticamente total a la API de Windows, incluidas librerías
actuales.
Ø Es uno de los lenguajes de uso más extendido, por lo que resulta fácil
encontrar información, documentación y fuentes para los proyectos.
Ø Fácilmente extensible mediante librerías DLL y componentes ActiveX de
otros lenguajes.
Ø Posibilita añadir soporte para ejecución de scripts, VBScript o
JScript, en las aplicaciones mediante Microsoft Script Control.
Ø Tiene acceso a la API multimedia de DirectX (versiones 7 y 8). También
está disponible, de forma no oficial, un componente para trabajar con OpenGL
1.1.
Ø Existe una versión, VBA, integrada en las aplicaciones de Microsoft
Office, tanto Windows como Mac, que permite programar macros para extender y
automatizar funcionalidades en documentos, hojas de cálculo y bases de datos
(Access).
Ø Si bien permite desarrollar grandes y complejas aplicaciones, también
provee un entorno adecuado para realizar pequeños prototipos rápidos.
Desventajas
ü Problema de versionado asociado con varias librerías runtime DLL,
conocido como DLL Hell
ü Soporte pobre para programación orientada a objetos.
ü Incapacidad para crear aplicaciones multihilo, sin tener que recurrir
a llamadas de la API de Windows.
ü Dependencia de complejas y frágiles entradas de registro COM.
ü La capacidad de utilizar controles en un sólo formulario es muy
limitada en comparación a otras herramientas. DLL Hell DB, Libro Programando en
Visual Basic,2002
1.8 Ejemplos de códigos
Los
temas siguientes muestran ejemplos útiles de código, por característica, en la
documentación de Visual Basic.
Código para aplicaciones de
formularios Windows Forms
Enumera
los ejemplos de código de la sección "Crear aplicaciones para
Windows" de la documentación.
Código para controles de
formularios Windows Forms
Enumera
los códigos de ejemplo de la sección "Controles de formularios Windows
Forms" de la documentación.
Código para el acceso a datos
Enumera
los ejemplos de código de la sección "Acceso a datos" de la
documentación.
Código para aplicaciones Web
Enumera
los ejemplos de código de la sección "Crear aplicaciones y servicios
Web" de la documentación.
Código para controles de
formularios Web Forms
Enumera
los códigos de ejemplo de la sección "Controles de servidor ASP.NET"
de la documentación.
Código para la programación de
componentes
Enumera
los ejemplos de código de la sección "Programar con componentes" de
la documentación.
1.9
Objeto
de Click
En Visual
Basic 6.0, los eventos están ligados a objetos específicos y tienen su código
de control de eventos. Por ejemplo, en un formulario con un botón y un menú,
cada uno tiene su evento Click; hay que escribir código para cada uno en el
controlador de eventos, aunque los dos realicen la misma función.
Ejm
' Visual Basic 6.0
Private Sub HelpButton_Click()
HelpButton.Caption =
"Help me!"
End Sub
Private Sub HelpMenu_Click()
HelpMenu.Caption = "Help
me!"
End Sub
1.9.1
Doble
click
Este,
se produce cuando se hace una doble pulsación, doble click.
Si
estás controlando estos cuatro eventos, además de hacer tus propias
comprobaciones, deberías saber que normalmente se producen en este orden:
Primero
el MouseDown, seguido de un MouseUp, a continuación un Click seguido de un
DblClick y por último un MouseUp.
Todo
esto lo puedes comprobar con el siguiente código:
'
'Pruebas para la
entrega 23 del curso básico
(04/Oct/98)
'
Option
Explicit
Private
Sub Form_Click()
Debug.Print
"Se ha pulsado sobre el formulario (Click)"
End
Sub
Private
Sub Form_DblClick()
Debug.Print
"Doble pulsación en el formulario (DblClick)"
End
Sub
Private
Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As
Single)
Debug.Print
"Se ha pulsado el botón del ratón (MouseDown)"
End
Sub
Private
Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Debug.Print
"Se ha soltado el botón del ratón (MouseUp)"
End Sub
1.9.2
Click
Este
evento se produce cuando se hace "click" en un control... es una
combinación del MouseDown seguido de un evento MouseUp... debes tener en cuenta
que si estás gestionando los eventos MouseDown, MouseUp y Click te encontrarás
con que se producen los tres eventos en ese orden, es decir, primero se
presiona, después se suelta y por último se produce el Click.