You are on page 1of 6

Visual Basic

Visual Basic es un lenguaje de programacin dirigido por


eventos, desarrollado por Alan Cooper para Microsoft.
Este lenguaje de programacin es un dialecto de BASIC,
con importantes agregados. Su primera versin fue presentada en 1991, con la intencin de simplicar la programacin utilizando un ambiente de desarrollo que facilit
en cierta medida la programacin misma.

rable. Tanto esa como la sucesora 6.0 soportaban ciertas


caractersticas propias de los lenguajes orientados a objetos, pero carecan de algunas importantes, tales como herencia y sobrecarga; pero, de hecho, no fue pensado como
lenguaje orientado a objetos. La versin 6.0, que puede
generar cdigo ejecutable directo en 32 bits, contina an
utilizndose masivamente, y es compatible con las ltiLa ltima versin fue la 6, liberada en 1998, para la que mas versiones de los sistemas Windows, como Windows
7 y Windows 8.
Microsoft extendi el soporte hasta marzo de 2008.
En 2001 Microsoft propuso abandonar el desarrollo ba- Visual Basic evolucion para integrar la plataforma
sado en la API Win32 y pasar a un framework o marco .NET; all perdi su propia identidad como lenguaje nicomn de libreras, independiente de la versin del siste- co adquirible, pasando a integrar un paquete de producma operativo, .NET Framework, a travs de Visual Ba- tos, llamado precisamente Microsoft .NET; dentro de
sic .NET (y otros lenguajes como C Sharp (C#) de fcil ese paquete o framework se encuentra el nuevo y llatransicin de cdigo entre ellos); fue el sucesor de Visual mado Visual Basic .NET, que trabaja sobre el entorno
Microsoft Visual Studio. Esta nueva versin del lenguaBasic 6.
je posee profundas diferencias en la forma de programar
Aunque Visual Basic es de propsito general, tambin respecto de Visual Basic 6, pero gran semejanza en su
provee facilidades para el desarrollo de aplicaciones de sintaxis bsica.
bases de datos usando Data Access Objects, Remote DaCabe mencionar que, aunque fue menos conocido, se
ta Objects o ActiveX Data Objects.
desarroll tambin una versin gratuita de Visual Basic
Visual Basic contiene un entorno de desarrollo integrado 5.0, orientada al desarrollo de controles y componentes;
o IDE que integra editor de textos para edicin del cdigo su nombre especco era Microsoft Visual Basic 5.0
fuente, un depurador, un compilador (y enlazador) y un Control Creation Edition (Visual Basic 5 CCE). Tameditor de interfaces grcas o GUI.
bin hubo versiones orientadas al desarrollo de aplicaciones para dispositivos mviles basados en Windows CE y
Pocket PC, conocidas como Embedded (Visual Basic).

Historia

Todas las versiones de Visual Basic para Windows son 1.1 Versiones
muy conocidas, aunque la Microsoft Visual Basic 1.0
Visual Basic 1.0 para Windows se liber en mayo de
desarrollada para el sistema operativo MS-DOS (edicio1991.
nes Profesional y Estndar), que data de 1992, fue menos
difundida. Esta provea un entorno que, aunque en mo Visual Basic 1.0 para MS-DOS fue liberada en sepdo texto, inclua un diseador de formularios en el que se
tiembre de 1992. Poco popular, este lenguaje no
podan arrastrar y soltar distintos controles.
era compatible con Visual Basic para Windows, ya
La ltima versin que slo generaba aplicaciones de 16
que constitua en realidad la siguiente versin de los
bits fue la 3.0, y no inclua una biblioteca detallada de
compiladores BASIC vigentes para DOS, denomicomponentes para toda clase de usos. Durante la trannados QuickBASIC y BASIC PDS (Profesional Desicin de los sistemas Windows 3.11 a Windows 95, en
velopment System). Usaba una interfaz de texto, con
1995, hizo su aparicin la versin 4.0 de Visual Basic; scaracteres ASCII extendidos que daban la aparienta poda generar programas tanto de 16 como de 32 bits, a
cia de una interfaz grca.
partir del mismo cdigo fuente, aunque a costa de un gran
Visual Basic 2.0 fue liberado en noviembre de 1992.
aumento en el tamao de los archivos necesarios en tiemVena en versiones Standard y Professional. El enpo de ejecucin (runtime). Adems, se sustituyeron los
torno de programacin era ms fcil de usar que el
controles denominados VBX por los nuevos OCX. Con la
siguiente versin, la 5.0, se estuvo a punto de implemenanterior, y su velocidad de proceso fue mejorada.
tar por primera vez la posibilidad de compilar a cdigo
En particular, los formularios se convirtieron en obnativo, obteniendo una mejora de rendimiento considejetos instanciables, sentando as los conceptos fun1

2
damentales para mdulos de clase, que ms tarde se
ofreceran en la versin 4.
Visual Basic 3.0 sali al mercado en verano de 1993,
en versiones Standard y Profesional. Inclua la versin 1.1 de Microsoft Jet Database Engine, que permita acceso a bases de datos Access.

CARACTERSTICAS

funcione, conocidas comnmente como DLL (sigla en ingls 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
versin) y en otros en VBRUNXXX.DLL (Visual Basic Runtime X.XX). Estas bibliotecas DLL proveen las
funciones bsicas implementadas en el lenguaje, conteniendo rutinas en cdigo ejecutable que son cargadas bajo demanda en tiempo de ejecucin. Adems de las esenciales, existe un gran nmero de bibliotecas del tipo DLL
con variedad de funciones, tales como las que facilitan el
acceso a la mayora de las funciones del sistema operativo o las que proveen medios para la integracin con otras
aplicaciones.

Visual Basic 4.0, surgida en agosto de 1995, fue la


primera versin que generaba aplicaciones tanto de
16 como de 32 bits para Windows. Haba incompatibilidades entre las distintas realeases de esta versin que causaban fallas de instalacin y problemas
de operacin. Mientras las anteriores utilizaban controles VBX, con la 4.0 se comenzaron a utilizar controles OLE en archivos OCX, que ms tarde se lla- Dentro del mismo Entorno de desarrollo integrado (IDE)
maran controles ActiveX.
de Visual Basic se puede ejecutar el programa que est
desarrollndose, es decir en modo intrprete (en realidad
En febrero de 1997, Microsoft lanz Visual Basic pseudo-compila el programa muy rpidamente y luego
5.0, versin que generaba programas de 32 bits ex- lo ejecuta, simulando la funcin de un intrprete puro).
clusivamente. Los programadores que an preferan Desde ese entorno tambin se puede generar el archivo
desarrollar aplicaciones en 16 bits deban necesaria- en cdigo ejecutable (exe); ese programa as generado en
mente utilizar VB 4.0, siendo transportables en c- disco puede luego ser ejecutado sin requerir del ambiente
digo fuente a VB 5.0 y viceversa. En la versin 5 se de programacin (incluso en modo stand alone), aunque
tena la posibilidad de crear controles personaliza- s ser necesario que las libreras DLL requeridas por la
dos; tambin permita compilar a cdigo ejecutable aplicacin desarrollada se encuentren tambin instaladas
nativo de Windows, logrando con ello incrementar en el sistema para posibilitar su ejecucin.
la velocidad de ejecucin de los programas generaEl propio Visual Basic provee soporte para empaquetado
dos, ms notablemente en los de clculo.
y distribucin; es decir, permite generar un mdulo ins Visual Basic 6.0, salido a mediados de 1998, muy talador que contiene al programa ejecutable y las bibliomejorado, increment el nmero de reas[1] e inclu- tecas DLL necesarias para su ejecucin. Con ese mdulo
y la posibilidad de crear aplicaciones basadas en la aplicacin desarrollada se distribuye y puede ser instaWeb. Microsoft retir el soporte de VB6 en marzo lada en cualquier equipo (que tenga un sistema operativo
de 2008, pero a pesar de ello las aplicaciones que ge- compatible).
nera son compatibles con plataformas ms moderAs como bibliotecas DLL, hay numerosas aplicaciones
nas, como Windows Vista, Windows Server 2008,
desarrolladas por terceros que permiten disponer de vaWindows 7 y Windows 8.[2][3]
riadas y mltiples funciones, incluso mejoras para el propio Visual Basic; las hay tambin para el empaquetado y
El soporte estndar para Microsoft Visual Badistribucin, y hasta para otorgar mayor funcionalidad al
sic 6.0 naliz el 31 de marzo de 2005, pero
entorno de programacin (IDE).
el extendido termin en marzo de 2008.[4] La
comunidad de usuarios de Visual Basic expre2.0.1 Entorno de desarrollo
s su grave preocupacin y se rm una peti[5]
cin para mantener el producto vivo. MicroExiste un nico entorno de desarrollo para Visual Basic,
soft se ha negado hasta el momento a cambiar
desarrollado por Microsoft: Microsoft Visual Basic x.0,
su posicin sobre el asunto. Irnicamente, en
correspondientes a versiones desde la 1.0 hasta la 6.0,
esa poca (2005) se da a conocer que el soft(con respectivas diferencias entre versiones del lenguaware antiespa ofrecido por Microsoft, Microje).
soft AntiSpyware (parte de la GIANT Company Software), fue codicado en Visual Basic
El entorno de desarrollo es muy similar al de otros len6.0; su posterior sustituto, Windows Defender,
guajes. Realizando una instalacin tpica del producto, las
fue reescrito en cdigo C++.[6]
caractersticas bsicas se presentan de la siguiente forma:

Caractersticas

Los compiladores de Visual Basic generan cdigo que requiere una o ms libreras de enlace dinmico para que

En la parte superior aparecen tres elementos, en este


orden: la barra de ttulo donde gura el nombre del
proyecto en curso y su estado (diseo o ejecucin);
la barra de men con 13 opciones desplegables y una
barra de herramientas; esta ltima se puede perso-

3
nalizar, posibilitando la inclusin de prcticamente
la totalidad de los comandos del IDE.

Las ventanas de proyecto, aunque mviles, se encuentran en el panel lateral derecho y contienen dos vistas principales:

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
cdigo fuente de los mdulos, los objetos y los controles que contienen las ventanas de la aplicacin y
el panel de controles.

El Explorador de proyectos,
que muestra todos los elementos que componen el proyecto o grupos de proyectos (formularios, interfaz de controles, mdulos de cdigo, mdulos de clase, etc.)
El Panel de propiedades,
donde se muestran todos los
atributos de los objetos, controles, formularios, informacin de mdulos clase, entre
muchos otros.

El panel de controles, que aunque es mvil normalmente est ubicado a la derecha, por defecto cuenta con los siguientes
controles:

PictureBox: Caja de imgenes


Label: Etiqueta
TextBox: Caja de texto
Frame: Marco
CommandButton: Botn de
comando
CheckBox: Casilla de vericacin
OptionButton: Botn de opcin
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: Lnea
Image: Imagen
Data: Conexin a origen de datos
OLE: Contenedor de documentos embebidos compatibles con Object Linking and
Embedding

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 rpidas, ya que permite
imprimir mensajes de texto desde el cdigo y ejecutar sentencias y comandos simples inmediatamente
(slo sentencias que se puedan escribir en una sola lnea). Por ejemplo, de la aplicacin en curso, se
puede consultar el valor de una variable o llamar a
un mtodo declarado en el mdulo que se est depurando. Se puede ejecutar cdigo 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 mostrara por pantalla el valor de la raz cuadrada de 2. Tambin se pueden usar variables
del propio programa, o sentencias de cdigo tales como:
Msgbox Prueba de cuadro de mensaje de
error., vbCritical, Ttulo del mensaje
A la hora de la depuracin puede ser til para
consultar el valor de variables del programa, o
el cdigo de error como:
? Err.Number

Adems 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 extensin OCX.

3 Objetos y eventos
Se designa como objeto cualquier elemento, por ejemplo,
un formulario, una imagen, un control, tal como una ca-

ja 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, comnmente la accin
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 denir (por programacin) qu accin
se tomar cuando se oprima una tecla.

VENTAJAS

otras que a simple vista no se ven, como podra ser la


cantidad de gasolina. Para denir el color de este objeto
Auto, segn Visual Basic, se hara de la siguiente manera:
Auto.color = rojo
y para denirle un evento podra ser como el siguiente
ejemplo:
Sub girarllave( ) Auto.encendido=true end sub.

4 Ejemplo de cdigo

En sntesis, un objeto posee propiedades, responde a


El siguiente fragmento de cdigo muestra un cuadro de
eventos y puede ejecutar mtodos asociados a l.
mensaje, en una ventana, que dice "Hola, mundo!":
Algunos eventos comunes denidos en Visual Basic son:
Private Sub Form_Load() MsgBox ("Hola, mundo!")
End Sub
Click: ocurre cuando se presiona y suelta
un botn del mouse sobre un objeto.
DblClick: ocurre cuando se presiona y
suelta dos veces un botn del mouse sobre un objeto.
DragDrop: ocurre al arrastrar y soltar un
determinado objeto con el mouse.
DragOver: ocurre si una operacin de
arrastrar y soltar est en curso.
GotFocus: ocurre cuando un objeto recibe el control o foco, ya sea mediante una
accin del usuario como hacer click en
un objeto ventana, o cambiando el foco
de objeto desde el programa, mediante el
mtodo SetFocus.

5 Ventajas
Posee una curva de aprendizaje muy rpida.
Integra el diseo e implementacin de formularios
de Windows.
Permite usar con facilidad la plataforma de los sistemas Windows, dado que tiene acceso prcticamente
total a la API de Windows, incluidas libreras actuales.

LostFocus: contrario al anterior, este


evento ocurre cuando el objeto pierde el
enfoque, sea mediante accin del usuario
o efectuado desde la aplicacin.

Es uno de los lenguajes de uso ms extendido, por lo


que resulta fcil encontrar informacin, documentacin y fuentes para los proyectos.

KeyDown: ocurre cuando el usuario mantiene presionada una tecla.

Fcilmente extensible mediante libreras DLL y


componentes ActiveX de otros lenguajes.

KeyUp: ocurre cuando el usuario deja de


presionar una tecla. Este evento sucede
precisamente al terminar el evento KeyDown.

Posibilita aadir soporte para ejecucin de scripts,


VBScript o JScript, en las aplicaciones mediante
Microsoft Script Control.

KeyPress: ocurre como cuando se presiona y suelta una tecla.


MouseDown: ocurre cuando el usuario
presiona un botn del mouse.
MouseUp: se produce cuando el usuario
suelta el botn del mouse.
MouseMove: este evento ocurre mientras
el usuario mueve o desplaza el puntero del
mouse sobre un objeto.
Imagnese un auto como un objeto; el auto tiene diversas
propiedades como color, modelo, etc. Algunas con slo
2 posibles valores, como encendido y apagado, incluso

Tiene acceso a la API multimedia de DirectX (versiones 7 y 8). Tambin est disponible, de forma no
ocial, un componente para trabajar con OpenGL
1.1.[7]
Existe una versin, VBA, integrada en las aplicaciones de Microsoft Oce, tanto Windows como Mac,
que permite programar macros para extender y automatizar funcionalidades en documentos, hojas de
clculo y bases de datos (Access).
Si bien permite desarrollar grandes y complejas
aplicaciones, tambin provee un entorno adecuado
para realizar pequeos prototipos rpidos.

Desventajas

Las crticas hechas en las ediciones de Visual Basic anteriores a VB.NET son variadas;[8] se citan entre ellas:

[5] Petition to Microsoft. Classicvb.org.


[6] Andrew Orlowski and Carey Bishop. MS Anti-Spyware
built on MS Abandonware. The Register.
[7] VBOpenGL type library.

Problema de versionado asociado con varias libreras runtime DLL, conocido como DLL Hell
Soporte pobre para programacin orientada a
objetos[9]
Incapacidad para crear aplicaciones multihilo, sin
tener que recurrir a llamadas de la API de Windows.
Dependencia de complejas y frgiles entradas de registro COM[10]
La capacidad de utilizar controles en un slo formulario es muy limitada en comparacin a otras herramientas. DLL Hell DB, Libro Programando en
Visual Basic,2002

Alternativas multiplataforma o
externas a Windows

Existen mltiples alternativas dentro y fuera de Windows


que intentan imitar este lenguaje y su mecnica de desarrollo. El ms conocido y popular es Gambas:
Gambas es un proyecto libre para implementar programacin visual con Basic en GNU/Linux. Est
derivado principalmente de Visual Basic, adaptndose 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
tambin para Amiga OS. A diferencia de Gambas, estas
son soluciones comerciales y no son libres.

Referencias

[1] Whats new in VB6?. www.insteptech.com.


[2] Al Tenhundfeld. Visual Basic 6.0 to be Supported on
Windows 7. The Register.
[3] Support Statement for Visual Basic 6.0 on Windows Vista, Windows Server 2008 and windows 7.
Msdn.microsoft.com.
[4] Product Family Life Cycle Guidelines for Visual Basic
6.0. Msdn2.microsoft.com.

[8] Alex Homer, Dave Sussman, Rob Howard, Brian Francis, Karli Watson, Richard Anderson (2004). Professional
ASP.NET 1.1. Wiley. ISBN 0764558900.
[9] Marc D'Aoust. Avoid Writing Tedious, Boring Code.
Microsoft.
[10] Andrew Troelsen (2008). Pro VB 2008 and the .NET 3.5
Platform: The experts voice in .NET. Apress. p. 5. ISBN
1590598229.

9 Enlaces externos
Visual Basic 2005 Express Edition - Sitio web de la
edicin gratis de Visual Basic .NET
Service Pack 6 para Visual Basic 6.0: Paquete de
redistribucin de archivos de tiempo de ejecucin
(vbrun60sp6.exe) en Microsoft
Microsoft Visual Basic 6.0 Common Controls en
Microsoft
VB 6.0 en MSDN
Visual Basic en Open Directory Project.

10 TEXTO E IMGENES DE ORIGEN, COLABORADORES Y LICENCIAS

10
10.1

Texto e imgenes de origen, colaboradores y licencias


Texto

Visual Basic Fuente: https://es.wikipedia.org/wiki/Visual_Basic?oldid=83842501 Colaboradores: Pablo.cl, Pilaf, Angus, Comae, Tony
Rotondas, Dodo, Ricpelo, Jynus, Ascnder, Sms, Rsg, Cookie, Murphy era un optimista, PeiT, Dianai, Fenririel, Cinabrium, Porao,
Schummy, Loco085, Renabot, Boticario, Zeioth, Deleatur, Soulreaper, Petronas, Orgullomoore, Hispa, Edub, Taichi, Patricio.lorente,
Rembiapo pohyiete (bot), Zohar~eswiki, Magister Mathematicae, Luismiad, RobotQuistnix, Platonides, Alhen, Superzerocool, Chobot,
Yrbot, Baito, FlaBot, Vitamine, BOTijo, YurikBot, Mortadelo2005, Gaeddal, GermanX, KnightRider, Dweigel, No s qu nick poner,
Jesuja, FedericoMP, Gustavo.ovalle, Sodaxp, Baneld, Jlboya, Bcoto, Er Komandante, Lasneyx, Chlewbot, Tomatejc, Filipo, Axxgreazz,
Jorgechp, Nocker, Cad, Kn, BOTpolicia, Takachan, CEM-bot, Laura Fiorucci, Tripy, Asegim77, -jem-, Chabacano, Dalmiant, X.Cyclop,
Durero, Especiales, Retama, Baiji, Pacovila, Eamezaga, Antur, CF, Montgomery, Thijs!bot, Logongas, Un Mercenario, Cansado, Sobreira, Mahadeva, uo Martnez, Yeza, RoyFocker, Bryant1410, Botones, Isha, Kenbill, Gusgus, Jurgens~eswiki, Jugones55, Y0rx, Miguelo
on the road, Cmontero, 4aDimension, VanKleinen, Kved, Pmisiones, Mansoncc, Diego Godoy, CommonsDelinker, TXiKiBoT, Bboccioz, Sergiosh, ColdWind, Gacq, Elisardojm, Humberto, Netito777, Lecturalia, Lex Sparrow, Bedwyr, Plux, Galaxy4, Snakefang, Fcr,
Manuel Trujillo Berges, Biasoli, Seykron, Bucephala, Fremen, Cinevoro, VolkovBot, Snakeyes, Technopat, C'est moi, Penelopina, Galandil, Matdrodes, Fernando Estel, Carcediano, BlackBeast, Shooke, Lucien leGrey, AlleborgoBot, 3coma14, Edmenb, YonaBot, SieBot,
Jogacrack, Obelix83, Cobalttempest, Jacina~eswiki, Luis ademir, Drinibot, Dark, BOTarate, Pelutnik, JJLR, Manw, Ugly, Greek, BuenaGente, Aleposta, Mafores, Tirithel, Locos epraix, XalD, Jarisleif, Javierito92, Nicolasdavel, HUB, MetsBot~eswiki, Nicop, Eduardosalg,
Veon, Qwertymith, Leonpolanco, Pan con queso, GLuky, GaRvA, Alejandrocaro35, Poco a poco, Sidcc, Danathor, Antonio Irazabal,
Aipni-Lovrij, Norberto Perez G., SilvonenBot, UA31, SergioN, AVBOT, David0811, MarcoAurelio, Ezarate, Diegusjaimes, DumZiBoT, MelancholieBot, Innv, Arjuno3, InaBOT, Error de inicio de sesin, Andreasmperu, Luckas-bot, Mrchuseau, Uswikisa, Rafael1193,
Jotterbot, Vic Fede, Dangelin5, Jorge 2701, Markoszarrate, La concha de tu hermana 22, Barteik, Billinghurst, Mara 95, Briancarloscondenanza, Sakhal~eswiki, ArthurBot, Argentinoo, Emmanuele, SuperBraulio13, Ortisa, Elamericanono, Manuelt15, Xqbot, Jkbw, SassoBot,
Dreitmen, Jaimemf, Bitarray, Metronomo, Nachojr99, Igna, Lraingele, Torrente, Botarel, SantiBadia, 987654321ajs, BOTirithel, Hprmedina, Halfdrag, RedBot, Marsal20, Hubert Stiven, Abece, Carlos tenorio ortega, PatruBOT, Angelito7, Nicoobe, Humbefa, Tolo Cunill,
TheXDS, Fsalas4000, Edslov, EmausBot, Savh, AVIADOR, Rubpe19, MercurioMT, WikitanvirBot, Diamondland, Antonorsi, Travelour,
Invadibot, Doublebassjihh, LlamaAl, Tajampi, Helmy oved, SAulVillalobos, Flashlack, Syum90, Addbot, Marcrodos, Giliofelix, GOFURSELF, Csar Krall, Jarould, Egis57 y Annimos: 668

10.2

Imgenes

10.3

Licencia de contenido

Creative Commons Attribution-Share Alike 3.0

You might also like