Sólo Programadores Banner 468x60
 
 
Este mes en Sólo Programadores
Contenido del CD-ROM
Índice temático
Suscripción
 
   

Programación Multimedia

Visual Basic 6.0

En este artículo presentamos las principales novedades de Visual Basic 6.0, de reciente aparición en nuestro país. Se han hecho modificaciones en el nucleo del lenguaje, en Internet, se han mejorado los asistentes e incluye novedades en los controles.

INTRODUCCIÓN

Su lenguaje se basa en el Basic de antaño, aunque debido a sucesivas evoluciones poco tiene que ver con él. Es necesario especificar que Visual Basic se vende independientemente o bien como parte del conjunto de herramientas de programación Visual Studio 6.0. Asimismo también cabe destacar que en el momento de escribir este artículo, Microsoft ha puesto a disposición del usuario en su Web el Service Pack 1 de Visual Studio 6.0 el cual corrige algunos errores.

VERSIONES DE VISUAL BASIC 6.0

Como ya viene siendo tradicional, el lenguaje Visual Basic se ha presentado en diferentes versiones para que cada uno pueda elegir la que más se adapta a sus necesidades y a sus gustos. En Visual Basic 6.0 encontramos tres versiones o ediciones diferentes del mismo lenguaje:

Edición de aprendizaje de Visual Basic 6.0

El equipo de desarrollo de Microsoft supone que el usuario de esta versión no tiene ninguna experiencia previa en programación. Básicamente está pensada para estudiantes, aficionados o gente que requiera una cierta idea sobre como desarrollar aplicaciones para Windows.

Edición profesional de Visual Basic 6.0

Esta versión esta diseñada para profesionales individuales o programadores de una determinada corporación que necesiten crear una aplicación disponible para Internet o bien una determinada aplicación cliente-servidor.

Edición empresarial de Visual Basic 6.0

Diseñada para equipos de programadores, la versión empresarial de Visual Basic 6.0 ,que tienen que crear aplicaciones distribuidas cliente-servidor y necesiten un alto rendimiento. O bien para aquellos equipos que necesitan crear aplicaciones de Internet o intranet.

Novedades en el lenguaje

Vamos a ver y a conocer todas las novedades que ha sufrido el núcleo principal del lenguaje Visual Basic. Para una mejor lectura y una mejor comprensión vamos a proceder a dividirlos en dos subgrupos: el primero de ellos será el de las novedades del lenguaje en sí mismas y el segundo las novedades en lo referente a funciones de cadena.

Dichas modificaciones o ampliaciones corresponden al núcleo del lenguaje y por consiguiente van a ser aplicables a todas las ediciones de Visual Basic 6.0. Una de las novedades es que ahora las funciones y los diferentes procedimientos de propiedades van a ser capaces de devolver arrays. Además dentro del campo de los arrays vamos a poder utilizar uno dinámico en la izquierda de una determinada asignación (aunque dicha operación continuará vetada a los vectores o arrays de un tamaño fijo). Otra limitación del lenguaje que se ha eliminado es que los tipos definidos por el usuario pueden ser los argumentos o los tipos de retorno de propiedades públicas y de métodos públicos. En todas las ediciones se ofrece unos objetos de sistema llamados File System Object u Objetos del Sistema de Ficheros (FSO u OSF abreviadamente). Dicho modelo FSO posee los siguientes objetos:

En todas las ediciones se ofrecen unos objetos de sistema llamados File System Object

l Drive: objeto que permite obtener más información sobre las distintas unidades de disco que posee el sistema, información tal como, por ejemplo, su nombre de recurso compartido o el espacio. No es necesario que estén conectadas al sistema las unidades de las cuales vamos a obtener información, es decir, puede, por ejemplo accederse a ellas desde una red de área local. Además las unidades pueden ser también de CD-ROM, discos RAM, etc.

l Folder: dicho objeto permite crear, borrar y mover carpetas, así como requerir al sistema información diversa sobre los directorios.

l Files: objeto que permitirá crear, borrar o mover ficheros y preguntar al sistema todo tipo de información sobre los ficheros.

l FileSystemObject: el principal objeto de todo el grupo y es el que nos proporciona acceso al sistema de ficheros del ordenador.

l TextStream: objeto que permitirá leer y escribir ficheros de texto.

La función CallByName permitirá acceder a una determinada propiedad o método especificando una cadena que contenga el nombre de la propiedad o el método. Por ejemplo para invocar el método Move de una caja de texto ahora podemos utilizar la siguiente sintaxis:

CallByName Text1, "Move", vbMethod, 100, 100

Otra novedad disponible en todas las versiones es que ahora con la función CreateObject, la cual nos permitía crear una referencia a un objeto ActiveX, podremos especificar entre sus argumentos si lo deseamos, un nombre de máquina para así crear objetos en máquinas remotas.

La función StrConv ha sido convenientemente ampliada y ahora tiene un argumento opcional:

StrConv(string, conversion, LCID)

Dicho argumento permite especificar un identificador de localización distinto al identificador establecido por defecto que en este caso sería el del sistema. Se ha añadido un nuevo objeto llamado Dictionary (Diccionario) que viene a suplir alguna de las limitaciones del objeto Collection. Es más fácil de utilizar que éste, más flexible y además genera menos errores de ejecución .

Nuevas funciones de cadena

Han sido añadidas un total de catorce nuevas funciones, en todas las versiones del lenguaje, para ampliar su funcionalidad. Veamos a continuación un resumen de dichas funciones:

l WeekDayName: esta función devolverá una cadena indicando un determinado día de la semana.

StrReverse: retornará una cadena en la cual el orden de los caracteres ha sido invertido.

l Split: retornará un array unidimensional que contendrá un determinado número de subcadenas.

l Round: devolverá un número redondeado.

l Replace: devuelve una cadena en la que se ha reemplazado una determinada subcadena por otra subcadena un determinado número de veces.

l MonthName : esta función retornará una cadena indicando un mes determinado del año.

l Join: devuelve una cadena formada de la unión de un número de subcadenas contenidas en un array.

l FormatPercent: devuelve una expresión convenientemente formateada como un porcentaje, es decir, multiplicada por cien con el carácter de porcentaje (%).

l FormatNumber: devolverá una expresión formateada como un número.

l FormatDateTime: devolverá una expresión convenientemente formateada como una fecha o bien como una hora.

l FormatCurrency: esta función retornará una expresión formateada como un valor de moneda, usando para ello el símbolo de moneda que esté definido en el panel de control de nuestro sistema.

l Filter Function: retornará un array conteniendo un subconjunto de un array de cadenas. Dicho subconjunto estará basado en un determinado criterio de filtro.

ASISTENTES

Vamos a ver en este apartado varias novedades de los asistentes. Por una parte, en esta nueva versión del lenguaje se han incluido nuevos asistentes y se han mejorado algunos de los que ya existían. Así como también se ha mejorado su control de carga. Vamos a ver a continuación las novedades en este campo:

Algunos de los asistentes han sufrido diversas mejoras, y entre todos quizás el que mayor remodelación ha sufrido es el instalador de aplicaciones, también conocido como Setup Wizard. Podremos ejecutarlo como un Add-In desde dentro de Visual Basic o bien desde la línea de órdenes como una línea más de un hipotético proceso bat. Dicho asistente se ha remodelado en todas las versiones del lenguaje y además ahora los ficheros creados por dicho programa (los famosos ficheros cab) pueden desplegarse hacia un directorio del disco, tal y como se hacía hasta ahora, pero también hacia un servidor de Web o un recurso de red compartido. Las nuevas tecnologías que incorpora Visual Basic, también han sido contempladas en dicho asistente. De este modo dicho asistente soporta ahora las tecnologías siguientes: ADO, OLE DB, RDO, ODBC y DAO.

Y también podremos realizar instalables para los nuevos tipos de aplicación existentes: aplicaciones del tipo DHTML (Dynamic HTML o HTML dinámico) y aplicaciones del tipo IIS (Internet Information Server o Servidor de Información de Internet). Por otra parte también se ha mejorado el control sobre el menú de inicio y sobre los grupos e iconos que crea la instalación de nuestro programa.

El Asistente para Objetos de Datos se encuentra presente en la edición profesional y empresarial de Visual Basic, y permitirá crear clases y controles de usuario, los cuales van a estar unidos a un determinado entorno de datos. En cierta manera podríamos decir que automatiza la creación de objetos para una arquitectura de tres capas.

Este asistente se ha ampliado y nos permite ahora construir formularios a partir de tablas o consultas almacenadas, utilizando para ello el control de datos ADO. Dicho asistente se encuentra a su vez integrado dentro de otros asistentes tales como el creador de aplicaciones, el de gráficos y el de la rejilla FlexGrid. Se encuentra disponible en las ediciones profesional y empresarial.

También modificado en todas las ediciones del lenguaje, nos permite ahora grabar nuestras preferencias como perfiles, permitiendo de este modo crear múltiples aplicaciones con un mismo formato. Asimismo desde dentro de este asistente podremos lanzar el asistente de Formulario de datos y el Asistente de la Barra de Herramientas. Además como toque final diremos que ahora los menús son completamente personalizables.

El Asistente de la barra de herramientas tal y como hemos dicho este asistente puede lanzarse desde dentro del asistente de aplicaciones o bien individualmente desde el menú de Add-Ins. Se encuentra disponible en todas las ediciones y permite crear una barra de herramientas personalizada.

El Asistente o utilidad generadora de clases ahora soporta más funcionalidades. Por ejemplo en la lista de argumentos se soporta ahora las siguientes palabras clave: Optional, ByVal, ParamArray. También soporta el uso de Enumeraciones y el valor por defecto en la lista de argumentos. Disponible en las versiones profesional y empresarial.

El Diseñador de Add-Ins nos permitirá empezar de forma inmediata una aplicación, diseñando los complementos por defecto, el nombre de la aplicación, su versión y otras características.

NOVEDADES RELATIVAS A INTERNET

Con la versión 5.0 del lenguaje Visual Basic se estrenó en el mundo de Internet. Ahora con sus nuevas características intenta afianzarse dentro de dicho mundo. Vamos a hacer un breve repaso de las más significativas.

Podremos crear aplicaciones IIS (Internet Information Server), es decir aplicaciones que usen el código de Visual Basic para responder a las demandas de un usuario desde un navegador.

Las clases de Web son componentes de tipo COM cuya utilización se basa en un servidor Web, que ofrecen a los programadores de Visual Basic la posibilidad de escribir código para "personalizar" respuestas de dirección URL desde dentro del entorno de desarrollo de Visual Basic. La aplicación resultante es una aplicación multiplataforma basada en servidor y accesible desde cualquier explorador HTML en cualquier plataforma. La idea de crear las WebClasses surgió para que los programadores pudiesen crear una aplicación para el usuario basada en el Web para aplicaciones existentes de Visual Basic, o para generar aplicaciones basadas en Web mediante el modelo controlado por eventos de Visual Basic para separar la parte lógica de la aplicación de la interfaz del usuario.

El HTML dinámico dentro de Microsoft Internet Explorer es una tecnología que expone las propiedades, métodos y eventos para cada elemento de una página Web. Una aplicación de HTML dinámico es una aplicación que realizaremos en Visual Basic y la cual va a utilizar una combinación de HTML dinámico y código de Visual Basic, en una aplicación interactiva basada en el navegador. Dicha aplicación residirá en la máquina del navegador, en donde interpretará y responderá a las acciones que haga el usuario final en el navegador. En su forma más simple una aplicación DHTML puede ser una simple página HTML, que use el código de Visual Basic junto con el modelo DHTML para responder a ciertas acciones que pueden ocurrir en la página. Dichas acciones pueden venir por parte del usuario (como por ejemplo movimientos del ratón o clics del mismo) o acciones por parte del navegador, como por ejemplo la carga de un gráfico o la apertura de una determinada página. Dentro de un nivel más elevado podríamos hacer tareas más complejas como recuperar datos de una página y usarlos para consultar una base de datos, o bien cambiar el aspecto visual y comportamiento de una página o crear elementos HTML para insertarlos dentro de una página.

Tal y como hemos dicho en el apartado de asistentes, también podemos utilizar el Instalador de aplicaciones para descargar nuestra aplicación hacia un sitio Web.

Las Operaciones Asíncronas han sido ampliamente remodeladas (en todas las versiones del lenguaje) con el fin para facilitarnos más información sobre la operación que está en marcha en ese momento. Así podemos utilizar algunas propiedades y algunos métodos nuevos como por ejemplo el evento AsyncReadProgress, las propiedades ByteMax, BytesRead, Status, Status Code y Target. Además el método AsyncRead y el evento AsyncReadComplete han sido ampliados.

Otra novedad se encuentra en el soporte de Internet Explorer 4.x para la descarga de documentos ActiveX. El proceso de descarga de documentos ActiveX en el navegador de Microsoft Internet Explorer 4.x funciona ahora de la misma forma que la descarga de controles ActiveX. Como consecuencia de este hecho no necesitamos una pagina separada de HTML para lanzar nuestro objeto a descargar. También el navegador puede descargar de una forma automática la última versión del documento ActiveX si éste no se encuentra instalado en la máquina del usuario. Además se dota a los usuarios de la posibilidad de ver el documento ActiveX dentro del navegador.

NOVEDADES EN CONTROLES

Quizás las características más impactantes ya sea por su vistosidad o por su utilidad, o las primeras en que nos fijamos sean los nuevos controles. Hemos dividido este apartado en dos subapartados, uno que hace referencia a los nuevos controles y otro que nos habla de nuevas características en los controles ya existentes.

NUEVOS CONTROLES

Dentro de los nuevos controles nos encontramos con algunos de ellos que son una revisión de otros antiguos u otros totalmente nuevos. Veámoslos a continuación:

El Control de datos ADO presente en todas las ediciones es un nuevo control que sigue la tecnología OLE DB. Funciona como el control intrínseco de datos y el control de datos remoto y nos permite crear una aplicación de bases de datos con un mínimo de código.

El control CoolBar presente en las ediciones Profesional y Empresarial es un control contenedor que puede utilizarse para crear barras de herramientas configurables por el usuario. Las barras resultantes son parecidas a las incorporadas por el Microsoft Internet Explorer.

También en todas las versiones se han añadido controles de lista de datos, y lista desplegable de datos (control DataList y DataCombo) que son versiones de los controles DBList y DBCombo existentes anteriormente. Dichos controles en esta nueva versión soportan la tecnología OLE DB y los nuevos controles ADO.

Lo mismo sucede con el control DataGrid (en todas las versiones) que ahora soporta los nuevos controles ADO y la tecnología OLE DB. Y nos permite construir de una forma fácil y rápida una aplicación que permita ver y editar recordsets.

El control DataRepeater crea una vista personalizada de una base de datos. Su funcionamiento es similar a los formularios de Access, y puede contener cajas de texto, de validación u otros controles.

El control DateTimePicker hace aparecer un calendario que se despliega para que así podamos introducir rápidamente fechas y horas.

Similar a este control nos encontramos con el control MonthView que permite al usuario tanto al elegir fechas como al elegir rangos de fechas de un calendario gráfico. Es aplicable a las ediciones Profesional y Empresarial.

También en estas versiones encontramos el control de barras de scroll planas (Flat Scrollbar). Dicho control ofrece la misma funcionalidad que el control de barras estándar de Windows, pero con diferencias en la interfaz visual. Dicho control puede aparecer visualmente como el estándar tridimensional de facto "barra de desplazamiento", como una barra plana (dos dimensiones) o como una barra de desplazamiento plana con flechas que aparecen biseladas cuando el mouse se pone sobre ellas. Es visualmente consistente con Microsoft Internet Explorer 4.0.

En todas las ediciones se ha incluido además una versión actualizada del control FlexGrid. Sumado a todas las características de dicho control encontramos que además puede mostrar una jerarquía de objetos recordset, de la tecnología ADO (ActiveX Data Object). Cada recordset se mostrará con una banda separadora en la cuadricula y además puede ser formateado independientemente de los otros.

El control ImageCombo está presente en todas las ediciones de Visual Basic y además se pueden añadir imágenes a la lista de elementos, para hacer así una lista combo box mucho más amigable.

CARACTERÍSTICAS NUEVAS EN LOS CONTROLES

También algunos de los controles existentes han ampliado su funcionalidad de alguna u otra forma. Veamos una breve descripción de alguno de estos cambios, los cuales son aplicables a todas las ediciones de Visual Basic 6.0.

En los controles que usan la validación de datos y el evento Validate se ha añadido una propiedad llamada CausesValidation. Dicha nos permite validar el contenido del control antes de que éste pierda el foco. Además mediante la programación podemos añadir o borrar controles de un formulario o de formulario a formulario.

También la función LoadPicture ha sido modificada, ya que ahora siempre que hagamos referencia a ella podremos especificar el tamaño de la imagen que cargar, así como su profundidad de color. También se ha añadido el método ValidateControl, el cual valida el contenido del último control que existe en el formulario antes de que salgamos del mismo.

ACCESO A DATOS

Dentro de este apartado encontramos novedades que ya han sido nombradas en el apartado de las novedades de asistentes o de las novedades de los controles, por lo que ya no las vamos a repetir, limitándonos en este apartado a las novedades tecnológicas.

La tecnologia ADO o ActiveX data Objects presupone un modelo más simple de objetos para acceder a datos, así como una mayor integración con otras tecnologías propietarias y no propietarias de Microsoft. Además ofrece una interfaz común tanto para acceder a datos locales como remotos, también recordsets jerárquicos, etc. Presente en todas las ediciones.

También en todas ellas se ha dado soporte a la tecnología OLE DB. Se trata de un conjunto de interfaces que siguen la arquitectura COM (Common Object Model) y que hacen posible que las aplicaciones tengan un acceso uniforme a los datos guardados en diferentes fuentes, ya sean relacionales o nó. Dichas interfaces soportan la funcionalidad de DBMS (DataBase Manager System) del sistema que accedemos, haciendo posible que este comparta los datos. La tecnología ADO será la forma a través de la cual los programadores accederán a la tecnología OLE DB. Todos los controles que acceden a datos, tal y como se ha podido ver en la sección de controles, son capaces de aprovechar toda esta tecnología.

El Diseñador de entorno de datos, presente en la edición Profesional y Empresarial, ofrece una forma interactiva de crear objetos ADO (ActiveX Data Objects) en tiempo de diseño. Soporta también la creación de agregados, jerarquías, agrupamientos, arrastrar y soltar, etc.

En la edición Empresarial hay dos herramientas: el Diseñador de consultas y el Diseñador de bases de datos que visualmente permiten crear y modificar esquemas de bases de datos, así como consultas.

Los objetos Data Report, de la ediciones Profesionales y Empresariales, premiten utilizar el arrastrar y soltar para así crear informes de cualquier recordset, incluyendo también los de tipo jerárquico. También en las mismas ediciones podemos crear Controles de usuario y clases que pueden ser fuentes de datos hacia las cuales podemos ligar otros controles.

Otra novedad es la ventana de Visualización de datos (Data View Window) utilizada para mostar todas las bases de datos a las que estamos conectados, sus tablas, vistas, procedimientos guardados en ellas, etc.

El Editor de SQL, presente en la edición Empresarial únicamente, permite añadir nuevos procedimientos para bases de datos tipo SQL Server u Oracle.

También en todas las ediciones podemos pasar recordsets de tipo ADO entre diferentes procesos y entre diferentes máquinas (via HTTP o via DCOM), lo cual se convierte en una magnifica forma de mover datos entre las diferentes capas de una aplicación multicapa.

Los Objetos de formato, presentes en todas estas aplicaciones, permiten una conversión en ambos sentidos entre una base de datos y un control unido a ella. Cuando el valor es leído de una base de datos, entonces el objeto Format añade el consiguiente formato al control ligado a dicha información.

Hasta aquí hemos podido ver un pequeño resumen de todas las características que se incluyen en esta nueva versión del lenguaje.


   
 
  Banner 468x60
  Explorer 4.0, Netscape 4.0. Resolución 800 x 600.
©Tower Communications 1.998.
Diseño: GRUPO ALBERTINA DE COMUNICACION.