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.
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.
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.
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.
<%= 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.
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.
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.)
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.
<% 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.
<% 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.
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.
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.
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.
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.
<%
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.
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.
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.
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.
<% 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).
<% RScustomerList.MoveNext Loop %>
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.