Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Construir Sites de Comercio Electronico Usando E-CRM y El Data Mining
Construir Sites de Comercio Electronico Usando E-CRM y El Data Mining
1
Creando Sitios de Comercio Electrónico
Edición 1.0
2
Creando Sitios de Comercio Electrónico
3
Creando Sitios de Comercio Electrónico
Antecedentes
Peru Adventure Trips, es una empresa dedicada a la venta de paquetes turisticos
con cede en la capital. En la actualidad elabora y vende paquetes turisticos en
sociedad con empresas amigas (socios de negocio) en las principales ciudades del
Pais. Sus principales clientes son extranjeros y una minoria nacionales.
El dueño de la empresa, don Guino Castillo, conocer de las ventajas del uso de las
tecnologias, decide cambiar a su Gerente General: Edgard Campos y decide
contratar a Cesar Suarez, un joven profesional desarrollador de Sites de Comercio
Electronico, quien a su vez sugiere contratar a una Profesional en Marketing y
Diseño Grafico: Tamara Fernandez.
4
Creando Sitios de Comercio Electrónico
El presupuesto
Cesar, indica que puede iniciarse comprando el dominio PeruAdventure.com y
creando el Sitio en Internet y publicando en ella una Pagina Estatica presencial,
mientras se elabore la solucion final.
Acceso a Internet, 128 Kb de ancho de banda, las 24 horas del dia US$ 65 mes
Compra de Dominio en GrapPeru.com, incluye mantenimiento US$ 20 año
Servicio en Hosting en GrapPeru.com, 60 Mb US$ 180 año
soporte para ASP y Access o SQL Server
25 cuentas de correo POP3
La inversion por todo el año asciente a 980 dolares, lo que equivale a la mitad de
uno de los recibos de telefono que suele llegar a la empresa (llamadas
internacionales).
Cesar, propone que se debe crear una pagina que no solamente muestre una lista
de paquetes turisticos, sino un lugar inteligente que permita discretamente
almacenar el perfil de cada visitante y asi preparar paquetes turisticos
personalizados. Por ejemplo a muchos les agrada realizar canotaje, parapente, es
decir les agrada la aventura, otros prefieren algo mas conservador como visitar los
diversos centros arqueologicos y actividades culturales como el arte, la musica y las
danzas autoctonas. EN cambio otros buscan la parte mistica. Cesar dice que tratar
a todos los visitantes de la misma forma no seria conveniente, debemos buscar
tratar a cada visitante de una forma muy personalizada y tener para ellos paquetes
que vayan de acuerdo a sus gustos y preferencias (el pilar del CRM)
5
Creando Sitios de Comercio Electrónico
Descripción general
Para la empresa será necesario contar con un modulo de administracion del Sitio web, por
ejemplo para dar de alta a nuevos paquetes turisticos, para remover reservas, etc.
6
Creando Sitios de Comercio Electrónico
La Base de Datos
IDDESTINO Entero 4
CIUDAD Carácter 20
Tabla: PAQUETE
La tabla paquete contiene la descripcion de un paquete turistico, su costo, el inicio
y termino, la cantidad de cupos.
IDPAQUETE Carácter 5
IDDESTINO Entero 4
TIPO Carácter 1
NOMBRE Carácter 100
PRECIOCOSTO Monetario 8 4
PRECIOVENTA Monetario 8 4
FECHAINICIO DateTime 8
FECHATERMINO DateTime 8
CATEGORIA Carácter 1
FECHACONFIRMACION DateTime 8
CUPOS Entero 4
VIGENTE Entero 4
Tabla: ACTIVIDAD
Contiene las actividades que compone un paquete turistico: recojo del aeropuerto,
hospedaje, visitas guiadas, etc., para cada actividad habrá un proveedor.
IDACTIVIDAD Entero 4
IDPROVEEDOR Entero 4
IDPAQUETE Carácter 5
NOMBRE Carácter 100
PRECIOCOSTO Monetario 8 4
FECHA DateTime 8
7
Creando Sitios de Comercio Electrónico
Tabla: PROVEEDOR
Contiene la relacion de proveedores
IDPROVEEDOR Entero 4
NOMBRE Carácter 50
CIUDAD Carácter 20
TIPO Carácter 2
EMAIL Carácter 40
URL Carácter 80
Tabla: CLIENTE
Contiene la lista de clientes suscritos
IDCLIENTE Carácter 5
APELLIDO Carácter 40
NOMBRE Carácter 40
EMAIL Carácter 40
CLAVE Carácter 20
FECHANAC DateTime 8
SEXO Carácter 1
PAIS Carácter 20
CIUDAD Carácter 20
TIPOS Carácter 10
Tabla: RESERVA
Contiene la reserva de paquete efectuado por un determinado cliente
IDRESERVA Carácter 5
IDCLIENTE Carácter 5
IDPAQUETE Carácter 5
FECHA DateTime 8
CANTIDAD Entero 4
TIPOPAGO Carácter 1
TOTALVENTA Monetario 8 4
DESCUENTO Monetario 8 4
TOTALNETO Monetario 8 4
CONFIRMADO Lógico 1
ANULADO Lógico 1
8
Creando Sitios de Comercio Electrónico
Tabla: PARAMETRO
Contiene el ultimo numero correlativo usado en los Ids de las tablas.
El Campo CAMPO, contiene el nombre del campo y VALOR el ultimo numero usado
CAMPO Carácter 20
VALOR Carácter 20
www.LibrosDigitales.NET/PeruAdventure
9
Creando Sitios de Comercio Electrónico
J Por comodidad, podemos crear carpetas para separar los distintos archivos de la aplicación
10
Creando Sitios de Comercio Electrónico
Sectorización
Antes de iniciar el proyecto, conviene definir los sectores que presentará nuestros
Sitio. La pantalla la podemos dividir en:
Encabezado:
En ella podemos situar el logotipo de la empresa, el nombre del site, una banda de
menu
Pie:
En ella podemos situar los datos de la empresa, los derechos, y quizas algunos
banners
Izquierda:
Derecha:
11
Creando Sitios de Comercio Electrónico
Colores.css
<HEAD>
<TITLE>Aquí no hay Hojas de Estilo</TITLE>
</HEAD>
<BODY>
<H1>Este es un ejemplo</H1>
<H2>del uso de hojas de estilo</H2>
<P>Personaliza cada uno de los elementos que forma
parte una pagina</P>
</BODY>
12
Creando Sitios de Comercio Electrónico
Una vez creada la hoja de estilo, agregue a la pagina el link en la seccion <HEAD>:
<HEAD>
<TITLE>Aquí si se usa Hojas de Estilo</TITLE>
<LINK Rel="stylesheet" TYPE="text/css" HREF= "colores.css">
</HEAD>
<BODY>
<H1>Este es un ejemplo</H1>
<H2>del uso de hojas de estilo</H2>
<P>Personaliza cada uno de los elementos que forma
parte una pagina</P>
</BODY>
J En el presente libro no nos preocuparemos mucho por el aspecto de nuestra página, sino mas bien
incidiremos en la parte funcional, para la parte artistica dentro de muy poco estará disponible el libro “para
el WebMaster profesional”
13
Creando Sitios de Comercio Electrónico
Caracteristicas:
Ejemplos:
<HEAD>
<TITLE>Ejecutando HTML en el Cliente</TITLE>
</HEAD>
<BODY>
<H2>Usando HTML</H2>
<P>El dia de hoy es 18/02/2002
</BODY>
14
Creando Sitios de Comercio Electrónico
Usando JavaScript:
<HEAD>
<TITLE>Ejecutando un script JavaScript en el Cliente</TITLE>
</HEAD>
<BODY>
<H2>Usando JavaScript</H2>
<P>El dia de hoy es
<SCRIPT LANGUAGE=JavaScript RUNAT=Client>
<!--
dHoy = new Date();
document.write (dHoy);
//-->
</SCRIPT>
</BODY>
15
Creando Sitios de Comercio Electrónico
Usando VBScript:
<HEAD>
<TITLE> Ejecutando un script VBScript en el Cliente </TITLE>
</HEAD>
<BODY>
<H2>Usando VBScript</H2>
<P>El dia de hoy es
<SCRIPT LANGUAGE=VBScript RUNAT=Client>
<!--
Document.Write (Date)
-->
</SCRIPT>
</BODY>
16
Creando Sitios de Comercio Electrónico
17
Creando Sitios de Comercio Electrónico
Son paginas mas inteligentes, actualmente la mayoria de sites son de este tipo.
Caracteristicas:
Basado en ASP:
<HEAD>
<TITLE> Ejecutando un script VBScript en el Servidor </TITLE>
</HEAD>
<BODY>
<H2>Usando VBScript </H2>
<P> El dia de hoy es:
<%Response.Write Date%>
</BODY>
18
Creando Sitios de Comercio Electrónico
Como entornos de trabajo, ambos son muy buenos y tienen mucho en comun. Lo
que los difieren es el sistema operativo sobre el que operan, Windows para ASP y
Linux para PHP.
19
Creando Sitios de Comercio Electrónico
ü ASP
ü Que necesito para ejecutar ASP
ü El modelo de objetos
20
Creando Sitios de Comercio Electrónico
Ventajas
Cómo funciona?
21
Creando Sitios de Comercio Electrónico
Ejemplo:
<HEAD>
<TITLE> Ejecutando un script VBScript en el Servidor </TITLE>
</HEAD>
<BODY>
<H2>Usando VBScript </H2>
<P> El dia de hoy es:
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Response.Write Date
</SCRIPT>
</BODY>
Una forma mas practica es encerrar el codigo VBScript dentro <% y%>.
<HEAD>
<TITLE> Ejecutando un script VBScript en el Servidor </TITLE>
</HEAD>
<BODY>
<H2>Usando VBScript </H2>
<P> El dia de hoy es:
<%Response.Write Date%>
</BODY>
22
Creando Sitios de Comercio Electrónico
• Windows 95: Primero debe actualizar Windows. Esta actualizacion está con el
Service Pack 1. Esta actualizacion se llama Windows Socket 2 (WinSock2), el
cual, puede bajar el WinSock2 de:
http://www.microsoft.com/windows/downloads/bin/w95ws2setup.exe
Esta actualizacion corrige los problemas con el protocolo TCP/IP de Windows 95.
Luego se podrá instalar el PWS correctamente.
Ejecución:
Botón Inicio
Programas
Microsoft Personal Web Server
Administrador personal de Web
Asi mismo indica el nombre del directorio local, que en este caso es
c:/InetPub/wwwroot
http://Grap
23
Creando Sitios de Comercio Electrónico
24
Creando Sitios de Comercio Electrónico
http://Grap/Capitulo3
http://Grap/Capitulo3/ejemplo.asp
25
Creando Sitios de Comercio Electrónico
J En conclusion:
Si vamos a rentar un servicio de hosting será suficiente con Windows 98 (por razones de costo de
licencia). Concluida la labor de desarrollo, podemos colocar la aplicación en el espacio rentado en el
servicio de hosting, via FTP o mediante la consola que el servicio de hosting nos provea.
Si vamos a implementar un Servidor Web en nuestra oficina, conviene adquirir una licencia de Windows
2000 Advanced Server.
A efectos de crear los programas ASP, será suficiente un simple editor de textos como el Bloc de notas de
Windows, o adquirir un Editor mas practico como el EditPlus (www.editplus.com), por unos 30 dolares.
26
Creando Sitios de Comercio Electrónico
Ahora si se puede adquiera MS-Visual InterDev (no crea que lo hará todo, de todos
modos hay que echarle mano al codigo).
Si se quiere acceder a una base de datos, se puede usar una conexión ODBC, una
conexión OLE-DB, o una ruta física. Como plataforma de bases de datos, una
simple base de datos hecha en Microsoft Access puede ser suficiente.
Hay diversos recursos en el web que son gratuitos y nos ayudarán a crear
soluciones muy profesionales, a lo largo del texto se irá indicando.
27
Creando Sitios de Comercio Electrónico
El Objeto Response
Este objeto se usará para enviar información a mostrar en el navegador o para
redireccionar a un URL diferente.
Ejemplo:
También puede incluirse instrucciones HTML como para indicar el salto de linea.
<HEAD>
<TITLE> Un saludo </TITLE>
</HEAD>
<BODY>
<H2>Hola a todos</H2>
<% Response.Write ("Esta cadena <BR> ha sido generada en el
<B>Servidor. </B>") %>
</BODY>
28
Creando Sitios de Comercio Electrónico
El Objeto Request
El Objeto Request se usará para obtener la información incluida en un formulario
HTML o a partir de los datos enviados mediante la instrucción QueryString.
Un ejemplo del uso del Objeto Request es recuperar un valor de un formulario html.
El nombre de la variable viene del dispositivo de entrada de html.
<HEAD>
<TITLE>Formulario entrada de datos </TITLE>
</HEAD>
<BODY>
<FORM ACTION="VerDatos.asp" METHOD="POST">
<INPUT TYPE=Text NAME=txtNombre>
<INPUT TYPE=Text NAME=txtDireccion>
<INPUT TYPE="Submit" VALUE="Ver">
<INPUT TYPE="Reset" VALUE="Borrar">
</FORM>
</BODY>
VerDatos.asp
<HEAD>
<TITLE> Visualizando resultados </TITLE>
</HEAD>
<BODY>
<%
strNom = Request.Form ("txtNombre")
strDir = Request.Form ("txtDireccion")
J Ahora podemos usar la variable, por ejemplo para almacenar el contenido en una Base de Datos,
realizar alguna calculo, imprimirla como parte de un mensaje, etc.
29
Creando Sitios de Comercio Electrónico
El Objeto Application
El Objeto Application se usa para guardar la información que deba ser compartido
simultáneamente por todos los usuarios de la aplicación.
Application("Impuesto") = 0.18
El Objeto Session
El Objeto Session se usa para conservar datos durante una sesion.
Puede almacenarse en un Objeto Session, el Id del usuario, y asi poder verificar sus
datos y filtrar la informacion.
Session("autorizado") = "sí"
Cuando el usuario acceda a una pagina interior, para verificar si tiene permiso, solo
tendriamos que acceder y verificar que el valor de la variable de sesion “autorizado”
sea “si”.
J Hay un Objeto Application para todos los usuarios, y un Objeto Session para cada usuario
El Objeto Server
El Objeto Server se usa para definir la cantidad máxima de tiempo que se esperará
para realizar una escritura, crear instancias a componentes COM y poder usarlas en
nuestras paginas ASP, etc.
Por ejemplo podemos usar este objeto para crear una instancia del objeto de
ADODB.Connection y establecer una conexión a una Base de Datos.
Cn = Server.CreateObject ("ADODB.Connection")
30
Creando Sitios de Comercio Electrónico
Variables de Memoria
Objetivos
En este módulo se desarrollaran los siguientes puntos:
31
Creando Sitios de Comercio Electrónico
Variables
ü En ASP (VBScript) hay sólo un tipo de variable: Variant.
ü Todas las variables son del tipo Variant.
ü Cada variable puede tener un subtipo diferente.
ü Hay 10 subtipos diferentes del tipo Variant (que se describe mas adelante).
Dim miVar
Nombrando variables
Al dar un nombre a una variable debe tener en cuenta:
Usando variables
Simplemente asigne valores a las variables:
Num1 = 3.4142
Num2 = FormatNumber(Num1, 2)
strFrase = "Bienvenido..."
strNombre = “Cesar”
strSaludo = strFrase + strNombre
K Una variable tiene por alcance el modulo donde fue definido. Es decir si define una variable en una
función, sólo en esa función se podrá usar dicha variable. Para que la variable esté disponible a nivel de
toda la página, debe definirla al principio y fuera de cualquier función o subprogramas.
32
Creando Sitios de Comercio Electrónico
Suma.asp
<HEAD>
<TITLE>Intentando sumar numeros </TITLE>
</HEAD>
<BODY>
</BODY>
Neto.asp
<HEAD>
<TITLE>Deberia sumar, pero concatena </TITLE>
</HEAD>
<BODY>
<%
strSueldo = Request.Form ("txtSueldo")
strBoni = Request.Form ("txtBoni")
Al ejecutar obtenemos:
33
Creando Sitios de Comercio Electrónico
34
Creando Sitios de Comercio Electrónico
<HEAD>
<TITLE>Declarando Variables</TITLE>
</HEAD>
<BODY>
<%
Dim intMonto, intIGV, intTotal
intMonto = 900
intIGV = 18
intTotal = intMonto - ((intMonto/100)*intIGV)
%>
<P>Monto inicial <% = intMonto %> soles</P>
<B><P>El total es <% = intTotal %> soles</B></P>
</BODY>
35
Creando Sitios de Comercio Electrónico
Option Explicit
Las variables en ASP no necesitan ser declaradas, sin embargo es un buen hábito
declarar las variables que usemos, una forma de forzar su definición es mediante la
orden Option Explicit, la cual debe insertarse al principio del código ASP de cada
pagina.
<%Option Explicit
Dim a,b,c
..
%>
Documentando
Es bueno documentar las secciones de codigo con cierta complejidad, nos sera de
ayuda a nosotros (en el futuro), como a los otros desarrolladores del equipo de
trabajo.
<HEAD>
<TITLE>Declarando Variables</TITLE>
</HEAD>
<BODY>
<%
Dim intMonto, intIGV, intTotal ‘Declaramos variables
intMonto = 900 ‘Monto en soles
intIGV = 18 ‘Impuesto
intTotal = intMonto - ((intMonto/100)*intIGV)
%>
<!—Imprimimos los resultados à
<P>Monto inicial <% = intMonto %> soles</P>
<B><P>El total es <% = intTotal %> soles</B></P>
</BODY>
36
Creando Sitios de Comercio Electrónico
La funcion TypeName
Esta funcion devuelve el tipo de dato, de una variable o expresion.
<HEAD>
<TITLE>Usando TypeName</TITLE>
</HEAD>
<BODY>
<%Dim dblPi, TipoPi, datFNac, TipoFNac, strFrase, TipoFrase
dblPi = 3.142
TipoPi = TypeName(dblPi)
datFNac = #11/08/02#
TipoFNac = TypeName(datFNac)
Dim emp
emptyVar = TypeName(emp) %>
</BODY>
Al ejecutar obtenemos:
37
Creando Sitios de Comercio Electrónico
Los Subtipos
Veamos un resumen de los subtipos disponibles:
Subtipo Rango
Byte 0-255
4.94065645841247E-324 a 1.79769313486232E308
para valores positivos
38
Creando Sitios de Comercio Electrónico
Funciones de conversión
Las siguientes funciones se acostumbrar usar para convertir las variables a un
subtipo específico:
Todas estas funciones toman como parámetro una variable, y devuelven el subtipo
pedido que puede luego ser retenida en la misma variable, por ejemplo:
var1 = CStr(var1)
39
Creando Sitios de Comercio Electrónico
<HEAD>
<TITLE>Definiendo SubTipos</TITLE>
</HEAD>
<BODY>
<%
Dim strPi, dblPi, intPi, strPi2
Dim TipoPi1, TipoPi2, TipoPi3, TipoPi4
strPi = "3.142"
TipoPi1 = TypeName(strPi)
dblPi = CDbl(strPi)
TipoPi2 = TypeName(dblPi)
intPi = CInt(dblPi)
TipoPi3 = TypeName(intPi)
strPi2 = CStr(intPi)
TipoPi4 = TypeName(strPi2)
%>
40
Creando Sitios de Comercio Electrónico
IsArray(var)
IsDate(var)
IsEmpty(var)
IsNull(var)
IsNumeric(var)
IsObject(var)
Estas funciones retornan un valor lógico (verdadero o falso). Veamos el uso de cada
uno de ellos:
IsEmpty(var)
Esta función indica si una variable está vacía. Una variable está vacía cuando la
variable se ha creado, pero no se ha asignado aún un valor. Esto es distinto a una
cadena vacía ("") o a un valor NULO.
IsNull(var)
Esta funcion determina si el contenido de una variable contiene un valor numol.
Una variable es nula cuando se iguala a un valor nulo.
IsNumeric(var)
Devolverá verdadero si la variable contiene un valor numerico.
Ejemplo:
<HEAD>
<TITLE>Averiguando si es un numero</TITLE>
</HEAD>
<BODY>
<%
miVar = "Hola"
If IsNumeric(miVar) Then
Response.Write ("la Variable es numérica".)
Else
Response.Write ("la Variable no es numérica".)
End If
%>
</BODY>
41
Creando Sitios de Comercio Electrónico
La función VarType()
Otra manera de determinar el Subtipo es usando la funcion VarType ()
La sintaxis:
VarType(var)
42
Creando Sitios de Comercio Electrónico
InStr(CadenaDondeBuscar, CadenaABuscar)
La funcion retorna:
Ejemplo:
str1 = "Hola"
str2 = "ol"
If InStr(str1,str2)> 0 Then
Response.Write ("str1 contiene a str2")
Else
Response.Write ("str2 no está contenido en str1")
End If
Se imprimirá:
Left(Cadena,num)
Extrae caracteres por la izquierda
Se mostrará:
43
Creando Sitios de Comercio Electrónico
Right(Cadena,num)
Extrae caracteres por la derecha
Se mostrará:
Ejemplo:
El resultado:
ASP
Ejemplo:
str1 = "Cesar-Augusto-Bustamante-Gutierrez"
Response.Write ("con espacios :" & Replace(str1," -",""))
Se imprimirá:
44
Creando Sitios de Comercio Electrónico
Len(cadena)
Devuelve la longitud de una cadena
El resultado:
Active Server
45
Creando Sitios de Comercio Electrónico
Ejemplo:
miNomr= "CESAR"
Response.Write(LCase(miNom))
Se imprimirá:
Cesar
miApe = "bustamante"
Response.Write(UCase(Left(miNom,1)) & LCase(Mid(miNom,2)))
Response.Write(UCase(Left(miApe,1)) & LCase(Mid(miApe,2)))
Se imprimirá:
Cesar Bustamante
46
Creando Sitios de Comercio Electrónico
Por ejemplo:
Se imprimirá: 12
47
Creando Sitios de Comercio Electrónico
FormatDateTime(Fecha[,Formato])
Ejemplo:
dHoy = Now()
Response.Write ("dHoy antes de estructurar: " & dHoy &" <BR>")
Response.Write ("dHoy estructurado en 0 =" &
FormatDateTime(dHoy,0) &" <BR>")
Response.Write ("dHoy estructurado 1 =" & FormatDateTime(dHoy,1)
&" <BR>")
Response.Write ("dHoy estructurado 2 =" & FormatDateTime(dHoy,2)
&" <BR>")
Response.Write ("dHoy estructurado 3 =" & FormatDateTime(dHoy,3)
&" <BR>")
Response.Write ("dHoy estructurado 4 =" & FormatDateTime(dHoy,4)
&" <BR>")
El resultado:
48
Creando Sitios de Comercio Electrónico
yyyy - Año
q - Cuarto
m - Mes
y - Día del año
d - Día
w - Día de la semana
ww - Semana de año
h - Hora
n - Minuto
s - Segundo
J Por lo general, se obvian los parametros opcionales: PrimerDiaSemana y PrimerDiaAño, por tanto se
asume que el primer dia de la semana es domingo y el año comienza con el 1ro de enero
49
Creando Sitios de Comercio Electrónico
Ejemplo:
dHoy = Now()
Response.Write ("dHoy =" & dHoy &" <BR>")
Response.Write ("yyyy =" & DatePart ("yyyy", dHoy) &" <BR>")
Response.Write ("m =" & DatePart ("m", dHoy) &" <BR>")
Response.Write ("q =" & DatePart ("q", dHoy) &" <BR>")
Response.Write ("y =" & DatePart ("y", dHoy) &" <BR>")
Response.Write ("d =" & DatePart ("d", dHoy) &" <BR>")
Response.Write ("w =" & DatePart ("w", dHoy) &" <BR>")
Response.Write ("ww =" & DatePart ("ww", dHoy) &" <BR>")
Response.Write ("h =" & DatePart ("h", dHoy) &" <BR>")
Response.Write ("n =" & DatePart ("n", dHoy) &" <BR>")
Response.Write ("s =" & DatePart ("s", dHoy) &" <BR>")
Al ejecutar se mostraria:
50
Creando Sitios de Comercio Electrónico
Con esta función puede agregar o substraer una cantidad a una fecha o tiempo.
Cantidad, es el número que se quiere añadir o restar a una fecha (1, -4, 10, etc).
Ejemplo:
dHoy = Now()
Response.Write ("dHoy =" & dHoy &" <BR>")
Response.Write ("dHoy más 10 días =" & DateAdd ("d", 10, dHoy) &
" <BR>")
Response.Write ("dHoy menos 10 días =" & DateAdd ("d", -10,
dHoy) &" <BR>")
Response.Write ("dHoy más 3 meses =" & DateAdd ("m", 3, dHoy) &"
<BR>")
Response.Write ("dHoy menos 3 meses =" & DateAdd ("m", -3, dHoy)
& " <BR>")
Response.Write ("dHoy más 2 horas =" & DateAdd ("h", 2, dHoy) &"
<BR>")
Response.Write ("dHoy menos 2 horas =" & DateAdd ("h", -2, dHoy)
&" <BR>")
Al ejecutar se obtiene:
51
Creando Sitios de Comercio Electrónico
Esta función es útil para encontrar la cantidad de tiempo entre una fecha y otra.
Ejemplo:
var1 = #30/08/1970#
var2 = Date
Los resultados:
var1 =30/08/1970
var2 =26/02/2002
var1 al var2 es 11503 días
var1 al var2 es 378 meses
var1 al var2 es 32 el año(s)
52
Creando Sitios de Comercio Electrónico
Response.Write ( DateSerial(1970,08,10) )
Response.Write ( DateSerial(2002,02,31) )
10/08/1970
03/03/2002
Dado que en el mes de enero del 2002 hay solo 28 dias, y se ha especificado 31, la
funcion adaptara los dias restantes al mes siguiente, es decir 3 de marzo.
DateValue(Fecha)
Devuelve una fecha, pasada como argumento en formato de fecha larga.
Ejemplo:
Response.Write ( DateValue(“10”,”Setiembre”,”2002”) )
10/09/2002
53
Creando Sitios de Comercio Electrónico
Hay cinco funciones que le permitirá obtener una determinada parte de una fecha:
Day(Fecha)
Retorna el dia de una fecha, un número entre 1 y 31,
Month(Fecha)
Retorna el numero del mes de una fecha, un número entre 1 y 12,
Year(Fecha)
Retorna el numero del año de una fecha, un número como 2002
Weekday(Fecha)
Retorna el numero del dia en la semana, un numero entre 1-7, dónde 1 es domingo
MonthName(mes, abreviado)
Devuelve el mes en forma abreviada o larga
Ejemplo:
var1 = "30/08/1970"
Response.Write ("var1 =" & var1 &" <BR>")
Response.Write ("Para var1 el día es" & Day(var1) &" <BR>")
Response.Write ("Para var1 el mes es" & Month(var1) &" <BR>")
Response.Write ("Para var1 el año es" & Year(var1) &" <BR>")
Response.Write ("Para var1 el día de la semana es" &
WeekDay(var1, 1) &" <BR>")
Response.Write ("Para var1 el nombre del dia es" &
WeekDayName(WeekDay(var1), falso, 1) &" <BR>")
54
Creando Sitios de Comercio Electrónico
Al ejecutar se obtiene:
var1 =30/08/1970
Para var1 el día es 30
Para var1 el mes es 8
Para var1 el año es 1970
Para var1 el día de la semana es 1
Para var1 el nombre del dia es Domingo
55
Creando Sitios de Comercio Electrónico
Time()
Devuelve la hora del sistema
Hour(Hora)
Devuelve la hora
Minute(Hora)
Devuelve los minutos
Second(Hora)
Retorna los segundos de la Hora especificada en el argumento.
Timer()
Devuelve el numero de segundos transcurridos desde las 12 horas (medianoche)
TimeValue(Hora)
Devuelve un dato tipo fecha
56
Creando Sitios de Comercio Electrónico
Ejemplo:
<%
Dim hora
hora = Hour(Time())
'Empezamos la comprobaciones de tiempo.
If hora > 6 and hora < 13 then
Response.Write ("<B>Buenos Dias</B>, son las: " & Time())
ElseIf hora > 12 and hora < 20 then
Response.Write ("<B>Buenas Tardes</B>, son las: "& Time())
ElseIf hora > 19 and hora < 24 then
Response.Write ("<B>Buenas Noches</B>, son las: "& Time())
ElseIf hora >= 0 and hora < 7 then
Response.Write ("<B>Buenas Noches</B>, son las: "& Time())
End If
%>
Al ejecutar obtenemos:
57
Creando Sitios de Comercio Electrónico
Rnd()
La funcion Rnd(), genera un número aleatorio entre 0 y 1. Requiere que en nuestro
código pongamos la instrucción Randomize.
<%
Dim aleatorio
Randomize
' Generamos un numero entre 1 y 10.
Aleatorio = Int (Rnd*10) + 1
response.write "Numero aleatorio "& numero_azar
%>
58
Creando Sitios de Comercio Electrónico
Numeros enteros
FormatNumber(Numero[, Decimal, CeroInicial, Parentesis])
El primer parámetro es el único que se requiere, a menos que sea necesario indicar
el numero de cifras decimales mediante el segundo parámetro.
Con CeroInicial, puede indicar si se incluira cero, si el valor es fraccionario menor a
uno.
Mediante Parentesis, puede indicar si se encerrará con parentesis si el valor
numerico es negativo
Ejemplo:
var1 = 5443.354
var2 = -877743.2345
Response.Write ("var1 con formato=" & FormatNumber(var1, 2, -1,
-1) &" <BR>")
Response.Write ("var2 con formato =" & FormatNumber(var2, 1, -1,
-1))
Al ejecutar se obtiene:
Valores monetarios
FormatCurrency(Numero[, Decimal, CeroInicial, Parentesis])
Ejemplo:
var1 = 5443.354
var2 = -877743.2345
Response.Write ("var1 con formato =" & FormatCurrency(var1, 2, -
1, -1) &" <BR>")
Response.Write ("var2 con formato =" & FormatCurrency(var2, 1, -
1, -1))
59
Creando Sitios de Comercio Electrónico
El resultado:
Porcentajes
FormatPercent(Numero[, Decimal, CeroInicial, Parentesis])
Ejemplo:
var1 = 5.4333
var2 = .823
Response.Write ("var1 con formato =" & FormatPercent(var1, 2, -
1, -1) &" <BR>")
Response.Write ("var2 con formato =" & FormatPercent(var2, 1, -
1, -1))
Ejecutando se obtiene:
60
Creando Sitios de Comercio Electrónico
Arreglos
Los arreglos son dinámicos, es decir puede cambiarse el tamaño luego de haberse
creado el arreglo.
Dim miArray(1)
miArray(0) = "Jose"
miArray(1) = "Gustavo"
Dim miArray(20)
61
Creando Sitios de Comercio Electrónico
Ejemplo:
<HEAD>
<TITLE>Usando arreglos</TITLE>
</HEAD>
<BODY>
<%
Dim aLista()
Redim aLista(4)
aLista(0) = "Pilar"
aLista(1) = "Karen"
aLista(2) = "Tamara"
aLista(3) = "Gabriela"
Response.Write "<P>"
For n = 0 to 3
Response.Write aLista(n) & "<BR>"
Next
For n = 0 to 4
Response.Write aLista(n) & "<BR>"
Next
%>
</BODY>
Dim aColores
aColores = Array("Azul", "Verde", "Rojo")
62
Creando Sitios de Comercio Electrónico
LBound(Arreglo [,Dimension])
Esta función retorna el menor valor contenido en uno de los elementos de un
arreglo.
Dimension (por defecto 1), es un parámetro opcional, especifica la dimensión del
arreglo donde se quiere encontrar el más bajo valor.
UBound(ArrayName [, ArrayDimension])
Esta función retorna el mayor valor contenido en uno de los elementos de un
arreglo.
Dimension (por defecto 1), es un parámetro opcional, especifica la dimensión del
arreglo donde se quiere encontrar el más alto valor.
Ejemplo:
63
Creando Sitios de Comercio Electrónico
miArray(2,3) tendría 2 columnas y 3 filas, esto generaria un arreglo con 3 filas (de
0 a 2) con 4 columnas (de 0 a 3), es decir con 12 elemntos (3x4)
Ejemplo:
Dim miArray(2,3)
miArray(0,0) = "electrodomesticos"
miArray(1,0) = "lustradora"
miArray(2,0) = "10"
miArray(0,1) = "electrodomesticos "
miArray(1,1) = "tostador"
miArray(2,1) = "12"
miArray(0,2) = "perfumes"
miArray(1,2) = "Carolina Herrera"
miArray(2,2) = "40"
miArray(0,3) = "perfumes"
miArray(1,3) = "Aqua Brava"
miArray(2,3) = "23"
For i = 0 To UBound(miArray, 2)
Response.Write (" <tr><td> #" & i &" </td>")
Response.Write (" <td>" & miArray(0,i) &" </td>")
Response.Write (" <td>" & miArray(1,i) &" </td>")
Response.Write (" <td>" & miArray(2,i) &" </td></tr>")
Next
Al ejecutar se obtiene:
64
Creando Sitios de Comercio Electrónico
Instrucciones condicionales
If (condición) Then
' Bloque de instrucciones
End If
If (condición) Then
' Bloque de instrucciones 1
Else
' Bloque de instrucciones 2
End If
Una tercera forma indica, el uso de ElseIf a fin de discriminar otras posibilidades:
If (condición) Then
' Bloque de instrucciones 1
ElseIf (condición) Then
' Bloque de instrucciones 2
ElseIf (condición) Then
' Bloque de instrucciones 3
ElseIf (condición) Then
' Bloque de instrucciones 4
End If
Ejemplo:
65
Creando Sitios de Comercio Electrónico
J Se sugiere evitar ordenes If anidades, en su lugar procure usar la orden condicional Select Case.
En el caso de anidamiento, no olvide cerrar correctamente cada orden If.
Ejemplo:
<HEAD>
</HEAD>
<BODY>
<FORM ACTION="Verificar.asp" METHOD="post">
Ingrese su login:<BR>
<INPUT TYPE="text" NAME="Login"><P>
Ingrese su contraseña:<BR>
<INPUT TYPE="text" NAME="Clave">
<BR>
<BR>
<INPUT TYPE="submit">
</FORM>
</BODY>
66
Creando Sitios de Comercio Electrónico
<HEAD>
<TITLE>Verificando la contraseña </TITLE>
</HEAD>
<BODY>
<%
strLogin = Request.Form("Login")
strClave = Request.Form("Clave")
67
Creando Sitios de Comercio Electrónico
Ejemplo:
Veamos otra forma de envio de datos, al mismo que vemos la solucion usando la
orden condicional multiple.
68
Creando Sitios de Comercio Electrónico
<HEAD>
</HEAD>
<BODY>
<H1>Registro</H1>
<FORM ACTION="DiaSeleccionado.asp" METHOD="post">
Elija un dia<BR>
<SELECT NAME="Dia">
<OPTION VALUE="Lu">Lunes</OPTION>
<OPTION VALUE="Ma">Martes</OPTION>
<OPTION VALUE="Mi">Miercoles</OPTION>
<OPTION VALUE="Ju">Jueves</OPTION>
<OPTION VALUE="Vi">Viernes</OPTION>
<OPTION VALUE="Sa">Sabado</OPTION>
<OPTION VALUE="Do">Domingo</OPTION>
</SELECT>
<BR><BR>
<INPUT TYPE="submit">
<INPUT TYPE="reset">
</FORM>
</BODY>
DiaSeleccionado.asp
<HEAD>
</HEAD>
<BODY>
<%
varMes = Request.Form("Mes")
Select Case varMes
Case "Lu"
Response.Write "Ha seleccionado Lunes"
Case "Ma"
Response.Write " Ha seleccionado Martes"
Case "Mi"
Response.Write " Ha seleccionado Miercoles"
Case "Ju"
Response.Write " Ha seleccionado Jueves"
Case "Vi"
Response.Write " Ha seleccionado Viernes"
Case "Sa"
Response.Write " Ha seleccionado Sabado"
Case "Do"
Response.Write " Ha seleccionado Domingo"
End Select
%>
</BODY>
69
Creando Sitios de Comercio Electrónico
Do
' Bloque de instrucciones
Loop {While <Condición> | Until <Condición>}
Ejemplo:
i = 0
Do While i <5
Response.Write ("i =" & i &" <BR>")
i = i + 1
Loop
El resultado sería:
i=0
i=1
i=2
i=3
i=4
70
Creando Sitios de Comercio Electrónico
Ejemplo:
<HEAD>
</HEAD>
<BODY>
<%
varInicio = 1
varDiaHoy = Day(Now())
varNum = 0
Do While varInicio <= varDiaHoy
varNum = varNum + 1
Loop
Response.Write "Total dias " & varNum & “Transcurridos”
%>
</BODY>
71
Creando Sitios de Comercio Electrónico
While { Condición}
' Bloque de instrucciones
Wend
Esta instrucción resulta muy practica cuando se desea recorrer el contenido de una
tabla:
Ejemplo:
For i = 1 To 7
Response.Write(i = & i &" <BR>")
Next
72
Creando Sitios de Comercio Electrónico
<HEAD>
</HEAD>
<BODY>
</BODY>
Calculos.asp
<HEAD>
</HEAD>
<BODY>
<%
varFNac=Request.Form("FNac")
varFHoy=Request.Form("FHoy")
varFNac = CDate(varFNac)
varFHoy = CDate(varFHoy)
varDias=(varFNac-varFHoy)
varTotal = 0
For x = 0 to varDias
varTotal = varTotal + 20
Next
Response.Write "Total" & varTotal
%>
</BODY>
www.LibrosDigitales.NET
73
Creando Sitios de Comercio Electrónico
Próxima Entrega
Edición 1.1
Dentro de una semana
74