Visual Basic
La última versión fue la 6, liberada en 1998, para la que Microsoft extendió el soporte hasta marzo de 2008.
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.
Visual Basic dio un paso más en innovación y ahora es posible programar aplicaciones Nativas para Android o IPhone utilizando un software de la compañía Anywhere Software que transforma código Visual Basic (creado por dicha compañía) en APPs 100 % nativas en Java para ambos sistemas operativos de dispositivos móviles.
Características
Los compiladores de Visual Basic generan código que requiere una o más librerías de enlace dinámic 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). Desde ese entorno también se puede generar el archivo en código ejecutable (exe); ese programa así generado en disco puede luego ser ejecutado sin requerir del ambiente de programación (incluso en modo stand alone), aunque sí será necesario que las librerías DLL requeridas por la aplicación desarrollada se encuentren también instaladas en el sistema para posibilitar su ejecución.
El propio Visual Basic provee soporte para empaquetado y distribución; es decir, permite generar un módulo instalador que contiene al programa ejecutable y las bibliotecas DLL necesarias para su ejecución. Con ese módulo la aplicación desarrollada se distribuye y puede ser instalada en cualquier equipo (que tenga un sistema operativo compatible).
Así como bibliotecas DLL, hay numerosas aplicaciones desarrolladas por terceros que permiten disponer de variadas y múltiples funciones, incluso mejoras para el propio Visual Basic; las hay también para el empaquetado y distribución, y hasta para otorgar mayor funcionalidad al entorno de programación (IDE).
Entorno de desarrollo
Existe un único entorno de desarrollo para Visual Basic, desarrollado por Microsoft: Microsoft Visual Basic x.0, correspondientes a versiones desde la 2.0 hasta la 20.0, (con respectivas diferencias entre versiones del lenguaje).
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. Este 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: Caja de imágenes
- Label: Etiqueta
- TextBox: Caja de texto
- Frame: Marco
- CommandButton: Botón de comando
- CheckBox: Casilla de verificación
- OptionButton: Botón de opción
- ComboBox: Lista desplegable
- ListBox: Lista
- HScrollBar: Barra de desplazamiento horizontal
- VScrollBar: Barra de desplazamiento vertical
- Timer: Temporizador
- DriveListBox: Lista de unidades de disco
- DirListBox: Lista de directorios
- FileListBox: Lista de archivos
- Shape: Figura
- Line: Línea
- Image: Imagen
- Data: Conexión a origen de datos
- OLE: Contenedor de documentos embebidos compatibles con Object Linking and Embedding
- El panel de controles, que aunque es móvil normalmente está ubicado a la derecha, por defecto cuenta con los siguientes controles:
-
- 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.
- Las ventanas de proyecto, aunque móviles, se encuentran en el panel lateral derecho y contienen dos vistas principales:
- El Explorador de proyectos, que muestra todos los elementos que componen el proyecto o grupos de proyectos (formularios, interfaz de controles, módulos de código, módulos de clase, etc.)
- El Panel de propiedades, donde se muestran todos los atributos de los objetos, controles, formularios, información de módulos clase, entre muchos otros.
- Las ventanas de proyecto, aunque móviles, se encuentran en el panel lateral derecho y contienen dos vistas principales:
- La Ventana inmediato, por defecto se encuentra en la parte inferior, aunque puede no estar visible (se presionan las teclas Ctrl+G, en ese caso, para mostrar la ventana). Esta ventana resulta una herramienta muy útil a la hora de depurar el programa o bien para realizar pruebas rápidas, ya que permite imprimir mensajes de texto desde el código y ejecutar sentencias y comandos simples inmediatamente (solamente sentencias que se puedan escribir en una sola línea). Por ejemplo, de la aplicación en curso, se puede consultar el valor de una variable o llamar a un método declarado en el módulo que se está depurando. Se puede ejecutar código "al vuelo", por ejemplo con sentencias como:
? sqr(2)
- siendo el signo ? un reemplazo natural del comando Print en Basic, al ejecutar la sentencia se mostraría por pantalla el valor de la raíz cuadrada de 2. También se pueden usar variables del propio programa, o sentencias de código tales como:
Msgbox "Prueba de cuadro de mensaje de error.", vbCritical, "Título del mensaje"
- A la hora de la depuración puede ser útil para consultar el valor de variables del programa, o el código de error como:
? Err.Number
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. Por ejemplo: Visual Basic tiene un evento llamado KeyPress, que ocurre cuando el usuario presiona una tecla; ese evento se puede asociar a la caja de texto, y en él definirá (por programación) qué acción se tomará cuando se oprima una tecla.
En síntesis, un objeto posee propiedades, responde a eventos y puede ejecutar métodos asociados a él.
Algunos eventos comunes definidos en Visual Basic son:
- Click: ocurre cuando se presiona y suelta un botón del mouse sobre un objeto.
- DblClick: ocurre cuando se presiona y suelta dos veces un botón del mouse sobre un objeto.
- DragDrop: ocurre al arrastrar y soltar un determinado objeto con el mouse.
- DragOver: ocurre si una operación de arrastrar y soltar está en curso.
- GotFocus: ocurre cuando un objeto recibe el control o foco, ya sea mediante una acción del usuario como hacer clic en un objeto ventana, o cambiando el foco de objeto desde el programa, mediante el método SetFocus.
- LostFocus: contrario al anterior, este evento ocurre cuando el objeto pierde el enfoque, sea mediante acción del usuario o efectuado desde la aplicación.
- KeyDown: ocurre cuando el usuario mantiene presionada una tecla.
- KeyUp: ocurre cuando el usuario deja de presionar una tecla. Este evento sucede precisamente al terminar el evento KeyDown.
- KeyPress: ocurre como cuando se presiona y suelta una tecla.
- MouseDown: ocurre cuando el usuario presiona un botón del mouse.
- MouseUp: se produce cuando el usuario suelta el botón del mouse.
- MouseMove: este evento ocurre mientras el usuario mueve o desplaza el puntero del mouse sobre un objeto.
Imagínese un auto como un objeto; el auto tiene diversas propiedades como color, modelo, etc. Algunas con solamente 2 posibles valores, como encendido y apagado, incluso otras que a simple vista no se ven, como podría ser la cantidad de gasolina. Para definir el color de este objeto Auto, según Visual Basic, se haría de la siguiente manera:
Auto.color = rojo
y para definirle un evento podría ser como el siguiente ejemplo:
Sub girarllave( ) Auto.encendido=true end sub.
Ejemplo de código
El siguiente fragmento de código muestra un cuadro de mensaje, en una ventana, que dice "¡Hola, mundo!":
Private Sub Form_Load()
MsgBox ("¡Hola, mundo!")
End Sub
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.8
- 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.9
- 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
Las críticas hechas en las ediciones de Visual Basic anteriores a VB.NET son variadas;se citan entre ellas:
- 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 único formulario es muy limitada en comparación a otras herramientas.