| Artículos | 01 DIC 1998

Visual Basic 6.0: mayor Productividad

Tags: Histórico
Microsoft renueva la herramienta RAD más utilizada
Francisco Charte.

La aparición de Visual Basic 5 trajo consigo una de las más repetidas peticiones de los programadores: el compilador de código nativo . Conseguida esta meta, muchos de ellos esperaban ver aparecer en la versión 6 características como la herencia, sobrecarga y otros elementos que le acercasen más a un lenguaje realmente orientado a objetos . Las novedades de la nueva versión, sin embargo, van dirigidas principalmente a incrementar la productividad facilitando nuevas posibilidades de desarrollo y más asistentes, un mejor y más flexible acceso a datos y una mayor integración con la Web .

El lenguaje, no obstante, también ha experimentado algunas mejoras . Se han incrementado las posibilidades de los controles ActiveX ya existentes y, al tiempo, se ha añadido un importante número de nuevos controles que, en su mayor parte, están relacionados con la interfaz de usuario .

Las posibilidades de desarrollo de controles con Visual Basic también son ahora mayores, con posibilidades como la creación de controles ligeros y que actúan como consumidores o proveedores de datos . Asimismo los típicos asistentes de Visual Basic ahora son más y funcionan mejor .

Como es habitual, las posibilidades que encontrará el usuario en Visual Basic 6 dependerán directamente de la edición que se esté usando . Al igual que en la versión anterior existen tres ediciones diferentes: estándar, profesional y empresarial .

Ésta última es la más completa y cuenta con posibilidades inexistentes en las otras dos . Algunas de las características que se comentarán en este artículo, como los diseñadores de datos y creación de aplicaciones IIS, tan sólo están disponibles en las versiones profesional y empresarial .

El entorno

Al ejecutar por primera vez Visual Basic 6 uno puede tener la impresión de que está ante la versión anterior, puesto que la interfaz inicial del entorno de trabajo prácticamente no ha experimentado cambio alguno . En principio las ventanas adosadas de proyecto, propiedades y la caja de herramientas son las mismas que ya existían, incluyendo exactamente los mismos controles en esa caja .

Tampoco en las distintas listas de opciones del menú principal encontraremos grandes sorpresas si exceptuamos dos nuevas opciones, desactivadas a menos que estemos conectados con un servidor de bases de datos, y el menú Proyecto, en el que existen opciones para añadir al proyecto actual un módulo DHTML, uno IIS, un entorno de datos o un informe . Este tipo de elementos se añaden automáticamente al proyecto en caso de que al iniciarlo se elija la opción apropiada del repositorio .

No ha de extrañar que la interfaz de Visual Basic 6 no difiera de la de Visual Basic 5, ya que con dicha versión Microsoft ya la adaptó a la interfaz genérica de las herramientas que formaban parte de Visual Studio . El cambio profundo tuvo lugar al pasar de la versión 4 a la 5 .

El lenguaje

Si bien no se han realizado cambios estructurales de importancia en la implementación del BASIC que incorpora Visual Basic, las novedades son numerosas y algunas muy interesantes . El mecanismo de polimorfismo se sigue rigiendo por las interfaces y la instrucción Implements que apareció en la versión 5, no existiendo en la versión 6 nada nuevo al respecto . El operador AddressOf, introducido también con Visual Basic 5, sigue teniendo las mismas limitaciones conocidas .

Entre las novedades hay que contabilizar más de una docena de nuevas funciones de manipulación de cadenas, desde las que se limitan a invertir la secuencia de caracteres hasta las que facilitan el formateo de números y fechas . Entre ellas hay que destacar algunas especialmente interesantes, como Replace, que permite efectuar una búsqueda y sustitución; Join, que puede concatenar en una cadena todos los elementos de una matriz, y Split, que efectúa el proceso complementario, extrayendo datos de una cadena y devolviéndolos en forma de matriz .

Funciones como Split y Join son posibles gracias a otras dos novedades introducidas en el lenguaje: las funciones ahora pueden devolver como resultado una matriz y las matrices pueden utilizarse como operando de asignación, a la izquierda del símbolo igual ( = ) . De esta forma sería posible, por ejemplo, codificar una función que explorase el sistema para obtener todas las letras de unidades disponibles, devolviendo como resultado una matriz de cadenas que podría asignarse directamente a una matriz dinámica .

Además de matrices, los métodos y propiedades ahora pueden tanto recibir como devolver valores de tipos definidos por el usuario, algo que no era posible en versiones previas de Visual Basic y que suponía una gran limitación .

En cuanto a los objetos fundamentales con que se trabaja en Visual Basic, como el formulario y los controles ActiveX, apuntar dos novedades interesantes: el método Add de la colección Controls y la función CallByName . Con el primero es posible añadir a un contenedor, durante la ejecución, cualquier control del que exista licencia sin necesidad de crear previamente una matriz de controles . Éstas representan una técnica exótica existente en Visual Basic para facilitar la creación y destrucción de controles en ejecución, técnica que, gracias a los métodos Add y Remove de la colección Controls, podremos evitar en muchos casos .

Mediante la función CallByName es posible obtener y asignar una propiedad, así como llamar a cualquier método, sin necesidad de usar la notación habitual Objeto . Propiedad . Tanto el nombre de la propiedad o método como los valores necesarios se pasarán como parámetros a CallByName que, en respuesta, realizará la operación solicitada . Básicamente se obtiene una mayor flexibilidad a la hora de manipular múltiples objetos no polimórficos de una forma genérica, ahorrando código y trabajo .

Los componentes y objetos

Prácticamente todos los controles que existían en Visual Basic 5 han sido mejorados en la nueva versión 6, contando con nuevas propiedades y posibilidades . Sin entrar en detalles específicos de cada control, se aprecian cambios genéricos que afectan a la validación de las entradas y la conexión a datos de casi todos ellos .

Con la nueva propiedad CausesValidation se indica si un cierto control, al ser manipulado por el usuario, necesita ser validado . En caso afirmativo, dicho control genera un evento Validate en el instante en que el usuario intenta abandonarlo, de tal forma que el programa puede validar el dato y, si procede, impedir el desplazamiento a otro control, obligando a realizar una entrada correcta .

También la conexión a datos cuenta con nuevas propiedades, además de las conocidas DataSource y DataField . Ahora dichas conexiones pueden ser de mayor complejidad, seleccionándose un conjunto de datos mediante la propiedad DataMember . La propiedad DataSourceBehavior de los módulos de clase permite que éstos sean tanto proveedores como consumidores de datos, de tal forma que un control puede estar conectado a una clase . La colección BindingCollection facilita la conexión de cualquier proveedor con cualquier consumidor .

Otras novedades, más específicas pero igualmente interesantes, afectan a elementos de interfaz como los controles ImageList o ToolBar . El primero ahora es capaz de trabajar con imágenes en formato GIF y JPG . El segundo cuenta con nuevas propiedades que permiten crear botones que son menús desplegables .

Si las novedades en los controles ya conocidos son numerosas, no es menor el número de nuevos controles existentes . Las interfaces ahora serán más atractivas gracias a los controles CoolBar, FlatScrollbar, ImageCombo, MonthView y DateTimePicker . También existen versiones mejoradas y nuevos controles para conexión a datos, como DataRepeater, D

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información