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.
|