viernes, 22 de mayo de 2015

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

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  acción del usuario o efectuado desde la aplicación.
  • 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

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

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