Módulo 2: Utilizar componentes ActiveX Server

Los componentes de ActiveX Server le ofrecen medios reutilizables de tener acceso a la información, aumentando así sus capacidades de creación de secuencias de comandos. Por ejemplo, el componente Acceso a bases de datos habilita a las secuencias de comandos para que consulten a una base de datos. De esta manera, cuando quiera hacer una consulta a una base de datos desde una secuencia de comandos, puede utilizar el componente Acceso a bases de datos y evita el tener que escribir complicadas secuencias de comandos para realizar esta tarea. Puede llamar a estos componentes desde cualquier secuencia de comandos o lenguaje de programación que soporte automatización (los componentes ActiveX Server son servidores de automatización). En este módulo, utilizará componentes de ActiveX Server que están incluidos con ASP para activar un sitio Web de ejemplo.

Ahora, ya le deben ser familiares los pasos básicos para escribir archivos .asp. Si no es así, complete el Módulo 1 de este tutorial.

Nota    Para poder guardar y ver su trabajo durante este módulo, debe tener un servidor Web con Active Server Pages instalado, o bien permisos de escritura y ejecución en un directorio remoto compartido que tenga un servidor Web con Active Server Pages instalado.


Lección 1: Utilizar el componente Ad Rotator

Los sitios Web de Internet suelen proporcionar espacio publicitario. Para mantener los sitios visualmente interesantes y para mostrar diferentes comerciales en un espacio limitado, quizás quiera recorrer sucesivamente los diferentes comerciales. El componente Ad Rotator simplifica la tarea de mostrar cada comercial por turno y facilita el agregar nuevos comerciales. En esta lección, usted creará una secuencia de comandos que llamará al componente Ad Rotator para que cree un recorrido entre cuatro comerciales seleccionados aleatoriamente. Haga clic en el botón Mostrar más adelante para ver un ejemplo de un comercial que va a mostrar y posteriormente haga clic en el botón repetidas veces para crear un recorrido entre otros comerciales.


 


Crear el archivo ad

Ahora creará un sencillo archivo de texto para decir al componente Ad Rotator qué comerciales va a insertar y cuánto tiempo va a mostrarse cada uno de ellos. Ya hemos creado para usted un archivo que contiene comerciales del sitio Web de ejemplo Adventure Works. Para verlo, abra el archivo Adrot.txt con su editor de texto. Este archivo se encuentra en el directorio Lessons (el directorio predeterminado es www2.interplanet.es\Inetpub\ASPSamp\Tutorial\Lessons).

La primera línea del archivo define la secuencia de comandos que se va a llamar cuando el usuario haga clic en un comercial; en nuestro caso es Adredir.asp. Esta secuencia de comandos le habilita para seguir la popularidad de los comerciales. Las siguientes tres líneas establecen la anchura, la altura y el borde de los comerciales.

redirect /aspsamp/advworks/adredir.asp
width 460
height 60
border 1

A continuación, el archivo contiene los datos del comercial. Para cada comercial incluye la imagen que se usará, la dirección URL a la que ir cuando el usuario hace clic en el anuncio (después de ir a Adredir.asp, en este ejemplo), el texto asociado con la imagen y el tiempo que se va a mostrar este comercial:

/aspsamp/advworks/multimedia/images/ad_1.gif
http://www.microsoft.com
Astro Mt. Bike Company
20

Al mantener la información de los comerciales en un archivo separado, un grupo diferente en su empresa puede actualizar el archivo Adrot.txt sin tener la necesidad de modificar su página ASP. Los diferentes grupos pueden mantener archivos de comerciales para las distintas partes de su sitio Web.

Crear la secuencia de comandos

  1. Utilice su editor de texto para abrir el archivo Ad.asp del directorio Lessons (el directorio predeterminado es www2.interplanet.es\Inetpub\ASPSamp\Tutorial\Lessons).

  2. Busque las palabras “Lección de tutorial: Ad Rotator”. Va a agregar aquí su secuencia de comandos.

  3. Cree una instancia del componente Ad Rotator y asígnela a la variable Ad copiando la siguiente secuencia de comandos y pegándola en su editor de texto (después del comentario):
    <% Set Ad = Server.CreateObject("MSWC.Adrotator") %> 

    Si algún otro usuario ha completado esta parte del tutorial, esta secuencia de comandos ya estará colocada en su sitio. Pegue la secuencia de comandos que copió sobre la secuencia existente.

    Al asignar una instancia de un componente a una variable, puede referirse al componente más adelante en la secuencia de comandos.

  4. Para buscar un anuncio en el archivo, utilice el método GetAdvertisement del componente Ad Rotator. Agregue el siguiente comando a su secuencia de comandos:
    <%= Ad.GetAdvertisement("/aspsamp/tutorial/lessons/adrot.txt") %> 

    Si algún otro usuario ha completado esta parte del tutorial, esta secuencia de comandos ya estará colocada en su sitio. Pegue la secuencia de comandos que copió sobre la secuencia existente.

    El método GetAdvertisement necesita un parámetro (el nombre del archivo que contiene la información del anuncio, en nuestro caso Adrot.txt). Utilizando este parámetro, el método devuelve una etiqueta HTML <IMG> con el anuncio adecuado. El nombre de variable que asignó a la instancia del componente Ad Rotator, Ad, precede al método, GetAdvertisement y a la ruta del archivo Adrot.txt. El signo igual manda el valor devuelto por el método (el anuncio real) al explorador del cliente.

  5. Guarde los cambios de Ad.asp y salga del editor de texto. Asegúrese que su editor de texto no reemplaza la extensión .asp.

  6. Para verificar que funciona la página ASP que creó (después de lo cual puede volver a este tutorial haciendo clic en el botón Atrás de su explorador), vaya a http://www2.interplanet.es/aspsamp/tutorial/lessons/ad.asp

Realizar otras tareas

El sitio Web de ejemplo Adventure Works tiene también un ejemplo del componente Ad Rotator. Haga clic en el botón Ver fuente ASP para ver la secuencia de comandos que activan el componente Ad Rotator.

Nota    Si todavía no ha visitado el sitio Web de ejemplo Adventure Works el vínculo precedente le redirige automáticamente a la página principal de Adventure Works (ésta es una característica del sitio Web Adventure Works). Si esto ocurre, utilice el botón Atrás en su explorador Web para volver al tutorial y haga clic otra vez en el vínculo.


Lección 2: Utilizar el componente Capacidades del explorador

No todos los exploradores pueden soportar el rápido crecimiento de las características disponibles en Internet: marcos, sonidos de fondo, subprogramas Java y tablas son algunos ejemplos de lo que unos exploradores soportan y otros no. Puede utilizar el componente Capacidades del explorador para presentar el contenido en un formato apropiado para las capacidades de un explorador específico. Por ejemplo, si un explorador no soporta tablas, el componente Capacidades del explorador puede mostrar los datos de una manera alternativa, como texto.

En esta lección, va a mejorar la secuencia de comandos Ad Rotator que creó en la Lección 2. Si el explorador de un usuario soporta controles ActiveX, el usuario ve una serie de comerciales que aparecen uno detrás de otro, con una variedad de “fundidos de entrada” y “fundidos de salida”. Si el explorador no soporta los controles ActiveX, el usuario verá una serie de comerciales alternativos mostrados por el componente Ad Rotator. Un ejemplo de comercial girando que es sensible al explorador aparece a continuación. (Si su explorador no soporta esta tecnología, verá los mismos comerciales que vio en la Lección 1.)


Importante   Debe completar la Lección 1 antes de continuar con esta lección.


Clocktower Sporting Goods

Crear la secuencia de comandos

  1. Inicie su editor de texto y abra el archivo Ad.asp del directorio Lessons (el directorio predeterminado es www2.interplanet.es\Inetpub\ASPSamp\Tutorial\Lessons).

  2. Busque las palabras “Lección de tutorial: Principio de Capacidades del explorador”. Va a agregar su secuencia de comandos debajo de este comentario.

  3. Cree una instancia del componente Capacidades del explorador y asígnela a la variable OBJbrowser copiando la siguiente secuencia de comandos y pegándola en Ad.asp. Asegúrese de que inserta el comando por encima de la instrucción <% Set Ad...%> :
    <% Set OBJbrowser = Server.CreateObject("MSWC.BrowserType") %>

    Si algún otro usuario ha completado esta parte del tutorial, esta secuencia de comandos ya estará colocada en su sitio. Pegue la secuencia de comandos que copió sobre la secuencia existente.

  4. Utilice la instrucción de VBScript If...Then...Else para determinar si el explorador del cliente soporta controles ActiveX. Si lo hace, se utilizará el control Ad Billboard; si no soporta los controles ActiveX, se utilizará el componente ActiveX Ad Rotator del servidor. Para incorporar esta lógica, copie la siguiente secuencia de comandos y péguela detrás de la instrucción <% Set OBJbrowser...%> que insertó en el paso 2:
    <% If OBJbrowser.ActiveXControls = "True" Then %> 
    <OBJECT HSPACE="10" WIDTH="460" HEIGHT="60" 
      CODEBASE="/aspsamp/advworks/controls/nboard.cab"  
      DATA="/aspsamp/advworks/controls/billboard.ods"> 
    </OBJECT> 
    <% Else %> 

    Si algún otro usuario ha completado esta parte del tutorial, esta secuencia de comandos ya estará colocada en su sitio. Pegue la secuencia de comandos que copió sobre la secuencia existente.

    La propiedad del componente Capacidades del explorador de los controles ActiveX determina si el explorador los soporta.

    Utilice la etiqueta <OBJECT> para insertar un control ActiveX dentro de una página HTML. Los parámetros de la etiqueta especifican el archivo desde el que el control lee los datos. En este ejemplo, el control lee imágenes comprimidas del archivo Billboard.ods.

    Nota     Este control funciona adecuadamente sólo en equipos con procesadores x86 y compatibles. Para completar esta lección en un equipo no compatible, sustituya este control por uno que funcione adecuadamente en su equipo.

  5. Busque las palabras “Lección de tutorial: Final de Capacidades del explorador”. Copie y pegue la siguiente secuencia de comandos debajo del comentario para finalizar la instrucción If...Then:
    <% End If %> 

    Si algún otro usuario ha completado esta parte del tutorial, esta secuencia de comandos ya estará colocada en su sitio. Pegue la secuencia de comandos que copió sobre la secuencia existente.

  6. Guarde los cambios de Ad.asp y salga del editor de texto. Asegúrese que su editor de texto no reemplaza la extensión .asp.

  7. Para verificar que funciona la página ASP que creó (después de lo cual puede volver a este tutorial haciendo clic en el botón Atrás de su explorador), vaya a http://www2.interplanet.es/aspsamp/tutorial/lessons/ad.asp.

Nota    El archivo Browscap.ini (que se encuentra en el directorio C:\Winnt\system32\inetsrv\ASP\Cmpnts) contiene los datos necesarios para que el componente Capacidades del explorador reconozca un explorador y sus capacidades. Necesitará agregar nuevos datos a este archivo mientras se desarrollen nuevos exploradores o si utiliza algunas de las características dependientes de explorador que no están listadas en el archivo predeterminado Browscap.ini.


Lección 3: Utilizar el componente Acceso a bases de datos

El componente Acceso a bases de datos utiliza objetos de datos de ActiveX (ADO) para proporcionar un fácil acceso a la información almacenada en una base de datos (o en otra estructura de datos en forma de tabla) que cumpla con el estándar Open Database Connectivity (ODBC). En esta lección se conectará a una base de datos Microsoft® Access de clientes y mostrará un listado con sus contenidos. Aprenderá cómo extraer datos utilizando la instrucción de SQL SELECT y creará una tabla HTML para mostrar los datos.


       
       
       

Identificar la base de datos

Antes de utilizar una base de datos con el componente Acceso a bases de datos, debe identificar la base de datos con la aplicación ODBC en el Panel de control. En este ejemplo va a utilizar una base de datos de Microsoft® Access incluida en el sitio Web de ejemplo de ASP.

  1. En el equipo en el que esté ejecutando su servidor Web, abra el Panel de Control.

  2. Haga doble clic en el icono ODBC y después en DSN del sistema.

    Hay dos tipos de fuentes de datos: Usuario, que sólo está disponible para usted, y Sistema, que está disponible para cualquiera que utilice su equipo. La fuente de los datos que se va a utilizar con el servidor Web tiene que ser del tipo Sistema.

  3. Haga clic en Agregar, elija Microsoft Access Driver y luego haga clic en Finalizar.

  4. En el cuadro Orígenes de datos del sistema, escriba AWTutorial y haga clic en Seleccionar. Seleccione el archivo \AspSamp\AdvWorks\AdvWorks.mdb (que está en el directorio Inetpub) y haga clic en Aceptar.

  5. Haga clic en Aceptar para cerrar los cuadros de diálogo.

Crear la instancia del componente

  1. Utilice su editor de texto para abrir el archivo Database.asp en el directorio Lessons (el directorio predeterminado es www2.interplanet.es\Inetpub\ASPSamp\Tutorial\Lessons).

  2. Busque las palabras “Lección de tutorial: Conexión ADO”. Va a copiar y pegar su secuencia de comandos debajo de este comentario.

  3. Como siempre, necesita crear una instancia de un objeto para poder utilizarlo. Copie y pegue la siguiente secuencia de comandos:
    <% 
    Set OBJdbConnection = Server.CreateObject("ADODB.Connection")  

    Si algún otro usuario ha completado esta parte del tutorial, esta secuencia de comandos ya estará colocada en su sitio. Pegue la secuencia de comandos que copió sobre la secuencia existente.

  4. Para el componente Acceso a bases de datos, también necesita especificar la fuente de datos ODBC (la base de datos de la que va a tomar los datos) abriendo una conexión a la base de datos. Copie y pegue la siguiente secuencia de comandos:
    OBJdbConnection.Open "AWTutorial" 

    Si algún otro usuario ha completado esta parte del tutorial, esta secuencia de comandos ya estará colocada en su sitio. Pegue la secuencia de comandos que copió sobre la secuencia existente.

  5. Utilice el método Execute del componente Acceso a bases de datos para emitir la instrucción SELECT de SQL (SQLQuery) a la base de datos y almacenar los registros devueltos en un conjunto de resultados (RSCustomerList). Copie y pegue la siguiente secuencia de comandos debajo de la instrucción OBJdbConnection.Open:
    SQLQuery = "SELECT * FROM Customers" 
    Set RSCustomerList = OBJdbConnection.Execute(SQLQuery) 
    %>

    Si algún otro usuario ha completado esta parte del tutorial, esta secuencia de comandos ya estará colocada en su sitio. Pegue la secuencia de comandos que copió sobre la secuencia existente.

    Puede combinar estas dos líneas de la secuencia de comandos pasando la cadena exacta SELECT directamente al método Execute en lugar de asignarlo primero a la variable SQLQuery. Sin embargo, cuando SQL SELECT es largo, hace más legible la secuencia de comandos si asigna la cadena a un nombre de variables, como SQLQuery y luego pasa el nombre de la variable en el método Execute.

Mostrar el conjunto de resultados obtenido

Puede pensar en el conjunto de resultados como en una tabla cuya estructura se determina por los campos especificados en la instrucción SELECT de SQL. Mostrar las filas devueltas por la consulta es tan sencillo como ejecutar un bucle a través de las filas del conjunto de resultados. En este ejemplo, los datos devueltos se muestran en filas en una tabla HTML.

  1. En Database.asp, busque las palabras “Lección de tutorial: Mostrar datos ADO” y copie y pegue la siguiente secuencia de comandos de VBScript Do...Loop debajo de este comentario:
    <% Do While Not RScustomerList.EOF %>
      <TR>
      <TD BGCOLOR="f7efde" ALIGN=CENTER> 
        <FONT STYLE="ARIAL NARROW" SIZE=1> 
          <%= RSCustomerList("CompanyName")%> 
        </FONT></TD>
      <TD BGCOLOR="f7efde" ALIGN=CENTER>
        <FONT STYLE="ARIAL NARROW" SIZE=1> 
          <%= RScustomerList("ContactLastName") & ", " %> 
          <%= RScustomerList("ContactFirstName") %> 
        </FONT></TD>
      <TD BGCOLOR="f7efde" ALIGN=CENTER>
        <FONT STYLE="ARIAL NARROW" SIZE=1>
        <A HREF="mailto:"> 
          <%= RScustomerList("ContactLastName")%> 
        </A></FONT></TD>
      <TD BGCOLOR="f7efde" ALIGN=CENTER>
        <FONT STYLE="ARIAL NARROW" SIZE=1> 
          <%= RScustomerList("City")%> 
        </FONT></TD>
      <TD BGCOLOR="f7efde" ALIGN=CENTER>
        <FONT STYLE="ARIAL NARROW" SIZE=1> 
          <%= RScustomerList("StateOrProvince")%> 
        </FONT></TD>
      </TR> 

    Si algún otro usuario ha completado esta parte del tutorial, esta secuencia de comandos ya estará colocada en su sitio. Pegue la secuencia de comandos que copió sobre la secuencia existente.

    La instrucción Do...Loop repite un bloque de instrucciones siempre que una condición tenga como valor True. Las instrucciones repetidas pueden ser secuencias de comandos o texto y etiquetas HTML. Así, cada vez que se ejecuta el bucle, construye una fila de una tabla (en HTML) e inserta los datos devueltos (utilizando secuencias de comandos).

  2. Para completar el bucle, utilice el método MoveNext para mover el puntero de la fila del conjunto de resultados una fila abajo. Ya que esta instrucción entra dentro de la instrucción Do...Loop, se repite hasta que se alcanza el final del archivo. Copie y pegue las siguientes líneas de la secuencia de comandos debajo el comentario que dice “Lección de tutorial: Siguiente fila”:
    <% 
    RScustomerList.MoveNext 
    Loop 
    %>
  3. Guarde los cambios de Database.asp y salga del editor de texto. Asegúrese que su editor de texto no reemplaza la extensión .asp.

  4. Para verificar que funciona la página ASP que creó (después de lo cual puede volver a este tutorial haciendo clic en el botón Atrás de su explorador), vaya a http://www2.interplanet.es/aspsamp/tutorial/lessons/database.asp.

Realizar otras tareas

Para ver un ejemplo más completo del componente Acceso a bases de datos en acción, vea el archivo .asp Customer_Listing.asp en el sitio Web de ejemplo Adventure Works. Haga clic en el botón Ver fuente ASP para ver la secuencia de comandos que construye la lista de clientes.

Nota    Si todavía no ha visitado el sitio Web de ejemplo Adventure Works el vínculo precedente le redirige automáticamente a la página principal de Adventure Works (ésta es una característica del sitio Web Adventure Works). Si esto ocurre, utilice el botón Atrás en su explorador Web para volver al tutorial y haga clic otra vez en el vínculo.

Ahora que ya ha utilizado componentes ActiveX Server, quizás quiera ir al Módulo 3: Escribir sus propios componentes ActiveX Server.


© 1996, Microsoft Corporation. Reservados todos los derechos.