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, uncompilador (y enlazador) y un editor de interfaces gráficas o GUI.
Todas las versiones de Visual Basic para Windows son muy conocidas, aunque la Microsoft Visual Basic 1.0 desarrollada para el sistema operativo MS-DOS (ediciones Profesional y Estándar), que data de 1992, fue menos difundida. Esta proveía un entorno que, aunque en modo texto, incluía un diseñador de formularios en el que se podían arrastrar y soltar distintos controles.
La última versión que sólo generaba aplicaciones de 16 bits fue la 3.0, y no incluía una biblioteca detallada de componentes para toda clase de usos. Durante la transición de los sistemasWindows 3.11 a Windows 95, en 1995, hizo su aparición la versión 4.0 de Visual Basic; ésta podía generar programas tanto de 16 como de 32 bits, a partir del mismo código fuente, aunque a costa de un gran aumento en el tamaño de los archivos necesarios en tiempo de ejecución ("runtime"). Además, se sustituyeron los controles denominados VBX por los nuevos OCX. Con la siguiente versión, la 5.0, se estuvo a punto de implementar por primera vez la posibilidad de compilar a código nativo, obteniendo una mejora de rendimiento considerable. Tanto esa como la sucesora 6.0 soportaban ciertas características propias de los lenguajes orientados a objetos, pero carecían de algunas importantes, tales como herencia y sobrecarga; pero, de hecho, no fue pensado como lenguaje orientado a objetos. La versión 6.0, que puede generar código ejecutable directo en 32 bits, continúa aún utilizándose masivamente, y es compatible con las últimas versiones de los sistemas Windows, como Windows 7 y Windows 8.
Visual Basic evolucionó para integrar la plataforma .NET; allí perdió su propia identidad como lenguaje único adquirible, pasando a integrar un paquete de productos, llamado precisamente Microsoft .NET; dentro de ese paquete o framework se encuentra el nuevo y llamado Visual Basic .NET, que trabaja sobre el entorno Microsoft Visual Studio. Esta nueva versión del lenguaje posee profundas diferencias en la forma de programar respecto de Visual Basic 6, pero gran semejanza en su sintaxis básica.
Cabe mencionar que, aunque fue menos conocido, se desarrolló también una versión gratuita de Visual Basic 5.0, orientada al desarrollo de controles y componentes; su nombre específico era Microsoft Visual Basic 5.0 Control Creation Edition (Visual Basic 5 CCE). También hubo versiones orientadas al desarrollo de aplicaciones para dispositivos móviles basados enWindows CE y Pocket PC, conocidas como Embedded (Visual Basic).
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 áreas1 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.2 3
El soporte estándar para Microsoft Visual Basic 6.0 finalizó el 31 de marzo de 2005, pero el extendido terminó en marzo de 2008.4 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++.6
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). 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 1.0 hasta la 6.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. É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: 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
Ø
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.
Ø
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 (sólo
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 click 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 sólo 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[editar]
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[editar]
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.7
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.
Inconvenientes[editar]
Las
críticas hechas en las ediciones de Visual Basic anteriores a VB.NET son
variadas;8 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 objetos9
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 COM10
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
Alternativas
multiplataforma o externas a Windows[editar]
Existen
múltiples alternativas dentro y fuera de Windows que intentan imitar este
lenguaje y su mecánica de desarrollo. El más conocido y popular es Gambas:
Gambas
es un proyecto libre para implementar programación visual con Basic en
GNU/Linux. Está derivado principalmente de Visual Basic, adaptándose a partir
de su lenguaje y su entorno de desarrollo, para implementar su propia variante,
parcialmente compatible con Visual Basic, aportando y enriqueciendo con las
oportunidades que brinda GNU/Linux.
Otras
opciones conocidas son Real Basic o PureBasic, que permiten desarrollar bajo
Windows, Linux, Mac OS e independientemente. PureBasic permite desarrollar
también para Amiga OS. A diferencia de Gambas, estas son soluciones comerciales
y no son libres.
No hay comentarios:
Publicar un comentario