Visual Basic

Recomendar esta página Ver en PDF Imprimir esta página
Wiki de astronomía.
Todo el poder de la Wikipedia y toda la esencia de la astronomía

Microsoft Visual Basic

De Wikipedia, la enciclopedia libre

(Redirigido desde Visual Basic)

Visual Basic es un lenguaje de programación desarrollado por Alan Cooper para Microsoft. El lenguaje de programación es un dialecto de BASIC, con importantes añadidos. Su primera versión fue presentada en 1991 con la intención de simplificar la programación utilizando un ambiente de desarrollo completamente gráfico que facilitara la creación de interfaces gráficas y en cierta medida también la programación misma. En 2001 Microsoft propone abandonar el desarrollo basado en la API Win32 y pasar a trabajar sobre un framework o marco común de librerías independiente de la version 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) que presenta serias incompatibilidades con el código Visual Basic existente.

Visual Basic constituye un IDE (entorno de desarrollo integrado o en inglés Integrated Development Enviroment)que ha sido empaquetado como un programa de aplicación, es decir, consiste en un editor de código (programa donde se escribe el código fuente), un depurador (programa que corrige errores en el código fuente para que pueda ser bien compilado), un compilador (programa que traduce el código fuente a lenguaje de máquina), y un constructor de interfaz gráfica o GUI (es una forma de programar en la que no es necesario escribir el código para la parte gráfica del programa, sino que se puede hacer de forma visual).

Tabla de contenidos

[editar] Características generales

Es un lenguaje de fácil aprendizaje pensado tanto para programadores principiantes como expertos, guiado por eventos, y centrado en un motor de formularios que facilita el rápido desarrollo de aplicaciones gráficas. Su sintaxis, derivada del antiguo BASIC, ha sido ampliada con el tiempo al agregarse las características típicas de los lenguajes estructurados modernos. Se ha agregado una implementación limitada de la programación orientada a objetos (los propios formularios y controles son objetos), aunque sí admite el polimorfismo mediante el uso de los Interfaces, no admite la herencia. No requiere de manejo de punteros y posee un manejo muy sencillo de cadenas de caracteres. Posee varias bibliotecas para manejo de bases de datos, pudiendo conectar con cualquier base de datos a través de ODBC (Informix, DBase, Access, MySQL, SQL Server, PostgreSQL ,etc) a través de ADO.

Es utilizado principalmente para aplicaciones de gestión de empresas, debido a la rapidez con la que puede hacerse un programa que utilice una base de datos sencilla, además de la abundancia de programadores en este lenguaje.

El compilador de Microsoft genera ejecutables que requieren una DLL para que funcionen, en algunos casos llamada MSVBVMxy.DLL (acrónimo de “MicroSoft Visual Basic Virtual Machine x.y”, siendo x.y la versión) y en otros VBRUNXXX.DLL (“Visual Basic Runtime X.XX”), que provee todas las funciones implementadas en el lenguaje. Además existen un gran número de bibliotecas (DLL) que facilitan el acceso a muchas funciones del sistema operativo y la integración con otras aplicaciones. Sin embargo esto sólo es una limitación en sistemas obsoletos, ya que las bibliotecas necesarias para ejecutar programas en Visual Basic vienen de serie en todas las versiones de Windows desde Windows 2000.

[editar] Derivados

[editar] Versiones

Las versiones de Visual Basic para Windows son muy conocidas, pero existe una versión de Microsoft Visual Basic 1.0 para MS-DOS (ediciones Profesional y Estándar) menos difundida y que data de 1992. Era 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 sólo para 16 bits, la 3.0, incluía ya una detallada biblioteca de componentes para toda clase de usos. Durante la transición de Windows 3.11 a Windows 95, apareció la versión 4.0, que podía generar programas de 16 y 32 bits a partir de un mismo código fuente, a costa de un gran aumento en el tamaño de los archivos “runtime” necesarios. Además, se sustituyen los controles VBX por los nuevos OCX. Con la versión 5.0, se implementó por primera vez la posibilidad de compilar a código nativo, obteniendo una mejora de rendimiento considerable. Tanto esta como la posterior 6.0 soportaban características propias de los lenguajes orientados a objetos, aunque careciendo de algunos ítems importantes como la herencia, el polimorfismo y la sobrecarga. La version 6.0 continua utilizándose masivamente.

Las versiones actuales de Visual Basic se basan en la plataforma .NET. La versión 7 del lenguaje fue implementada por Microsoft en el programa Visual Basic .NET. Visual Basic .NET 2003 trajo la versión 7.1, mientras que la versión 8 fue implementada en Visual Basic 2005. Visual Basic 2008 equivale a la versión 9. Estas versiones tienen muchas de las características del lenguaje original, pero también numerosas diferencias. En muchos casos para portar un código escrito en Visual Basic 6 a Visual Basic .Net se hace necesario reescribir parte del código. La nueva versión del lenguaje es mayormente equivalente a C# aunque presenta algunas diferencias. Por eso hay un debate sobre la validez de esta nueva versión del lenguaje y sus ventajas y desventajas sobre C#.

[editar] Ventajas e inconvenientes

Ventajas

  • La facilidad del lenguaje permite crear aplicaciones para Windows en muy poco tiempo. En otras palabras, permite un desarrollo eficaz y menor inversión en tiempo que con otros lenguajes.
  • Permite generar librerías dinámicas (DLL) ActiveX de forma nativa y Win32 (no ActiveX, sin interfaz COM) mediante una reconfiguración de su enlazador en el proceso de compilación.
  • Permite la utilización de formularios (Forms) tanto a partir de recursos (como en otros lenguajes) como utilizando un IDE para diseñarlos.
  • Posibilidad de desarrollar y ejecutar aplicaciones de Visual Basic 6.0 en Windows Vista sin realizar cambios en la mayoría de los casos pero no se logra aprovechar al máximo las características de este sistema como permite hacerlo Visual Basic 2005 o Visual Basic 2008.
  • Existencia de un entorno de desarrollo gratuito denominado Visual Basic Express Edition.[1]

Inconvenientes

  • Es software propietario por parte de Microsoft, por tanto nadie que no sea del equipo de desarrollo de esta compañía decide la evolución del lenguaje.
  • No existe forma alguna de exportar el código a otras plataformas diferentes a Windows.
  • Los ejecutables generados son relativamente lentos en Visual Basic 6.0 y anteriores al ser codigo pseudo-interpretado.
  • Por defecto permite la programación sin declaración de variables. (que puede ser sencillamente corregida escribiendo la frase Option Explicit en el encabezado de cada formulario, en cuyo caso será menester declarar todas las variables a utilizar, lo que a la postre genera código más puro).
  • Su sintaxis no es case sensitive (no distingue entre minúsculas y mayúsculas como C++ por ejemplo)
  • No permite programación a bajo nivel ni incrustrar secciones de código en ASM.
  • Sólo permite el uso de funciones de librerías dinámicas (DLL) stdcall.
  • Fuerte dependencia de librerías y componentes en las versiones 6.0 y anteriores, lo que dificultaba la distribución de los desarrollos entre maquinas.
  • Algunas funciones están indocumentadas.
  • La escasa implementación de POO en Visual Basic 6.0 y anteriores no permite sacar el máximo provecho de este modelo de programación.
  • No soporta tratamiento de procesos como parte del lenguaje.
  • El manejo de errores que tiene mediante la orden on error no sigue los patrones estructurados.
  • No incluye operadores de desplazamiento de bits como parte del lenguaje.
  • No permite el manejo de memoria dinámica, punteros, etc. como parte del lenguaje.
  • No avisa de ciertos errores o advertencias (se puede configurar el compilador para generar ejecutables sin los controladores de desbordamiento de enteros o las comprobaciones de límites en matrices entre otros, dejando así más de la mano del programador la tarea de controlar dichos errores)
  • El tratamiento de mensajes de Windows es básico e indirecto.
  • La gran gama de controles incorporados son, sin embargo en algunos casos, muy generales, lo que lleva a tener que reprogramar nuevos controles para una necesidad concreta de la aplicación. Esto cambia radicalmente en Visual Basic .NET donde es posible reprogramar y mejorar o reutilizar los controles existentes.
  • Los controles personalizados no mejoran la potencia de la API de Windows, y en determinados casos acudir a ésta será el único modo de conseguir el control personalizado deseado.
  • Su periodo de soporte técnico lo determina Microsoft. En el caso de Visual Basic 6.0 su Soporte Extendido expiró el 04 de Abril de 2008.

[editar] Entornos de desarrollo

Existen dos entornos de desarrollo IDE para Visual Basic:

  • Microsoft Visual Basic x.0 para versiones desde la 1.0 hasta la 6.0, (con las diferencias entre las versiones desde la 1.0 (MS-DOS/Windows 3.1) hasta la 3.0 (16 bits, Windows 3.1) y las de la 4.0 (16/32 bits, Windows 3.1/95/NT) hasta la 6.0 (32 bits, Windows 9x/Me/NT/2000/XP/Vista)
  • Microsoft Visual Studio .NET, entorno integrado para varios lenguajes entre ellos Visual Basic .NET (32/64 Bits, Windows XP/Vista), con ediciones:
    • Express (más limitada en herramientas pero gratuita)
    • Standard
    • Professional (Con licencia comercial)
    • Team Edition (Mucho más completa en herramientas con licencia comercial más cara)
  • Existen alternativas libres como SharpDevelop para .NET y Proyecto Mono.

[editar] Compiladores

Dada la naturaleza del lenguaje, el compilador por excelencia es Microsoft Visual Basic que a su vez es un IDE para el lenguaje; sin embargo existen muchos otros IDEs y compiladores entre los que se encuentran

  • Microsoft Visual Basic .NET – IDE + Compilador Sistemas: Win32 y Windows Mobile Ediciones: gratuitas (Express editions) y comerciales (Educational, Standard, Proffesional, Architect)
  • SharpDevelop – IDE para Mono Sistemas: Win32, Linux Ediciones: libre
  • Mono – Compilador independiente para .NET Sistemas: Win32, Linux, MacOS, Solaris, Unix Ediciones: libre
  • Gambas – IDE + Compilador Sistemas: Linux Ediciones: libre
  • PureBasic – IDE + Compilador Sistemas: Win32, Linux, MacOS, Amiga Ediciones: evaluación y comercial
  • PowerBasic – IDE + Compilador Sistemas: DOS, Win32 Ediciones: comercial
  • REALbasic – IDE + Compilador Sistemas: Win32, Linux, MacOS Ediciones: evaluación y comercial (Standard y Proffesional)
  • BlitzPlus – IDE + Compilador, Desarrollo orientado a graficos 2D bajo Windows Ediciones: evaluación y comercial
  • Blitz3D – IDE + Compilador, Desarrollo orientado a juegos 2D y 3D bajo Windows Ediciones: evaluación y comercial
  • BlitzMax – IDE + Compilador, Desarrollo orientado a juegos 2D, extensible a 3D, Sistemas: Windows, Linux y Mac OS Ediciones: evaluación y comercial

[editar] Ejemplo: Vb 6.0, Cómo armar una calculadora simple

Antes que empezar a escribir el codigo, habria que colocar en un formulario nuevo tres cajas de texto (Textbox) alineadas horizontalmente y tambien cuatro botones (CommandButton).

He aquí un screenshot de como quedaria el formulario creado:

[[1]]

Una vez hecho eso, ir al codigo y escribir:

Dim A As Long
Dim B As Long
Private Sub Form_Load()
'Esto hace que las cajas de texto colocadas se limpien y que la caja del resultado no sea modificable.
Text1.text = ""
Text2.text = ""
Text3.text = ""
Text3.locked = True
'Esto le da los signos de operacion a los CommandButton.
Command1.Caption = "+"
Command2.Caption = "-"
Command3.Caption = "*"
Command4.Caption = "/"
End Sub
'Los siguientes cuatro Private Subs establecen que al apretar cada boton se ejecute la operacion y muestre el resultado en la caja de texto bloqueada.
Private sub Command1_Click()
A = text1.text
B = text2.text
text3.text = A + B
If text1.text="" Then
MsgBox "Imposible hacer la suma por falta de un valor",vbInformation
Else
If text2.text="" Then
MsgBox "Imposible hacer la suma por falta de un valor",vbInformation
End If
End If
End Sub
Private sub Command2_Click()
A = text1.text
B = text2.text
text3.text = A - B
If text1.text="" Then
MsgBox "Imposible hacer la resta por falta de un valor",vbInformation
Else
If text2.text="" Then
MsgBox "Imposible hacer la resta por falta de un valor",vbInformation
End If
End If
End Sub
Private sub Command3_Click()
A = text1.text
B = text2.text
text3.text = A * B
If text1.text="" Then
MsgBox "Imposible multiplicar por falta de factor",vbInformation
Else
If text2.text="" Then
MsgBox "Imposible multiplicar por falta de factor",vbInformation
End If
End If
End Sub
Private sub Command4_Click()
A = text1.text
B = text2.text
text3.text = A / B
If text1.text="" Then
MsgBox "Imposible hacer la division por falta de un valor",vbInformation
Else
If text2.text="" Then
MsgBox "Imposible hacer la division por falta de un valor",vbInformation
Else
If text1.text="0" Then
MsgBox "Imposible dividir entre cero",vbInformation
Else
If text2.text="0" Then
MsgBox "Imposible dividir entre cero",vbInformation
End If
End If
End If
End Sub
'Fin del codigo

Lo que necesitan es agregar estos bloques de codigo “If”, el If es un valor condicional considerado en el VB como parte fundamental, puesto que en el se establecen las condiciones de como funciona una parte del programa.

En este caso, en la calculadora, hemos puesto condiciones, si las cajas de texto donde se escriben los valores se encuentran vacías, nos mandara un error sin necesidad de entrar en una depuracion (proceso de verificacion de nuestro codigo), es decir, la calculadora solo nos señalara el error y nos dejara modificarlo, y, en el caso de la division, que no se puede dividir entre 0 una cantidad, hemos hecho que nos marque tambien este error, señalando que “No se puede dividir entre cero”.

Es un buen ejemplo de operandos matematicos y de condiciones, en caso de que no se puedan cumplir éstos.

[editar] Enlaces externos

Scroll to Top