Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   ASP Clásico (http://www.forosdelweb.com/f15/)
-   -   FAQ's del foro de ASP (http://www.forosdelweb.com/f15/faqs-del-foro-asp-89836/)

franhanck 16/02/2005 14:52

Aqui Hay otro
 
COMO PUEDO PASAR DATOS DE LA BASE DE DATOS ENTRE PAGINAS


<a href=paginadestino?var=<%rs.fields("VARIABLE")%>>v er aqui</a>

pablinweb 30/03/2005 15:14

Como paginar una consulta en SQL 2k y ORDER BY
 
Código:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<html>
<head>
<title>Paginacion</title>

<!--#include file="adovbs.inc" -->

<%

'*********************************************************
'Se supone que hay creada y abierta una conexión llamda Conn
'*********************************************************

gOrder = request.QueryString("ORDER")
if gOrder = "" then
        SQL = "Select * from Tabla"
else
        SQL = "Select * from Tabla order by " & gOrder
end if
Dim mostrar 'cantidad de registros a mostrar por página
Dim cant_paginas 'cantidad de páginas que recibimos
Dim pagina_actual 'La página que mostramos
Dim registro_mostrado 'Contador utilizado para mostrar las páginas
Dim I 'Variable Loop

mostrar = 10 ' Pueden modificar este número para cambiar la cantidad de registros por página

' IF para saber que página mostrar
If Request.QueryString("page") = "" Then
        pagina_actual = 1
Else
        pagina_actual = CInt(Request.QueryString("page"))
End If

Set RS = Server.CreateObject("ADODB.Recordset")
RS.PageSize = mostrar
RS.CacheSize = mostrar

' Abrimos la tabla...
RS.Open SQL, Conn,3,1
'contamos las páginas que se formaron con la variable mostrar.
cant_paginas = RS.PageCount

' Si el pedido de página cae afuera del rango,
' lo modificamos para que caiga adentro
If pagina_actual > cant_paginas Then pagina_actual = cant_paginas
If pagina_actual < 1 Then pagina_actual = 1

' Nos movemos a la página elegida
If cant_paginas > 0 Then
        RS.AbsolutePage = pagina_actual
End IF
%>
</head>

<body>
<table width="100%" border="1" align="center">
<% if Rs.eof then %>
        <tr>
      <th>No Hay Registros</th>
    </tr>
<% else %>
            <tr>
                    <td></td>
              <td>
                          Página <%= pagina_actual %> de <%= cant_paginas %>
                  </td>
            </tr>
                <tr>
                    <th>
                          <a href="Main.asp?ORDER=ID">Id</a>
                  </th>
              <th>
                          <a href="Main.asp?ORDER=Descripcion">Descripci&oacute;n</a>
                  </th>
            </tr>
        <% do while registro_mostrado < mostrar And not Rs.eof %>       
            <tr>
              <td>
                          <% response.Write(Rs("ID")) %>
                  </td>
              <td>
                        <% response.Write(Rs("Descripcion")) %>
              </td>
            </tr>
        <%                Rs.movenext
                        registro_mostrado = registro_mostrado + 1
          loop
  end if
Rs.close
Set Rs = Nothing
Conn.close
Set Conn = Nothing
Link = "Main.asp?ORDER=" & gOrder
%>
</table>
<table width="850">
  <tr>
    <td>
          <div align="center"></div>
          <div align="right" class="style2">
        <div align="center">
          <%
        ' Ahora mostramos los enlaces a las otras páginas con el resto de los registros...
        If pagina_actual > 1 Then
                If cant_paginas > 1 Then
                        If Link = "" then %>
                                    <a href="Main.asp?page=1">[<<]</a>
        <%        Else %>
                                    <a href="<%=Link%>&page=1">[<<]</a>
        <%        End If
                End If
        End if
        If pagina_actual > 1 Then
                If Link = "" then %>
                            <a href="Main.asp?page=<%= pagina_actual - 1 %>">[<]</a>
          <%        Else %>
                            <a href="<%=Link%>&page=<%= pagina_actual - 1 %>">[<]</a>
          <%        End If
        End If

        ' mostramos la paginacion por numeros de página
        if cant_paginas < 6 then
                fCant = 1
        else
                if pagina_actual < 4 then
                        fCant = 1
                else
                        if pagina_actual > 3 then
                                fCant = pagina_actual - 2
                        else
                                fCant = pagina_actual
                        end if
                        if (cant_paginas - fCant) < 5 then
                                fCant = cant_paginas - 4
                        end if
                end if
        end if
        For I = fCant To cant_paginas
                J = J + 1
                If J > 5 Then exit For
                If I = pagina_actual Then %>
                            <%= I %>
    <%        Else
                        If Link = "" then %>
                                    <a href="Main.asp?page=<%= I %>"><%= I %></a>
        <%        Else %>
                                <a href="<%=Link%>&page=<%= I %>"><%= I %></a>
        <%        End If
                End If
        Next 'I

        If pagina_actual < cant_paginas Then
                If Link = "" then %>
                                <a href="Main.asp?page=<%= pagina_actual + 1 %>">[>]</a>
          <%        Else %>
                                <a href="<%=Link%>&page=<%= pagina_actual + 1 %>">[>]</a>
          <%        End If
        End If
        If pagina_actual < cant_paginas Then
                If cant_paginas > 1 Then
                        If Link = "" then %>
                            <a href="Main.asp?page=<%= cant_paginas + 1 %>">[>>]</a>
        <%        Else %>
                <a href="<%=Link%>&page=<%= cant_paginas + 1 %>">[>>]</a>
            <%        End If
                End If
        End if %> 
      </div>
    </div></td>
  </tr>
</table>
</body>
</html>


sjam7 12/04/2005 08:36

Obtener el codigo de otras paginas con XML
 
Este script sirve para tomar el codigo HTML de otras paginas para tomar informacion que podamos utilizar en nuestras paginas (no se si sea legal o no) pero este ejemplo es con el fin de utilizarlo para saber por ejemplo cotizaciones del dolar desde paginas de bancos, Pageranks desde paginas que dan el servicio ese, etc...

En este ejemplo sirve para tomar el PR desde una pagina llamada OnlyPHP (¿que cosas no?) OJO, es en ASP :-D

Código PHP:

<%
on error resume next
Set xml 
Server.CreateObject("Microsoft.XMLHTTP")
liga="www.forosdelweb.com"
xml.Open "GET""http://www.onlyphp.com/pagerank/index.php?url=http://"&liga&"&email=correo%40hotmail.com&action=Get+Page+Rank"False
xml
.Send
Cadena 
CSTR(xml.responseText)
     
PosIni1 InStr(Cadena,"src=images/pr")
     
PosIni2 InStr(PosIni1,Cadena,"pr")
     
PosFin  InStr(PosIni2Cadena,".gif")

   
Ranking replace(MID(CadenaPosIni2PosFin-PosIni2),"pr","")

Response.write "PR: " Ranking

if err<>0 then
response
.write "<br>"&err.description
response
.write "<br>"&cadena
end 
if
%> 

Este es para sacar la cotizacion del dollar a pesos de un banco (HSBC) de Mexico
Código PHP:

<%
  
Response.Buffer True
  Set xml 
Server.CreateObject("Microsoft.XMLHTTP")
  
xml.Open "GET""http://dsrefa01.hsbc.com.mx/aptrix/InternetPub.nsf/Content/TasasSplash"False
  xml
.Send
     Cadena 
CSTR(xml.responseText)
     
PosIni1 InStr(Cadena,"DOLAR AMERICANO")
     
PosIni2 InStr(PosIni1,Cadena,"$")
     
PosFin  InStr(PosIni2Cadena,"<")
   
DolarCompra MID(CadenaPosIni2PosFin-PosIni2)
     
PosIni1 PosFin
     PosIni2 
InStr(PosIni1,Cadena,"$")
     
PosFin  InStr(PosIni2Cadena,"<")
   
DolarVenta MID(CadenaPosIni2PosFin-PosIni2)

Set xml Nothing
%> 

y para ponerlo en pantalla (el precio del dolar) es asi:
A la compra
<%=FormatCurrency(CDbl(MID(DolarCompra,InStr(Dolar Compra,";")+1,LEN(DolarCompra))),2)%>
A la venta
<%=FormatCurrency(CDbl(MID(DolarVenta,InStr(DolarV enta,";")+1,LEN(DolarVenta))),2)%>

espero les sirva y puedan adaptar a mas cosas, saludos

El_Metallick 17/04/2005 16:10

¿Como hacer un sistema de valoración, ese con estrellitas que siempre vemos en la red?

http://www.forosdelweb.com/showthrea...ema+valoracion

dobled 19/04/2005 22:48

Cita:

Iniciado por El_Metallick
¿Como hacer un sistema de valoración, ese con estrellitas que siempre vemos en la red?

http://www.forosdelweb.com/showthrea...ema+valoracion


me debes los creditos :-D
solo era una broma :arriba:

dobled 19/04/2005 22:56

Como seleccionar n Registros y mostrarlos simpre en distinto orden
 
Solo para BD SQL

SQL trae esta funcion muy util ahorra programación, ya me estaba buscando codigo para no mostrar siempre el mismo orden de los productos de portada pero con NEWID() lo tienes


Código:

SQL="SELECT TOP 6 * FROM pcm_productos ORDER By NEWID()"

u_goldman 26/04/2005 10:44

Y para MySQL
 
Código:

SQL="SELECT TOP 6 * FROM pcm_productos ORDER By rand()"

trasgukabi 01/05/2005 13:36

Problemas Con Los Permisos De Carpetas En Windows
 
PROBLEMAS CON LOS PERMISOS DE CARPETA?:
sobre la carpeta (en IIS no, en la carpeta "física" del disco duro), botón derecho de ratón->propiedades->pestaña seguridad->agregar->avanzadas->buscar ahora
seleccionar "todos"->aceptar->aceptar
en la lista de permisos, seleccionar control total.

Si no sale la pestaña seguridad,

en cualquier carpeta de windows,menú herramientas->Opciones de carpeta->Ver->Configuración avanzada->Desactivar la opción "Utilizar uso compartido simple de archivos(recomendado)

a ver si dejan de preguntarlo ya, jejeje

El_Metallick 04/05/2005 08:40

Catalogo on-line
 
combo.asp
Código:

<html>
<head>
<title>Combos combinados</title>
<script language = "JavaScript">

<%'CONSULTA PARA OBTENER LOS DATOS
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\database\hard.mdb"))

productos_Sql = "Select distinct familia, codigo, denominacion from articulos "
set rs = CreateObject("ADODB.Recordset")
rs.Open productos_Sql, Conn
x=0
%>
// FUNCION DE COMBO BOX COMBINADO
function sublist(inform, selecteditem)
{
inform.subcatagory.length = 0

<%
count= 0
y=0
do while not rs.eof
%>

x = <%= trim(y) %>;

subcat = new Array();
subcatagorys = "<%=(rs("codigo"))&" "&(rs("denominacion")) %>";
subcatagoryof = "<%=(rs("familia"))%>";
subcatagoryid = "<%=(rs("codigo"))%>";
subcat[x,0] = subcatagorys;
subcat[x,1] = subcatagoryof;
subcat[x,2] = subcatagoryid;
if (subcat[x,1] == selecteditem) {
var option<%= trim(count) %> = new Option(subcat[x,0], subcat[x,2]);
inform.subcatagory.options[inform.subcatagory.length]=option<%= trim(count)%>;
}

<%
count = count + 1
y = y + 1
rs.movenext
loop
rs.close
%>
}
</script>
<base target="principal">
</head>
<body bgcolor="#CDB1B7">
<h2 align="center"><b><i><font color="#AE1732"><u>El PCcillo Feliz</u></font></i></b></h2>
<form name="prueba" method="POST" action="verarticulo.asp">
<div align="center">
<center>
<table border="0" width="80%">
 <tr>
  <td width="77%">
  <select size="1" id="familia" name="familia" onChange = "javascript:sublist(this.form, familia.value);">
        <option selected>Selecciona una familia</option>
        <%
          familias_Sql = "Select distinct id,familia from familias"
          rs.Open familias_Sql, Conn
          do while not rs.eof
        %>
        <option value="<%=rs("id")%>"><%=rs("familia")%></option>
        <%
          rs.movenext
          loop
          set rs=nothing
          conn.close
          set conn=nothing
        %>
  </select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  <SELECT id="subcatagory" name="subcatagory" size="1">
  <Option selected value="none"></option>
  </SELECT></td>
  <td width="9%">
        <p align="left">
        <input border="0" src="images/submit.gif" name="I4" type="image">
        </p>
  </td>
 </tr>
</table>
</center>
</div>
</form>
</body>
</html>

verarticulo.asp
Código:

<html>
<head>
<title>articulos</title>
<base target="_self">
</head>
<body bgcolor="#CDB1B7">
<p align="center"><font color="#AE1732" face="Verdana" size="2"><b>Detalles</b></font></p>
<p align="center">
<%Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("hard.mdb"))
strSQL = "Select * from articulos where codigo ='" & Request.form("subcatagory")&"'"
Set RS = Conn.Execute(strSQL)
if not rs.eof then%>
</p>
<div align="center">
<center>
<table border="0" width="80%" bgcolor="#0000FF">
<tr>
        <td width="11%"><b><font face="Verdana" size="1" color="#FFFFFF">Codigo:</font></b></td>
        <td width="15%"><font face="Verdana" size="1"><font color="#FFFFFF"><%=rs("codigo")%></font></font></td>
        <td width="74%">
        <p align="center"><font face="Verdana" size="2" color="#FFFFFF"><b><%=rs("denominacion")%></b></font></td>
</tr>
<tr>
        <td width="100%" colspan="3" >
        <table border="0" width="100%">
                <tr>
                <td width="11%">
                        <p align="center">&nbsp;</td>
                <td width="78%" bgcolor="#AE1732">
                        <p align="center"><img border="0" src="<%=rs("imagen")%>"></td>
                <td width="11%">&nbsp;</td>
                </tr>
        </table>
        </td>
</tr>
<tr>
        <td width="100%" colspan="3">
        <p align="left"><font face="Verdana" size="1" color="#FFFFFF"><%=rs("descripcion")%></font></td>
</tr>
<tr>
        <td width="11%"><b><font face="Verdana" size="1" color="#FFFFFF">Precio</font></b></td>
        <td width="89%" colspan="2"><font face="Verdana" size="1" color="#FFFFFF"><%=formatcurrency(rs("precio"))%></font></td>
</tr>
</table>
</center>
</div>
<%
rs.close
set rs=nothing
Conn.Close
Set Conn = Nothing
end if
%>
</body>
</html>

combos.htm
Código:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Pagina nueva 1</title>
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
</head>
<frameset framespacing="0" border="0" rows="136,*" frameborder="0">
<frame name="encabezado" scrolling="no" noresize target="principal" src="combo.asp">
<frame name="principal" src="verarticulo.asp">
<noframes>
<body>
<p>Esta página usa marcos, pero su explorador no los admite.</p>
</body>
</noframes>
</frameset>
</html>

hard.mdb

tabla articulos

código (texto)
familia (numérico)
denominacion (texto)
descripcion (memo)
precio (numérico)
imagen (texto)

tabla familias

id (autonumérico)
familia (texto)
imagenp (texto)

Bueno y lo de agregar, eliminar o modificar articulos requiere un minimo conocimiento de ASP (osea es bastante minimo pues hasta yo lo se hacer y no digamos que se mucho jajajaj).... pero de todas formas si no saben hacerlo consulten en el foro :arriba: .... bueno eso saludos y suerte :adios:

El_Metallick 11/05/2005 21:09

otro catalogo on line
 
Aqui dejo el vinculo a tro sistema de catalogo online

http://www.forosdelweb.com/showthrea...36#post1090636

Bueno solo faltaria lo de agregar, eliminar o modificar productos, pero eso requiere un minimo conocimiento de ASP (osea es bastante minimo pues hasta yo lo se hacer y no digamos que se mucho jajajaj).... pero de todas formas si no saben hacerlo consulten en el foro :arriba: .... bueno eso saludos y suerte :adios:

Muzztein 26/05/2005 13:32

variables dinamicas
 
¿Es posible declarar variables dinamicamente ? (variables dinamicas)

Si, es posible.

¿Como?

Así:

Código:

for x = 0 to 10
        execute("variable_" & x & " = " & x)
next

response.write variable_0 & "<br/>"
response.write variable_1 & "<br/>"
response.write variable_2 & "<br/>"
response.write variable_3 & "<br/>"
response.write variable_4 & "<br/>"
response.write variable_5 & "<br/>"
response.write variable_6 & "<br/>"
response.write variable_7 & "<br/>"
response.write variable_8 & "<br/>"
response.write variable_9 & "<br/>"


sjam7 29/05/2005 20:32

Whois con dominios .MX
 
Por si a alguien le sirve hice un checador de whois para dominios .com.mx, .net.mx y .org.mx por si a alguien le sirve, es una adaptacion de uno que con sultaba los normales (sin mx)
Solo enviale el dominio en la variable domain y extension en la variable suffix via query
Se podria adaptar para mas tipos de dominios aparte de los mencionados, pero creo que puse los mas usados

Código:

<%
 'Poner tiempo de espera a 90seg
 Server.ScriptTimeout = 90
 
 'Whois function to query the whois server
 Private Function whoisResult(whoisURL, strMethod, strResultsStart, strResultsEnd)
 
        'Dimension variables
        Dim objXMLHTTP                        'Holds the XML HTTP Object
        Dim strWhoisResultString        'Holds the reult of the whois query
 
        'Create an XML object to query the remote whois server
        Set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")
       
        'Alternative XML HTTP component, for version 3.0 of XMLHTTP
          'Set objXMLHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
 
        'Open a connection to the remote whois server
                objXMLHTTP.Open strMethod, whoisURL, False
               
                'Send the request and return the data
                objXMLHTTP.Send
               
                'Place the whois registry response into the result string
                strWhoisResultString = objXMLHTTP.ResponseText
               
               
                'If the domain name is to short then tell them it's invalid
                If Len(strDomainName) < 3 Then
                       
                        'Set the return result of the function to not valid
                        whoisResult = "No Valido - debe tener por lo menos 3 caracteres"
                       
        'Else if there is an error
                ElseIF InStr(1, strWhoisResultString, "Error", vbTextCompare) Then
                       
                        'Set the return result of the function to Taken
                        whoisResult = "A ocurrido un error"
                       
                'Else there was a result
                Else
                       
                        'Strip the whois result leaving the data we want
                whoisResult = resultFormater(strWhoisResultString, strResultsStart, strResultsEnd)
                End If
               
                'Clean up
                Set objXMLHTTP = Nothing
 End Function
 
 
 'Function to strip all non estential returned input
 Private Function resultFormater(strWhoisResultString, strResultsStart, strResultsEnd)
 
        'Dimension variables
        Dim lngResultsStartPos
        Dim lngResultsEndPos
 
        'Find the start position in the returned data of the result
        lngResultsStartPos = InStr(1, strWhoisResultString, strResultsStart, 1) + Len(strResultsStart)
                                                                                                   
        'Find the end position in the returned data of the result
        lngResultsEndPos = InStr(lngResultsStartPos, strWhoisResultString, strResultsEnd, 1)
                                               
        'Make sure the end position is not in error
        If lngResultsEndPos - lngResultsStartPos =< Len(strResultsStart) Then lngResultsEndPos = lngResultsStartPos + Len(strResultsStart)
                       
        'Now we know the start and end position of the result, strip the rest and return the result
        resultFormater = Trim(Mid(strWhoisResultString, lngResultsStartPos, (lngResultsEndPos - lngResultsStartPos)))       
 End Function
 
 
 'Function to strip non alphanumeric characters
 Private Function characterStrip(strTextInput)
 
        'Dimension variable
        Dim intLoopCounter        'Holds the loop counter
       
        'Loop through the ASCII characters up to - hyphen
        For intLoopCounter = 0 to 44
                strTextInput = Replace(strTextInput, CHR(intLoopCounter), "", 1, -1, 0)
        Next
       
        'Loop through the ASCII characters from hyphen to numeric charcaters
        For intLoopCounter = 46 to 47
                strTextInput = Replace(strTextInput, CHR(intLoopCounter), "", 1, -1, 0)
        Next
       
        'Loop through the ASCII characters numeric characters to lower-case characters
        For intLoopCounter = 58 to 96
                strTextInput = Replace(strTextInput, CHR(intLoopCounter), "", 1, -1, 0)
        Next
       
        'Loop through the extended ASCII characters
        For intLoopCounter = 123 to 255
                strTextInput = Replace(strTextInput, CHR(intLoopCounter), "", 1, -1, 0)
        Next
       
        'Return the string
        characterStrip = strTextInput
       
 End Function
 
 
 
 'Dimension variables
 Dim strDomainName        'Holds the domain name to search for
 Dim strSuffix                'Holds the domain name suffix to search
 
 'Read in the domain name to search
 
 'If a domain name has been entred then strip any unwanted characters from it
 If strDomainName <> "" Then
       
        'Convert the domain name to check to lower case
        strDomainName = LCase(strDomainName)
       
        'Remove www and http from in front
        strDomainName = Replace(strDomainName, "http://", "", 1, -1, 1)
        strDomainName = Replace(strDomainName, "www.", "", 1, -1, 1)
       
        'Remove suffixes
        strDomainName = Replace(strDomainName, ".com", "", 1, -1, 1)
        strDomainName = Replace(strDomainName, ".net", "", 1, -1, 1)
        strDomainName = Replace(strDomainName, ".org", "", 1, -1, 1)
        strDomainName = Replace(strDomainName, ".info", "", 1, -1, 1)
        strDomainName = Replace(strDomainName, ".biz", "", 1, -1, 1)
        strDomainName = Replace(strDomainName, ".tv", "", 1, -1, 1)
        strDomainName = Replace(strDomainName, ".name", "", 1, -1, 1)
        strDomainName = Replace(strDomainName, ".co.uk", "", 1, -1, 1)
        strDomainName = Replace(strDomainName, ".org.uk", "", 1, -1, 1)
        strDomainName = Replace(strDomainName, ".ltd.uk", "", 1, -1, 1)
        strDomainName = Replace(strDomainName, ".plc.uk", "", 1, -1, 1)
        strDomainName = Replace(strDomainName, ".net.uk", "", 1, -1, 1)
        strDomainName = Replace(strDomainName, ".me.uk", "", 1, -1, 1)
        strDomainName = Replace(strDomainName, ".pn.uk", "", 1, -1, 1)
        strDomainName = Replace(strDomainName, ".com.mx", "", 1, -1, 1)
        strDomainName = Replace(strDomainName, ".net.mx", "", 1, -1, 1)
        strDomainName = Replace(strDomainName, ".org.mx", "", 1, -1, 1)
 
        'Remove any hyphens from the first and last characters
        If Left(strDomainName, 1) = "-" Then strDomainName = Mid(strDomainName, 2, Len(strDomainName))
        If Right(strDomainName, 1) = "-" Then strDomainName = Mid(strDomainName, 1, Len(strDomainName)-1)
 
        'Remove any hyphens double hyphens
        strDomainName = Replace(strDomainName, "--", "-", 1, -1, 1)
       
        'Strip all non aphanumeric characters from the input
        strDomainName = characterStrip(strDomainName)
 End If
 
 'If a domain name is enterd check it
 If strDomainName <> "" Then
        Response.Write("<pre>")       
       
        'Display the avialbility
        Response.Write("<b>Resultados de la busqueda de<br> www." & strDomainName & strSuffix & "</b><br><br>")
                         
        'Call the domain checking function depending on domain suffix
       
        If strSuffix = ".com" Then
        Response.Write(whoisResult("http://www-whois.internic.net/cgi/whois?whois_nic=" & strDomainName & ".com&type=domain", "GET", "<pre>", "</pre>"))
               
        'check for .net
        ElseIf strSuffix = ".net" Then
        Response.Write(whoisResult("http://www-whois.internic.net/cgi/whois?whois_nic=" & strDomainName & ".net&type=domain", "GET", "<pre>", "</pre>"))
       
        'Check for .org       
        ElseIf strSuffix = ".org" Then
        Response.Write(whoisResult("http://www-whois.internic.net/cgi/whois?whois_nic=" & strDomainName & ".org&type=domain", "GET", "<pre>", "</pre>"))
       
        'Check for .biz       
        ElseIf strSuffix = ".biz" Then
        Response.Write(whoisResult("http://www-whois.internic.net/cgi/whois?whois_nic=" & strDomainName & ".biz&type=domain", "GET", "<pre>", "</pre>"))
       
        'Check for .info       
        ElseIf strSuffix = ".info" Then
        Response.Write(whoisResult("http://www-whois.internic.net/cgi/whois?whois_nic=" & strDomainName & ".info&type=domain", "GET", "<pre>", "</pre>"))       
 
        ElseIf strSuffix = ".com.mx" Then
        Response.Write(whoisResult("http://www.nic.mx/es/Busqueda.Who_Is_3?domain_name="&strDomainName&"&domain_type=1&template_type=&object_type_1=&object_type_2=&object_type_3=3&text="& strDomainName &"&current_page=Busqueda.Who_Is_2", "GET", "<pre style=""font-size: 14px; margin-left: 10px;"">", "</pre>"))       
        ElseIf strSuffix = ".net.mx" Then
        Response.Write(whoisResult("http://www.nic.mx/es/Busqueda.Who_Is_3?domain_name="&strDomainName&"&domain_type=3&template_type=&object_type_1=&object_type_2=&object_type_3=3&text="& strDomainName &"&current_page=Busqueda.Who_Is_2", "GET", "<pre style=""font-size: 14px; margin-left: 10px;"">", "</pre>"))       
        ElseIf strSuffix = ".org.mx" Then
        Response.Write(whoisResult("http://www.nic.mx/es/Busqueda.Who_Is_3?domain_name="&strDomainName&"&domain_type=5&template_type=&object_type_1=&object_type_2=&object_type_3=3&text="& strDomainName &"&current_page=Busqueda.Who_Is_2", "GET", "<pre style=""font-size: 14px; margin-left: 10px;"">", "</pre>"))       
        End If 
 
        'Finish the red span tag
        Response.Write("</pre>")       
 End If         
 %>


Saruman 30/05/2005 16:34

Super Fast String Concatenation
 
Pregunta: ¿Por qué me manda TimeOut al realizar una concatenación?
Respuesta: Al realizar concatenamientos múltiples en secuencia, VBScript duplica la secuencia original y añade la secuencia nueva al final de esta.

Entonces substituye la secuencia original por el nuevo. Esto puede ser una maniobra increíblemente costosa si estás construyendo una secuencia muy grande. La clase de StringBuilder hace esto mucho más eficiente. Aquí está un ejemplo de cómo utilizarla.

VER FUNCION

pepelucho 08/06/2005 10:21

ajustar pop-up dependiendo la imagen(con base de datos)
 
Código PHP:

<!--#include file="conexion.asp" -->
<%
set rs=Server.CreateObject("adodb.recordset")
sql="select *from fotos"
rs.open sql,oconn
%>
<
html>
<
head>
<
title>Untitled Document</title>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</
head>
<
script language="javascript"

//script por Tunait 
var ventana 
var cont=
var titulopordefecto "Perico de los palotes" //texto por defecto a mostrar en la barra de título en caso de omitir el argumento titulo 

function afoto(cual,titulo

if(
cont==1){ventana.close();ventana=null
if(
titulo==null){titulo=titulopordefecto
ventana=window.open('','ventana','resizable=yes,sc      rollbars=no'
ventana.document.write('<html><head><title>' titulo '</title></head><body style="overflow:hidden" marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" scroll="no" onUnload="opener.cont=0"><img src="' cual '" onLoad="opener.redimensionar(this.width, this.height)">'
ventana.document.close() 
cont++ 

function 
redimensionar(ancho,alto

ventana.resizeTo(ancho+12,alto+28
ventana.moveTo((screen.width-ancho)/2,(screen.height-alto)/2//centra la ventana. Eliminar si no se quiere centrar el popup 

</script> 

<body>
<a href="#" onClick="afoto('imagen/<%=rs("foto")%>','Mi titulo');return false"><img src="imagen/<%=rs("pequena")%>"></a> 
</body>
</html> 


robervcp 17/06/2005 08:24

Cita:

Iniciado por Muzztein
¿Es posible declarar variables dinamicamente ? (variables dinamicas)

Si, es posible.

¿Como?

Así:

Código:

for x = 0 to 10
        execute("variable_" & x & " = " & x)
next

response.write variable_0 & "<br/>"
response.write variable_1 & "<br/>"
response.write variable_2 & "<br/>"
response.write variable_3 & "<br/>"
response.write variable_4 & "<br/>"
response.write variable_5 & "<br/>"
response.write variable_6 & "<br/>"
response.write variable_7 & "<br/>"
response.write variable_8 & "<br/>"
response.write variable_9 & "<br/>"


Bien.
Sin embargo si se presenta esta situacion:
http://www.forosdelweb.com/showpost....20&postcount=3

nroesp=7777
valoresp=10

''// creamos la variable variable_7777 con un valor 10 ???
execute("variable_" & nroesp & " =" & valoresp)


response.write(Vartype(variable_&nroesp))
''// Nos dira que es de tipo 8
response.write("<br>")
response.write(TypeName(variable_&nroesp))
''// Nos dira que es de tipo String
response.write("<br>Valor : ")
response.write(variable_&nroesp)
''// Nos devolvera el valor 7777 y no el 10, osea nos da el nroesp y no el valoresp
response.write("<br>")

Trulala de cordoba 22/06/2005 13:45

¿Como subo varios ficheros a la vez sin componente?

Upload sin componente para subir muchos archivos a la vez, este ejemplo tiene tres cajas de texto, pero si quieren pueden agregar todas las cajas de texto para subir mas archivos.
Espero les sea útil.
Saludos.




<html>

<head>
<title>Cargador de archivos</title>
</head>

<body style="font-family: Arial; font-size: 9pt">

<p align="center"><b><font size="3">Cargador de archivos</font></b></p>


<%@LANGUAGE="VBSCRIPT"%> <%response.buffer=true
Func = Request("Func")
if isempty(Func) Then
Func = 1
End if
Select Case Func
Case 1
%>
<table width="360" border="0" align="center">
<tr>
<td>
<div align="center">
Selecciona un archivo para subir.
</div>
</td>
</tr>
</table>
<form enctype="multipart/form-data" action="tmp.asp?func=2" method="POST" id="form1" name="form1">
<table align="center">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><font color="#330066" size="2">Pulsa en el botón examinar y elige el archivo
de tu ordenador. <br>
Se cargará en el directorio actual.<br>
<br>
</font></td>
</tr>
<tr>
<td><font color="#330066" size="2">Luego pulsa el botón subir.<br>
<br>
</font></td>
</tr>
<tr>
<td><strong><font color="#330066" size="2">Nombre del archivo...</font></strong></td>
</tr>
<tr>
<td><p><font size="2">
<input name="File1" size="30" type="file">
</font></p>
<p><font size="2">
<input name="File12" size="30" type="file">
</font></p>
<p><font size="2">
<input name="File13" size="30" type="file">
</font></p></td>
</tr>
<tr>
<td align="left"><input type="submit" value="Subir"> <br>
<br>
</td>
</tr>
<tr>
<td><font color="#330066" size="2">NOTA: Espera, recibirás una notificación
cuando el archivo haya sido subido</font><font size="2">.<br>
<br>
</font></td>
</tr>
</table>


<% 'Código ASP

Case 2
ForWriting = 2
adLongVarChar = 201
lngNumberUploaded = 0

'Get binary data from form
noBytes = Request.TotalBytes
binData = Request.BinaryRead (noBytes)

'convery the binary data to a string
Set RST = CreateObject("ADODB.Recordset")
LenBinary = LenB(binData)

if LenBinary > 0 Then
RST.Fields.Append "myBinary", adLongVarChar, LenBinary
RST.Open
RST.AddNew
RST("myBinary").AppendChunk BinData
RST.Update
strDataWhole = RST("myBinary")
End if


'Creates a raw data file for with all data sent
'Uncomment for debuging.
'Set fso = CreateObject("Scripting.FileSystemObject")
'Set f = fso.OpenTextFile(server.mappath(".") & "\raw.txt", ForWriting, True)
'f.Write strDataWhole
'set f = nothing
'set fso = nothing
'get the boundry indicator

strBoundry = Request.ServerVariables ("HTTP_CONTENT_TYPE")
lngBoundryPos = instr(1,strBoundry,"boundary=") + 8
strBoundry = "--" & right(strBoundry,len(strBoundry)-lngBoundryPos)

'Get first file boundry positions.
lngCurrentBegin = instr(1,strDataWhole,strBoundry)
lngCurrentEnd = instr(lngCurrentBegin + 1,strDataWhole,strBoundry) - 1

Do While lngCurrentEnd > 0
'Get the data between current boundry and remove it from the whole.
strData = mid(strDataWhole,lngCurrentBegin, lngCurrentEnd - lngCurrentBegin)
strDataWhole = replace(strDataWhole,strData,"")

'Get the full path of the current file.
lngBeginFileName = instr(1,strdata,"filename=") + 10
lngEndFileName = instr(lngBeginFileName,strData,chr(34))
'Make sure they selected at least one fi
' le.
if lngBeginFileName = lngEndFileName and lngNumberUploaded = 0 Then

Response.Write "<H2> Ha ocurrido el siguiente error.</H2>"
Response.Write "Debes elegir un archivo para subir"
Response.Write "<BR><BR>Pulsa el botón volver, realiza la corrección."
Response.Write "<BR><BR><INPUT type='button' onclick='history.go(-1)' value='<< Volver' id='button'1 name='button'1>"
Response.End
End if

'There could be one or more empty file boxes.

if lngBeginFileName <> lngEndFileName Then
strFilename = mid(strData,lngBeginFileName,lngEndFileName - lngBeginFileName)

'Creates a raw data file with data between current boundrys. Uncomment for debuging.
'Set fso = CreateObject("Scripting.FileSystemObject")
'Set f = fso.OpenTextFile(server.mappath(".") & "\raw_" & lngNumberUploaded & ".txt", ForWriting, True)
'f.Write strData
'set f = nothing
'set fso = nothing

'Loose the path information and keep just the file name.
tmpLng = instr(1,strFilename,"\")
Do While tmpLng > 0
PrevPos = tmpLng
tmpLng = instr(PrevPos + 1,strFilename,"\")
Loop

FileName = right(strFilename,len(strFileName) - PrevPos)

'Get the begining position of the file data sent.
'if the file type is registered with thebrowser then there will be a Content-Type
lngCT = instr(1,strData,"Content-Type:")

if lngCT > 0 Then
lngBeginPos = instr(lngCT,strData,chr(13) & chr(10)) + 4
Else
lngBeginPos = lngEndFileName
End if
'Get the ending position of the file dat
' a sent.
lngEndPos = len(strData)

'Calculate the file size.
lngDataLenth = lngEndPos - lngBeginPos
'Get the file data
strFileData = mid(strData,lngBeginPos,lngDataLenth)

'Create the file.
Set fso = CreateObject("Scripting.FileSystemObject")

'Lo guarda en la carpeta actual
Set f = fso.OpenTextFile(server.mappath(".\") & "/" & FileName, ForWriting, True)
f.Write strFileData
Set f = nothing
Set fso = nothing


lngNumberUploaded = lngNumberUploaded + 1

End if

'Get then next boundry postitions if any.
lngCurrentBegin = instr(1,strDataWhole,strBoundry)
lngCurrentEnd = instr(lngCurrentBegin + 1,strDataWhole,strBoundry) - 1
loop


Response.Write "Archivo subido<Br>"
Response.Write lngNumberUploaded & " archivo ya está en el servidor.<BR>"
Response.Write "<BR><BR><INPUT type='button' onclick='document.location=" & chr(34) & "Cargador de archivos.asp" & chr(34) & "' value='<< Volver' id='button'1 name='button'1>"
End Select
%></form>

</body>

</html>

eagrella 07/07/2005 09:02

Como Escribir Un Archivo de Excel Ya Existente
 
Aqui les va la solucion de como escribir en un archivo de excel ya existente y con cualquier tipo de datos TANTO ESTATICOS COMO DINAMICOS
Código:

Set appExcel = Server.CreateObject("Excel.Application")'Componente que se instala cuando posee office instalado sino NO SIRVE

appExcel.Workbooks.Open(nombre_de_tu_archivo)'abres el archivo de excel de tu maquina
appExcel.Range("B" & 2).Value = 1 'escribe 1 en la linea b2 de excel
For i = 4 To 10 ' empiezo a escribir desde la linea 4 hasta la 10
appExcel.Range("A" & i).Value = "PEPE"
appExcel.Range("B" & i).Value = 15
appExcel.Range("C" & i).Value = "Profecional"
appExcel.Range("D" & i).Value = 40
Next
appExcel.ActiveWorkbook.SaveAs (ruta_mas_nombre_nuevo) 'salvo elarchivo como quieras y donde quieras
appExcel.Workbooks.Close ' cierro el objeto y listo

Espero que les sirva de ayuda!!! :aplauso: :arriba:

El_Metallick 11/07/2005 20:29

¿Como mandar mails a un celular?
R: Les dejo el vinculo para que lo vean (no es mi topic ahi salen todos los usuarios que partisiparon para que no me saquen en cara los creditos.... jajajajaj broma para dobled)

http://forosdelweb.com/showthread.ph...9&page=1&pp=20

El_Metallick 24/07/2005 10:13

Sobre componentes para el envio de emails:Aquí les dejo un resumen de la codificación de los diversos componentes de envío de email.

Componente "CDONTS"
'Si lo usas en IIS (CDONTS object)
Código:

Set msMail = CreateObject("CDONTS.NewMail")
With msMail
.BodyFormat = 0 'Set to 0 for HTML email, 1 for plain text.
.MailFormat = 0 'Set to 0 for HTML email, 1 for plain text.
.To = strTo
.From = strFromName & " <" & strFromAddress & ">"
.Subject = strSubject
.Body = strMessage
.Send
End With

Componente "CDOSYS"
'Si lo usas en IIS's (CDO object):
Código:

Dim conf
Set conf = Server.CreateObject("CDO.Configuration")
With conf.Fields
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strHost
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
.Update
End With
 
Set msMail = Server.CreateObject("CDO.Message")
With msMail
Set .Configuration = conf
.From = strFromName & " <" & strFromAddress & ">"
.To = strTo
.Subject = strSubject
.HTMLBody = strMessage
.Send
End With

Componente "AspMail"
'Si usas AspMail (http://www.serverobjects.com/)
Código:

Set msMail = Server.CreateObject("SMTPsvg.Mailer")
With msMail
.ContentType = "text/html"
.RemoteHost = strHost
.FromName = strFromName
.FromAddress = strFromAddress
.AddRecipient "", strTo
.Subject = strSubject
.BodyText = strMessage
.SendMail
End With

Componente "AspEmail"
'Si usas AspEmail 5.0 (http://www.aspemail.com/):
Código:

Set msMail = Server.CreateObject("Persits.MailSender")
With msMail
.Host = strHost
.From = strFromAddress
.FromName = strFromName
.AddAddress strTo
.Subject = strSubject
.Body = strMessage
.IsHTML = True
.Send
End With

Componente "Geocel"
'Si usas Geocel DevMailer 1.5 (http://www.geocel.com/):
Código:

Set msMail = Server.CreateObject("Geocel.Mailer")
With msMail
.AddServer strHost, 25
.FromAddress = strFromAddress
.FromName = strFromName
.AddRecipient strTo, ""
.Subject = strSubject
.Body = strMessage
.ContentType = "text/html"
.LogLevel = 4
.LogFile = "c:\temp\emailcoms\geocel.log"
.Send
End With

Componente "JMail"
'Si usas JMail (http://tech.dimac.net/)
Código:

Set msMail = Server.CreateOBject("JMail.Message")
With msMail
.From = strFromAddress
.FromName = strFromName
.AddRecipient strTo
.Subject = strSubject
.HTMLBody = strMessage
.Send(strHost)
End With

Componente "DynuEmail"
'Si usas DynuEmail (http://www.dynu.com/)
Código:

Set msMail = Server.CreateObject("Dynu.Email")
With msMail
.Host = strHost
.IsHTML = True
.From = strFromAddress
.FromName = strFromName
.AddAddress strTo
.Subject = strSubject
.Body = strMessage
.Send()
End With

Componente "EasyMail"
'Si usas EasyMail 5 (http://www.easymailobjects.com/)
Código:

Set msMail = Server.CreateObject("EasyMail.SMTP.5")
With msMail
.MailServer = strHost
.BodyFormat = 1 'For HTML
.FromAddr = strFromAddress
.AddRecipient "", strTo, 1
.Subject = strSubject
.Send()
End With

Componente "SA-SMTPMail"
'Si usas SA-SMTPMAIL (http://www.aspstudio.com/)
Código:

Set msMail = Server.CreateObject("SoftArtisans.SMTPMail")
With msMail
.RemoteHost = strHost
.FromAddress = strFromAddress
.FromName = strFromName
.AddRecipient strTo
.Subject = strSubject
.HTMLText = strMessage
.Wordwrap = True
.SendMail
End With

Componente "ocxQmail"
'Si usas ocxQmail (http://www.flicks.com/ocxQmail)
Código:

Set msMail = Server.CreateObject("ocxQmail.ocxQmailCtrl.1")
msMail.XHeader "Content-Type", "text/html; charset=""iso-8859-1"""
msMail.Q strHost, strFromName, strFromAddress, "", "", strTo, "", "", "", strSubject, strMessage
End Select

Saludos

mariano_donati 24/07/2005 15:53

¿Cómo pasar variables de ASP a FLASH?
 
Flash buscará este formato:

Response.Write("&variable1=valor&variable2=valor&variable3=valor&")

El inicio y fin de la cadena deben ser con "&", y cada variable debe estar separada utilizando el mismo simbolo.
Si el texto no es estático, y necesitas concatenar cadenas, entonces debes seguir el mismo formato, pero para que funcione correctamente tenés que ejecutar la película flash en el servidor, de otra forma no se mostrarán los valores.

Mithrandir 26/09/2005 14:46

Otro más para subir archivos
 
Decidí colocar esta clase porque es lejos, la mejor función que he encontrado para subir archivos.

Es robusta y flexible mientras el resto de lo que encuentro son scripts que medio funcionan.

http://www.aspemporium.com/codelib.aspx?pid=139&cid=4

AlZuwaga 07/11/2005 17:54

Para "solucionar"* el Error 500, error interno del servidor:

1- En su Internet Explorer, vaya al menú "Herramientas -> Opciones de internet -> Opciones avanzadas" y desmarque "Mostrar mensajes descriptivos de los errores http". Luego intente acceder nuevamente a su página.

2- Mejor deje de usar esa cosa llamada Internet Explorer y beneficiese usando Firefox.

*En realidad no se soluciona nada, sino que se hace posible enterarnos sobre el ERROR REAL

ositobad4 03/12/2005 11:32

Solucion A Este Error
 
SOLUCION REAL PARA ERRORES:


Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.


Microsoft
JET Database Engine (0x80004005). Error Desconocido.


Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x6cc Thread 0x78c DBC 0x144cfc4 Jet'.


Deben darles permiso, contro total a la carpta donde tiene su sitio ejemplo c:\inetpub\wwwroot\misitio, al usuario: IUSR_Nombre_Equipo, puede ser a la carpeta como a la base de datos. generalmente todos hacen esto y siguen con el problema como a mi pero busque por ahi la solcuion y es que tambien deben darle los mismos permisos, control total a la carpeta TEMP de su equipo (esto yo no lo sabia lo hize y solucione todos mis problemas) y tambien al usuario IUSR_Nombre_Equipo si no llegase a estar lo agregan..


Saludos....a mi me paso esto, lleve dias sin resolverlo y lo hize.

Saludos desde chile
AlejandRO

JuanRAPerez 08/12/2005 11:26

sonar musica continua (tipo radio) en asp
 
no se si lo borraran o lo moveran, pero esto yo me andube dando como loco y no encontre en ningun lugar como hacerlo.

Problema: tenia que montar musica navideña par la musica, pero de una forma continua, para que la gente de mi intranet pudiera tener acceso a ella, existian un par de cosas que resolver, por ejemplo, no poner los audios en buena calidad y evitar distociones y sobre todo trafico innecesario en la intranet.

solucion:
Descargue una aplicacion hecha en PHP que alguien puso el codigo para asp y es del que voy a hablar en adelante.

Descargar de: http://www.radioblogclub.com/
es una pequeña animación flas que reproduce canciones en formato *.rbs

en la misma aplicación viene el convertidor de MP3 a RBS (facilisimo de usar), el cual baja audios de 5 megas en 900kb y con calidad buena de audio.

lo copie en mi sitio web, y solo tuve que agregar en tipos MIME las extensiones rbs
Directorio /radio.blog/

para esto te vas al IIS
propiedades del sitio
encabezados HTTP
tipos de archivo
nuevo
estension asociada: .rbs
MIME: application/octet-stream

listo

luego en el raiz de /radio.blog/
copie el siguiente asp

default.asp
Cita:

<html>
<head>
<title>RADIO.BLOG</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#3,0,0,0" width="220" height="300">
<param name="src" value="radioblog.swf?autoplay=<% = request("autoplay") %>">
<param name="quality" value="high">
<embed src="radioblog.swf?autoplay=<% = request("autoplay") %>" type="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" width="220" height="300">
</object><br>


</body>
</html>

copie los audios preparados en
/radio.blog/sound

y dentro de el el siguiente asp

playlist.asp

Cita:

<%

CONST FILE_EXT = ".rbs"

dim path
dim oXml, oNodeTrk
dim oFso, oFld, oFile

path = server.mappath(".")

set oFso = server.createObject("Scripting.FileSystemObject")
set oFld = oFso.getFolder(path)


set oXml = server.createobject("MSXML2.DOMDocument")
oXML.async=false

set oXML.documentElement = oXML.createElement("tracks")

for each oFile in oFld.files

if right(oFile.name, 4) = FILE_EXT then

set oNodeTrk = oXml.createElement("track")
oXML.documentElement.appendChild oNodeTrk

oNodeTrk.setAttribute "trackMod", dateDiff("s", cdate("1970-01-01"), oFile.DateLastModified)
oNodeTrk.setAttribute "title", left(oFile.name, len(oFile.name)-4)
oNodeTrk.setAttribute "path", oFld.name &"/"& oFile.name

set oNodeTrk = nothing

end if

next

'response.contentType = "text/xml"

response.write "<?xml version=""1.0"" encoding=""UTF-8""?>"
response.write oXml.xml

set oXml = nothing
set oFso = nothing

%>
listo solo necesitas probarlo
para auto play tendias que poner en tu navegador

default.asp?autoplay=1

archivos necesarios
config.xml - cambia la apariencia de colores del reproductor
radioblog.swf - reproductor de audios
rbcore.swf -

los dos asp anteriores

suerte
si quieren probarlo
entren a :

http://juanra.cybercentro.com.sv/nav...asp?autoplay=1

jijiji esperando les sirva y que el enlace no lo haya removido para proximos años

saludos

editado:
ojo la musica en rbs no deve de llevar caracteres extraños
ni eñes ni tildes, ni otro caracter, porque eso hace errores en el barrido de el asp playlist

gorka_arai 02/03/2006 10:03

Paginar resultados
 
¿Cómo muestro mis resultados por páginas? Lo que se llama "paginación de resultados"...

He akí una manera de paginar tus resultados para dar un toque "pofesional" a tu web: :-D

Este código debe ir en una página que se llame "Paginar.asp":
Código:

<HTML>
<BODY>
<%
Dim mostrar 'cantidad de registros a mostrar por página
Dim cant_paginas 'cantidad de páginas que recibimos
Dim pagina_actual 'La página que mostramos
Dim registro_mostrado 'Contador utilizado para mostrar las páginas
Dim I 'Variable Loop
dim strsql 'Consulta sql

mostrar = 20 ' Pueden modificar este número para cambiar la cantidad de registros por página

' IF para saber que página mostrar
if request("page")="" then
pagina_actual = 1
Else
pagina_actual = CInt(Request.QueryString("page"))
End If
'Conexión con la BD
dim conex,reg,sql,usuario
set conex=server.CreateObject("ADODB.Connection")
set reg=server.CreateObject("ADODB.Recordset")
conex.ConnectionString="provider=microsoft.jet.oledb.4.0; data source=" & server.MapPath("Nombre_de_tu_base.mdb")
conex.Open
sql="select * from tabla where Nombre_campo_tabla=" & nom_variable & ""
reg.Open sql,conex,3,2
' Creamos el RecordSet y definimos la cantidad de registros a mostrar
reg.PageSize = mostrar
reg.CacheSize = mostrar
'contamos las páginas que se formaron con la variable mostrar.
cant_paginas = reg.PageCount
' Si el pedido de página cae fuera del rango,
' lo modificamos para que caiga dentro
If pagina_actual > cant_paginas Then pagina_actual = cant_paginas
If pagina_actual < 1 Then pagina_actual = 1

' Si la cantidad de páginas da 0 es que no hay registros... por eso este IF
If cant_paginas = 0 Then%>
        <%Response.Write("NO HAY REGISTROS")%>
<%Else
' Nos movemos a la página elegida
reg.AbsolutePage = pagina_actual
' Mostramos el dato de que página estamos...
%>
<FONT face=Arial><FONT>
<FONT SIZE="+1">Página <B><%= pagina_actual %></B> de <B><%= cant_paginas %></B></FONT>
<%
' Espacios
Response.Write "<BR><BR>" & vbCrLf
'iniciamos la tabla donde mostraremos todo
Response.Write "<TABLE BORDER=""1"" width=""300"" bordercolor=""black"">" & vbCrLf%>
<tr bgcolor=red>
                                <th colspan=20><FONT face=Arial size=2><STRONG><FONT color=ivory> TITULO TABLA</STRONG></FONT></FONT></th>
                        </tr><br>
<%' Mostramos los titulos de las columnas... (pueden sacar ese FOR para eliminar eso)
Response.Write vbTab & "<TR>" & vbCrLf
For I = 0 To reg.Fields.Count - 1
Response.Write vbTab & vbTab & "<TD><B><FONT face=Arial size=2 color=mediumblue>"
Response.Write reg.Fields(I).Name
Response.Write "<B></TD></FONT>" & vbCrLf
Next 'I
Response.Write vbTab & "</TR>" & vbCrLf

' Hacemos el bucle mostrando los datos del registro
registro_mostrado = 0
Do While registro_mostrado < mostrar And Not reg.EOF
Response.Write vbTab & "<TR>" & vbCrLf
For I = 0 To reg.Fields.Count - 1
Response.Write vbTab & vbTab & "<TD>"
Response.Write reg.Fields(I)
Response.Write "</TD>" & vbCrLf
Next 'I
Response.Write vbTab & "</TR>" & vbCrLf

' Sumamos 1 a los mostrados
registro_mostrado = registro_mostrado + 1
' Nos movemos al próximo registro...
reg.MoveNext
Loop

'listo...
Response.Write "</TABLE>" & vbCrLf
End If

' Cerramos y limpiamos...
reg.Close
Set reg = Nothing
conex.Close
Set conex = Nothing

' Ahora mostramos los enlaces a las otras páginas con el resto de los registros...
If pagina_actual > 1 Then
%>
</FONT></FONT>
<A href="./paginar.asp?eje=30&amp;page=<%= pagina_actual - 1 %>" ><FONT
face=Arial>[&lt;&lt; Anterior]</FONT> </a>
<%
End If

' mostramos la paginacion por numeros de página
For I = 1 To cant_paginas
If I = pagina_actual Then
%>
<%= I %>
<%
Else
%>
<FONT face=Arial> </FONT>
<A href="./paginar.asp?eje=30&amp;page=<%= I %>" ><%= I %></a>
<%
End If
Next 'I

If pagina_actual < cant_paginas Then
%>
<A href="./paginar.asp?eje=30&amp;page=<%= pagina_actual + 1 %>" ><FONT
face=Arial>[Próximo &gt;&gt;]</FONT ></a>
<%
End If
'Fin...
%>
%>
<form action="Paginar.asp" method="post" name="form332" id="form332">
        <input type="hidden" name="page" value="<%=pagina_actual%>">
        <p><input type="submit" value="VOLVER" name="cmd_volver"></p>
</form>
<%
</BODY>
</HTML>


Dorita 07/03/2006 15:24

3 Select Dependientes con datos de una Bd que funciona Ok
 
Código:


Página Index.asp:


<form name="frm1" method="post" action="guardar.asp">

<select name="lstProc" class="caja" onChange="location.href='Index.asp?IdProcedimiento=' +
                                        frm1.lstProc.options[frm1.lstProc.selectedIndex].value"> 
                                <option value="0">Seleccione Tipo Proc.</option>                                                                                                                 
<%                                        Sql = "SELECT codTipoProc, tipoProc FROM TblTipoProcedimientoExpress"
                                        Rst.Open Sql, Con                                                                                                                 
               
                                        Procedimiento = Request.QueryString("IdProcedimiento")
                                                                               
                                        Do While Not Rst.EOF
                                                codTipoProc = Trim(Rst("CodTipoProc"))
                                                TipoProc = Trim(Rst("TipoProc"))
                                               
                                                If Procedimiento <> "" Then
                                                        If (CInt(Procedimiento) = CInt(codTipoProc)) Then %>
                                                                <option value="<%=codTipoProc%>" selected><%=TipoProc%></option>
<%                                                        Else %>
                                                                <option value="<%=codTipoProc%>"><%=TipoProc%></option>
<%                                                        End If%>                                                               
<%                                                Else %>                                               
                                                        <option value="<%=codTipoProc%>"><%=TipoProc%></option>
<%                                                End If                                                                       
                                               
                                                Rst.Movenext
                                        Loop
                                       
                                        Rst.Close %>
            </select>                       
                        </td>
                        <td>                                               
                        <select name="lstPlataforma" onChange="location.href='Index.asp?IdPlataforma=' + 
                                frm1.lstPlataforma.options[frm1.lstPlataforma.selectedIndex].value + '&IdProcedimiento='+ frm1.lstProc.options[frm1.lstProc.selectedIndex].value"> 
                                <option value="0">Seleccione Plataforma</option>
<%                                If Request.QueryString("IdProcedimiento") <> "" Then %>                                       
                                       
<%                                        idProced = CInt(Request.QueryString("IdProcedimiento"))
                                        idPlataforma = CInt(Request.QueryString("IdPlataforma"))
                                       
                                        Sql = "SELECT codTipoPlataforma, NombrePlataforma FROM TblSistemaProcExpressPlataforma WHERE codTipoProc = "&idProced&";"                                       
                                        Rst.Open Sql, Con
                                       
                                        Do While Not Rst.EOF
                                       
                                                codTipoPlataforma = Trim(Rst("codTipoPlataforma"))
                                                NombrePlataforma = Trim(Rst("NombrePlataforma"))
                                               
                                                If idPlataforma <> "" Then
                                                        If (CInt(idPlataforma) = CInt(codTipoPlataforma)) Then %>
                                                                <option value="<%=codTipoPlataforma%>" selected><%=NombrePlataforma%></option>
<%                                                        Else %>
                                                                <option value="<%=codTipoPlataforma%>"><%=NombrePlataforma%></option>
<%                                                        End If%>                                                               
<%                                                Else %>                                               
                                                        <option value="<%=codTipoPlataforma%>"><%=NombrePlataforma%></option>
<%                                                End If        %>                                                                                                                                                       
<%                                                Rst.Movenext
                                        Loop
                                        Rst.Close                                       
                                End If %>                               
            </select>                       
                        </td>
                </tr>               
          <tr>
            <td>Momento</td>
            <td>                       

                        <select name="lstMomento"> 
                                <option value="0">Seleccione momento</option>
<%                                If Request.QueryString("IdPlataforma") <> "" Then %>                                       
                                       
<%                                        idPlataforma = CInt(Request.QueryString("IdPlataforma"))
                                       
                                       
                                        Sql = "SELECT CodigoMomento, NombreMomento FROM TblSistemaProcExpressMomento WHERE codTipoPlataforma = "&idPlataforma&";"                                       
                                        Rst.Open Sql, Con
                                       
                                        Do While Not Rst.EOF
                                       
                                                codigoMomento = Trim(Rst("CodigoMomento"))
                                                NombreMomento = Trim(Rst("NombreMomento")) %>       
                                               
                                                <option value="<%=codigoMomento%>"><%=NombreMomento%></option>
                                               
<%                                                Rst.Movenext
                                        Loop
                                        Rst.Close                                       
                                End If %>                               
            </select>

</form>


sjam7 24/03/2006 12:22

Contar Registros En Mysql
 
No se si ya este pero no lo encontre, para poder contar los registros en ACCESS pues usamos algo asi:

Código:

SQL="Select * From TABLA"
RS.Open SQL, oConn,1,1

cuantos=RS.RecordCount

En MySQL esto no funciona, siempre dara como resultado -1, pero si agregamos esta linea:
RS.CursorLocation = 3

antes del RS.Open...

WALAA:arriba:

JuanRAPerez 04/09/2006 18:15

html y sql injection - no insertar
 
hay varias funciones en las faq para limpiar cadenas y evitar html y sql injection... una mas que encontre fuera del foro y que creo que les servira (si ya esta publicada aqui no la vi)


funcion
Cita:

<%
Function Caracteres_Ilegales(stringEntrada)

Dim stringCaracteresMalos, iCounter

Caracteres_Ilegales = False

stringCaracteresMalos = array("http://", "<h1>", "url", "link=", "[h1]", "[a]", "[href]")

For iCounter = 0 to uBound(stringCaracteresMalos)

If Instr(stringEntrada,stringCaracteresMalos(iCounter ))>0 Then
Caracteres_Ilegales = True
End If
Next
End function
%>
uso
Cita:

If Caracteres_Ilegales(comentario) = True OR Caracteres_Ilegales(email) = True Then
response.redirect("enegado_publicacion.asp")
End If
fuente
http://www.thescripts.com/forum/thread513587.html

espero le sirva a alguien como a mi...
en mi caso en lugar de response.redirect puse
publciar = "pendiente"

asi mando un mail al administrador del sitio con ese post para un libro de visitas que requeire de su aprobacion o eliminacion si fuese publicidad.

suerte

Boxmaster 11/10/2006 09:17

Saludos, les dejo este vinculo que describe la forma de subir imagenes al servidor y al mismo tiempo agregarlas (path de la imagen) a una db MySQL.

http://www.forosdelweb.com/f15/subir-imagenes-servidor-baja-todo-codigo-completo-coemntado-431929/

Espero sea de ayuda para aquellos compañeros que deseen tener una idea mas amplia de como hacerlo, y para los que ya saben y deseen aporta mas soluciones e ideas con gusto recibire sus comentarios.

Myakire 27/12/2006 13:01

25 Tips para mejorrar el rendimiento de las páginas ASP
 
El contenido de este link es muy interesante

http://www.microsoft.com/technet/pro...ips.mspx#EOMAC

Anita123 12/04/2007 02:26

Re: Las FAQ's del foro de ASP
 
También se pueden seleccionar directamente rangos indicando las cela superior izquierda e inferior derecha:

"Select * From A4:IV65536"

Shiryu_Libra 11/05/2007 18:15

Re: FAQ's del foro de ASP
 
Compañeros, ultimamente hemos tenido muchas preguntas sobre CDOSYS, asi que encontre este enlace que espero les sea de mucha ayuda.

Utilizar SMTP para los mensajes salientes

explica:
  1. Funcionamiento
  2. Configuracion para Windows 2000
  3. Comprobar el servicio
  4. Ejemplos de Prueba
Suerte:arriba:

darkmcloud 08/11/2007 21:11

Re: FAQ's del foro de ASP
 
No se si sera un gran aporte.....pero comparto con todos ustedes un BUSCADOR MULTIPLE con distintos criterios de busqueda:

Cita:

<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<FORM ACTION='Validar.asp' METHOD='GET' id=form1 name=form1>
</HEAD>
<body bgcolor="#FFCC66" background="2.jpg" text="BLACK" link="BLACK" vlink="BLACK" alink="BLACK">
<%


dim dbConn

'aca recibo los campos que voy a realizar la busqueda
'si quieren agregar mas.....simplemente los agregan aca y despues en las variables

csr = Request.form("csr")
distribuidor = Request.form("distribuidor")
estado = Request.form("estado")

On Error Resume next

'declaro las variables a utilizar incluyendo la se_encuentra
Dim Rs, Cnn, SQL, se_encuentra
set Cnn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
Cnn.Open Session("cnx")

'ejecuto la consulta
strSQL="SELECT * FROM tblcliente"
se_encuentra = False
if csr <> "" then
strSQL=strSQL & " WHERE csr LIKE '%"&csr&"%'"
se_encuentra=True
end if


'la variable se_encuentra se inicializa en falso y se cambia a verdadero si el campo trae un valor ingresado

if distribuidor <> "" then
if se_encuentra then
strSQL=strSQL & " AND distribuidor LIKE '%"&distribuidor&"%'"
else
strSQL=strSQL & " WHERE distribuidor LIKE '%"&distribuidor&"%'"
se_encuentra=True
end if
end if

if estado <> "" then
if se_encuentra then
strSQL=strSQL & " AND estado LIKE '%"&estado&"%'"
else
strSQL=strSQL & " WHERE estado LIKE '%"&estado&"%'"
se_encuentra=True
end if
end if
'abrimos la tabla para llamar los registros
set rs = Cnn.Execute(strSQL)

cnn.Execute(strSQL)

if rs.EOF then
Response.Write("No existe el campo ingresado, verifique los datos")
else %>
'si encuentra los datos, mostramos los resultados
<CENTER>
<TABLE WIDTH=2000 BORDER=1 align="center" CELLSPACING="0">
<tr> <td width=80 bordercolor="#F0F0F0"bgcolor="ORANGE"><center><b>C sr</b></center>
<td width=100 bordercolor="#FFFFFF" bgcolor="ORANGE"><center><b>Local</b></center>
<td width=99 bordercolor="#FFFFFF" bgcolor="ORANGE"><center><b>Guia De Despacho</b></center>
<td width=134 bordercolor="#FFFFFF" bgcolor="ORANGE"><center><b>Distribuidor</b></center>
<td width=102 bordercolor="#FFFFFF" bgcolor="ORANGE"><center><b>Fecha Ingreso</b></center>
<td width=160 bordercolor="#FFFFFF" bgcolor="ORANGE"><center><b>Artefacto</b></center>
<td width=100 bordercolor="#FFFFFF" bgcolor="ORANGE"><center><b>Serie</b></center>
<td width=80 bordercolor="#FFFFFF" bgcolor="ORANGE"><center><b>Estado</b></center>
</tr> </table> </CENTER>

<%do while not rs.EOF%>

<center>
<TABLE BORDER=1 CELLSPACING="0" WIDTH=2000>
<tr>
<%Response.Write "<td WIDTH=80 align='center' >"&rs("csr")&"<td WIDTH=100 align='center'>"&rs("loc")&"<td WIDTH=99 align='center'>"&rs("guia_d")&"<td WIDTH=134 align='center'>"&rs("distribuidor")&"<td WIDTH=102 align='center'>"&rs("fecha_in")&"<td WIDTH=160 align='center' >"&rs("artefacto")&"<td WIDTH=100 align='center' >"&rs("serie")&"<td WIDTH=80 align='center' >"&rs("estado")%>
<br> </tr>
<%rs.Movenext%>
</table></center>
<%loop

end if


rs.Close

set rs = nothing

Cnn.Close

set oCnn = nothing

%>
<br> <br> <font face="Verdana">
<h3> <center> <a href="../menu.asp">Volver</a> </center> </h3>
</font>
</body>
</html>
espero que les sirva

Shiryu_Libra 03/02/2008 11:39

Re: FAQ's del foro de ASP
 
Version ilustrada

Pregunta: Como otorgo permisos de escritura??? Cual es el procedimiento??

Primero que nada, debemos entrar a las opciones de carpeta dentro del menu Herramientas, para activar nuestra pestaña de seguridad
http://img5.imageshack.us/img5/4238/paso1z.jpg

el siguiente paso sera desmarcar donde dice "Utilizar uso compartido simple de archivos"

eso de recomendado como que no..... :no:
http://img5.imageshack.us/img5/9486/paso2m.jpg


una ves realizado este segundo paso, damos aceptar, y regresamos a la carpeta que nos interesa
http://img5.imageshack.us/img5/5108/paso3u.jpg


ya una ves que demos click sobre las propiedades de la carpeta, aparecera ahora si nuestra pestaña de seguridad, donde estableceremos a que usuario y que privilegios tendran dentro de esta carpeta.... las ilustraciones a continuacion estaran numeradas para realizar el procedimiento sencillo..
http://img27.imageshack.us/img27/4679/paso4ngl.jpg

http://img27.imageshack.us/img27/1053/paso5w.jpg

http://img27.imageshack.us/img27/870/paso6r.jpg

http://img27.imageshack.us/img27/9356/paso7pre.jpg

http://img27.imageshack.us/img27/4579/paso8i.jpg

http://img27.imageshack.us/img27/1588/paso9q.jpg


una ves establecidos los privilegios que tendra cada uno de nuestros usuarios en esa carpeta especifica, podran o no, escribir o leer el contenido

nota aclaratoria:..a pesar que esta actividad es para que nuestras paginas ASP funcionen correctamente, tambien dentro del uso normal de nuestro sistema, podran mantener en privado o sin acceso a ella, a otros usuarios

tambien deben recordar que cualquier administrador podra quitar esos atributos


:adios:

JuanRAPerez 21/04/2008 11:04

Microsoft OLE DB Provider for ODBC Drivers error '80004005' Error de disco o de red.
 
Bueno, dejo esto aquí porque me ha dado líos encontrar la respuesta y quizás a alguien le sirva mas adelante.

error es:
Cita:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][Controlador ODBC Microsoft Access] Error de disco o de red.

/demos/07102/include/ConectorBaseDatos.asp, línea 5

El escenario es:
+ Windows Vista
+ IIS 7
+ ASP 3.0
+ Conexión a base de datos access funcionando perfectamente en otra pc.

Solución:

Buscar en la siguiente ruta
C:\Windows\System32\inetsrv\config

archivo llamado:
ApplicationHost.Config

Cambiar las siguientes lineas
Cita:

<applicationPoolDefaults>
<processModel identityType="NetworkService" />
</applicationPoolDefaults>
por

Cita:

<applicationPoolDefaults>
<processModel identityType="NetworkService" loadUserProfile="false" />
</applicationPoolDefaults>
ni idea de porque pero ya funciona

suerte

Shiryu_Libra 30/05/2008 13:41

Respuesta: FAQ's del foro de ASP
 
Version Ilustrada

Pregunta: Como puedo mostrar errores descriptivos desde la consola de IIS7 en Windows Vista (referencias de imagenes desde un Vista Ultimate)

Los tipicos 3 pasos de rigor (solo para usuarios que apenas incursionan en esto), que debemos hacer

Otro atajo, es dar Click derecho sobre EQUIPO, Administrar

NOTA: si ya sabes llegar, omite estos 3 pasos, y brinca directamente al paso 4
Paso1

http://mx.geocities.com/saintseiya_shiryu/paso1.jpghttp://img5.imageshack.us/img5/4618/paso1m.jpg

Paso 2
buscaremos dentro del PANEL DE CONTROL

HERRAMIENTAS ADMINISTRATIVAS

http://mx.geocities.com/saintseiya_shiryu/paso2.jpghttp://img5.imageshack.us/img5/8501/paso2y.jpg

Paso 3

Seleccionaremos "Administrador de INTERNET INFORMATION SERVICES (IIS)"

http://mx.geocities.com/saintseiya_shiryu/paso3.jpghttp://img17.imageshack.us/img17/4227/paso3g.jpg

Paso 4
Desplegaremos hasta seleccionar "Default Web Site", o en su caso respectivo el sitio web que deseen

http://mx.geocities.com/saintseiya_shiryu/paso4.jpghttp://img17.imageshack.us/img17/5259/paso4f.jpg

Paso 5

Daremos doble click sobre "Paginas de Errores"

http://mx.geocities.com/saintseiya_shiryu/paso5.jpghttp://img17.imageshack.us/img17/5084/paso5.jpg

Paso 6

En el panel derecho se encontrara una leyenda que dice
"MODIFICAR CONFIGURACION DE CARACTERISTICA..."

http://mx.geocities.com/saintseiya_shiryu/paso6.jpghttp://img17.imageshack.us/img17/5403/paso6d.jpg

Paso 7

por default, tiene activada "Errores detallados para solicitudes locales y paginas de errores personalizados para solicitudes remotas"

sean cautelozos en este sentido

http://mx.geocities.com/saintseiya_shiryu/paso7.jpghttp://img5.imageshack.us/img5/1039/paso7b.jpg


NOTA: significa que si ejecutamos en el entorno 127.0.0.1 o si estamos haciendo pruebas dentro del mismo pc, nos mostrara completamente el error, dando el numero de linea.. etc

pero si lo hacemos utilizando un segundo equipo dentro de nuestra red, no dara ningun detalle

sean concientes que si esto es para una web interna, no habra tanto problema, pero si activan esta caracteristica para un web de consulta externa(internet), podria ser un riesgo de seguridad

ya que estariamos dando armas para romper el codigo:adios:

Adler 12/11/2008 08:03

Respuesta: Obtener la id del registro recien creado
 
Aquí lo tenemos para Sql Server y Acess

txoandi 13/11/2008 13:07

FAQ's del foro de ASP
 
http://cheeso.members.winisp.net/IIRF.aspx

Que conste que ni conozco a los creadores y que esto no es Spam de ningún tipo.

Hace algún tiempo ya escribi sobre otra aplicación similar:
http://www.forosdelweb.com/f91/duda-sobre-urls-amigables-615181/
Que conseguía que urls de este estilo
http://misitio.com/catologo.asp?seccion=seccion1&busqueda=palabra_a_b uscar&otravariabe=pedocacapis
Se parecieran a esta:
http://misitio.com/catologo.asp/seccion=1/catalogo=catalogo2/otravariabe=pedocacapis/


Pero utilizando el IIRPF y configurándolo se puede gastar como si del module Rewrite del apache se tratara.
Y en lugar de gastar un .htacces es editando el IsapiRewrite4.ini

El metodo de instalacion es sencillo:

Servicios de Internet Information Server -> Servicios Web -> Propiedades ->
Filtros ISAPI -> Agregar -> Examinar .. > Elegir el IsapiRewrite4.dll

En el mismo directorio de IsapiRewrite4.dll colocar el IsapiRewrite4.dll
Ejemplo:
http://img220.imageshack.us/img220/9264/iisqw8.th.jpghttp://img220.imageshack.us/images/thpix.gif
Url imagen en grande:http://img220.imageshack.us/my.php?image=iisqw8.jpg


Aqui teneis un ejemplo de configuracion (Archivo IsapiRewrite4.ini):
Código PHP:

# IsapiRewrite4.ini

RewriteEngine On

RewriteCond 
%{HTTP_URL}             (/|.htm|.asp|.html|/[^.]*)$   
RewriteCond %{REQUEST_FILENAME}     !-f
RewriteCond 
%{REQUEST_FILENAME}     !-d

RewriteRule 
/catalogo/(.*)  /catalogo/index.asp?$[L]
RewriteRule /agenda/(.*)  /agenda/index.asp?$[L

Con esta configuracion se pueden lograr urls del estilo de:

http://misitio.com/catologo/lavadora-siemens-WM12S740EE.htm
http://misitio.com/catologo/lavadora/siemens/WM12S740EE/
http://misitio.com/agemda/2008/11/14/
http://misitio.com/agemda/2008-11-14.htm
http://misitio.com/agemda/2008-noviembre-14.htm


Y así cuantos ejemplos queráis .


Cuando os lo descarguéis el IIRPF veréis que hay muchos archivos de configuración de ejemplo.


Ya no hay excusas para no tener URL's Amigables :si:

Saludos!

NA1TM3R 02/12/2008 12:44

FAQ's del foro de ASP
 
Saludos!
Hoy ando por aquí listo para una aportación :si: . . .

Seguramente alguna vez has necesitado una diferencia de horas, minutos ó simples segundos, lo malo es que si lo hicieramos de la forma tradicional nos saldría algo mas ó menos así:

1 hora 0 minutos 4933 segundos

Lo cuál no es el resultado esperado no es verdad?

Con el siguiente código pueden por fin hacer su pequeño contador hehehe . . . espero les sirva . . .

Código:

fini = "FECHA INICIAL"
fact = Now()
  segundosonline = DateDiff("s", fini, fact)
  minutosonline = Int(segundosonline/60)
  horasonline = Int(minutosonline/60)
  minutosmod = minutosonline Mod 60
  segundosmod = segundosonline Mod 60 Mod 60 Mod 60
  If(minutosmod<10) Then minutosmod ="0"&minutosmod End If
  If(segundosmod<10) Then segundosmod ="0"&segundosmod End If

  If segundosonline < 60 Then
      tiempo = segundosonline&" segundos"
  ElseIf segundosonline > 60 And segundosonline < 3600 Then
      tiempo = minutosmod&":"&segundosmod&" minutos"
  Else     
      tiempo = horasonline&":"&minutosmod&":"&segundosmod&" horas"
  End If

Lo cuál nos daría algo como:

1:24:03 horas

Fácil y rápido . . .

Hasta la proxima ! ! !

Adler 29/12/2008 15:30

Respuesta: FAQ's del foro de ASP
 
Valorar el trabajo de un usuario (haciendo algunos cambios podemos valorar un solo tema, video, etc..)

+ Campos de la tabla con los que trabajamos
- Usuario --> Texto / Nombre del usuario cuyo articulo ha sido puntuado
- Reconocimiento --> Numerico / Cantidad de puntos que tiene el usuario que intenta puntuar el articulo
- Kien_Reconoce --> Texto / Nombre de los usuarios que han puntuado el articulo


mostrartemas.asp

Código HTML:

<a id="<%=autonumerico_del_articulo%>" onclick="return false" href="./mostrartemas.asp">Reconocimiento</a>
<script type="text/javascript">
  Evento(document.getElementById('<%=autonumerico_del_articulo%>'),'click',function() {
      PuntarArticulo('<%=autor_articulo%>', '<%=nombre_usuario_da_puntos%>');
})   
</script>

reconocimiento.asp

Código asp:
Ver original
  1. Dim usuapuntuar, usukpuntua, PuntosaOtorgar, reconocedores, kienson, i, otroReconocedor
  2. usuapuntuar = Request.QueryString("akien")
  3. usukpuntua = Request.QueryString("dkien")
  4.  
  5. SQL="Select Usuario, Reconocimiento FROM tabla WHERE Usuario = '"&usukpuntua&"'" ' Sacamos la puntuación que tiene el usuario que quiere puntar el articulo
  6.  
  7. cant_reconocimiento = CInt(rs1.Fields("Reconocimiento"))
  8.  
  9. ' ============= Puntos que puede otorgar el usuario que intenta puntuar el articulo, deacuerdo con su reconociemiento hasta el momento =============
  10. if cant_reconocimiento =< 9 Then
  11. PuntosaOtorgar = 1
  12. elseif cant_reconocimiento >= 10 and cant_reconocimiento =< 19 Then
  13. PuntosaOtorgar = 2
  14. elseif cant_reconocimiento >= 20 and cant_reconocimiento =< 29 Then
  15. PuntosaOtorgar = 3
  16. elseif cant_reconocimiento >= 30 and cant_reconocimiento =< 39 Then
  17. PuntosaOtorgar = 4
  18. elseif cant_reconocimiento >= 40 and cant_reconocimiento =< 49 Then
  19. PuntosaOtorgar = 5
  20. else
  21. PuntosaOtorgar = 6
  22. end if
  23. ' ===============================================
  24.  
  25. SQL="Select Usuario, Kien_Reconoce FROM tabla WHERE Usuario = '"&usuapuntuar&"'" ' Kienes le han otorgado puntos a este usuario
  26.  
  27. reconocedores = rs2.Fields("Kien_Reconoce")
  28.  
  29. if reconocedores <> "" Then ' Si no es el primer usuario en puntuar el tema
  30. kienson = Split(reconocedores, ",")
  31. For i = 0 To UBound(kienson)
  32. If kienson(i) = usukpuntua AND i =< 2 Then ' No hay 3 nuevos reconocedores entre la última vez que este usuario puntuó el articulo y ahora
  33. Response.Write usukpuntua & escape(", desde la última vez que reconociestes el esfuerzo de ") & usuapuntuar & escape(", nadie más se lo ha reconcido. Así que tendrás que esperar hasta que otro usuario lo haga.")
  34. Response.End ()
  35. Exit For
  36. End If
  37. Next
  38. otroReconocedor =  usukpuntua & "," & reconocedores
  39. else
  40. otroReconocedor =  usukpuntua
  41. end if
  42.  
  43. SQL="UPDATE tabla SET Reconocimiento = Reconocimiento + "&PuntosaOtorgar&" , Kien_Reconoce = '"&otroReconocedor&"'  WHERE Usuario = '"&usuapuntuar&"';"
  44. Response.Write usukpuntua & escape(", seguro que ") & usuapuntuar & escape(" te agradece el reconocimento que le acabas de dar por su esfuerzo.")
  45. Response.End ()
  46. %>


reconocimiento.js

Código javascript:
Ver original
  1. function creaAjax(){
  2.     var ajaxs = ["Msxml2.XMLHTTP","Msxml2.XMLHTTP.4.0","Msxml2.XMLH TTP.5.0","Msxml2.XMLHTTP.3.0","Microsoft.XMLHTTP"];
  3.     var ajax = false;
  4.     for(var i=0 ; !ajax && i<ajaxs.length ; i++){
  5.         try{
  6.             ajax = new ActiveXObject(ajaxs[i]);   // Internet Explorer
  7.         }
  8.         catch(e) {
  9.             ajax = false;
  10.         }
  11.     }
  12.     if(!ajax && typeof XMLHttpRequest!='undefined') {
  13.         ajax = new XMLHttpRequest();  // Firefox, Opera 8.0+, Safari
  14.     }
  15.     return ajax;
  16. }
  17.  
  18. function PuntarArticulo(ak, dk){
  19. var ajax=creaAjax();
  20. ajax.open ('GET', 'reconocimiento.asp?akien='+ak+'&dkien='+dk, true);
  21. ajax.onreadystatechange = function() {
  22.  
  23.     if (ajax==null){
  24.         alert ("Tu navegador web no soporta AJAX!");
  25.         return;
  26.     }
  27.  
  28.          if (ajax.readyState==1 || ajax.readyState==2 || ajax.readyState==3) {
  29.                                      
  30.          }
  31.          else if (ajax.readyState==4){
  32.                    if(ajax.status==200){
  33.                                             alert (unescape(ajax.responseText));
  34.                 return;
  35.                    }
  36.                    else if (ajax.status==404)
  37.                                              {
  38.                                             alert ("La dirección no existe");
  39.                 return;
  40.                                              }
  41.                                              else
  42.                                              {
  43.                                              alert ("Error: " + ajax.status);
  44.                 return;
  45.                                              }
  46.                                     }
  47.                   }
  48.          ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  49.          ajax.send(null);
  50.          return
  51. }
  52.  
  53.  
  54. function Evento(elemento,nomevento,funcion)
  55. {
  56.   if (elemento.attachEvent)
  57.   {
  58.       var f=function(){
  59.         funcion.call(elemento,window.event);
  60.     }
  61.     elemento.attachEvent('on'+nomevento,f);
  62.     return true;
  63.   }
  64.   else  
  65.     if (elemento.addEventListener)
  66.     {
  67.       elemento.addEventListener(nomevento,funcion,false);
  68.       return true;
  69.     }
  70.     else
  71.       return false;
  72. }

NA1TM3R 27/10/2009 14:21

Respuesta: FAQ's del foro de ASP
 
Obtener Fecha Límite [sólo días hábiles]

Pequeña función que sirve para cualquier objeto que tenga un máximo de días, claro . . . días hábiles . . .


Código ASP:
Ver original
  1. 'WeekDay arroja para Sábado: 7 y para Domingo: 1
  2.  
  3. Function DiasLab(Fec,Days)
  4.     For x = 1 To Days*2
  5.         MyDate = DateAdd("d",x,Fec)
  6.         If Not(WeekDay(MyDate) = 1 Or WeekDay(MyDate) = 7) Then
  7.             y = y + 1
  8.         End If
  9.         If Not(y = Days) Then
  10.             z = z + 1
  11.         Else
  12.             Exit For
  13.         End If
  14.     Next
  15.     DiasLab = DateAdd("d",z+1,Fec)
  16. End Function
  17.  
  18. Response.Write DiasLab("2009-10-27",8)

Sé que habrá algún método mas complejo por ahí, pero hasta ahorita no lo han compartido :borracho: . . .

Nos seguimos leyendo . . .

Adler 09/01/2010 08:06

Respuesta: FAQ's del foro de ASP
 
He estado revisando y parece que este no está

Saber cuantos años, meses y días hay de diferecia entre dos fechas

Código ASP:
Ver original
  1. Dim fInicio,fFinal,AInicio,AFinal,bis,i,sumadiasBis,segundos,anyos,segundosRestante,meses,dias
  2. fInicio = "09/01/2010"
  3. fFinal = "18/02/2013"
  4. AInicio = 2010
  5. AFinal = 2013
  6. bis = 0
  7.  
  8. ' Comprobamos si hay algún año bisiesto. 86400 segundos es un días
  9. For i = AInicio To AFinal
  10. if i mod 4 = 0 then
  11. bis = bis + 86400
  12. else
  13. bis = bis + 0
  14. end if
  15. Next ' i
  16. sumadiasBis = bis
  17.  
  18. Response.Write "Fecha de Inicio " & fInicio & "<br />Fecha Final " & fFinal & "<br /><br />Restan<br />"
  19.  
  20. ' Calculamos los segundos entre las dos fechas
  21. segundos = DateDiff("s", fInicio, fFinal)
  22.  
  23. anyos = Fix((segundos-sumadiasBis)/31536000)
  24. Response.Write anyos & " a&ntilde;os<br />"
  25. segundosRestante = (segundos-sumadiasBis) mod (31536000)
  26.  
  27. meses = Fix(segundosRestante/2592000)
  28. Response.Write meses & " meses<br />"
  29. segundosRestante = segundosRestante mod 2592000 ' Suma un día mas por cada años bisiesto
  30. ' segundosRestante = (segundosRestante-sumadiasBis) mod 2592000 ' No suma un día mas por cada año bisiesto
  31.  
  32. dias = Fix(segundosRestante/86400)
  33. Response.Write dias & " d&iacute;as"

DanX03 25/01/2010 11:35

Respuesta: FAQ's del foro de ASP
 
Eliminar el contenido total de una carpeta dentro del servidor

Código ASP:
Ver original
  1. set fso=server.CreateObject("Scripting.filesystemobject")
  2.   'si existen las carpetas se eliminan para despues volver a crearlas
  3.   if fso.folderexists(server.MapPath("graficas")) then
  4.     fso.deletefolder(server.MapPath("graficas"))
  5.     set nfolder=fso.createfolder(server.MapPath("graficas"))   
  6.   else
  7.     'caso contrario solo se crean las carpetas
  8.     set nfolder=fso.createfolder(server.MapPath("graficas"))
  9.   end if
  10.  
  11.   if fso.folderexists(server.MapPath("graficas2")) then
  12.     fso.deletefolder(server.MapPath("graficas2"))
  13.     set nfolder=fso.createfolder(server.MapPath("graficas2"))  
  14.   else
  15.     set nfolder=fso.createfolder(server.MapPath("graficas2"))
  16.   end if
  17.  
  18.   set fso=nothing
  19.   set nfolder=nothing

Adler 18/02/2010 07:05

Respuesta: FAQ's del foro de ASP
 
Resaltar las porciones de código que están entre etiquetas

Parecido a lo que hace este foro cuando usamos los highlight

Código ASP:
Ver original
  1. <%@LANGUAGE="VBSCRIPT"%>
  2. <% Option Explicit %>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml">
  5. <head>
  6. <meta name="http-equiv" content="Content-type: text/html; charset=UTF-8"/>
  7. <title></title>
  8. <style type="text/css">
  9. .contenedor {
  10. background: #EEEEEE;
  11. border:1px solid rgb(120,120,120);
  12. width:400px;
  13. overflow:auto;
  14. }
  15.  
  16. #lenguaje {
  17. background: orange;
  18. font: 12px verdana;
  19. color: #000000;
  20. padding-left: 4px;
  21. width:100px;
  22. height:18px;
  23. }
  24.  
  25. .contenido1, .contenido2 {
  26. font: 12px monospace;
  27. color: #000000;
  28. padding-top: 1px;
  29. padding-bottom: 1px;
  30. }
  31.  
  32. .contenido1 {
  33. background: #FFFFFF;
  34. }
  35.  
  36. .contenido2 {
  37. background: transparent;
  38. }
  39. </style>
  40. </head>
  41. <body>
  42. <%
  43. Function EnvuelveCod(cadena)
  44. Dim Reg1, RempCorchete, Reg2, RempEtiquetas, Reg3, RempLengaje, arrlang, contador, arretiqueta
  45. Dim enumeraYcolorea_linea, n, encabezado, array_codigo, i, resto, estilo, RempSaltoLinea
  46.  
  47. ' Cambia caracteres especiales por sus entidades HTML
  48. cadena = Server.HTMLEncode(cadena)
  49. cadena = Replace(cadena, "<", "&lt;", 1, -1, 1)
  50. cadena = Replace(cadena, ">", "&gt;", 1, -1, 1)
  51. cadena = Replace(cadena, "{", "{", 1, -1, 1)
  52. cadena = Replace(cadena, "}", "}", 1, -1, 1)
  53. cadena = Replace(cadena, "$", "$", 1, -1, 1)
  54. cadena = Replace(cadena, "%", "%", 1, -1, 1)
  55. cadena = Replace(cadena, "(", "(", 1, -1, 1)
  56. cadena = Replace(cadena, ")", ")", 1, -1, 1)
  57. cadena = Replace(cadena, "\", "\", 1, -1, 1)
  58. cadena = Replace(cadena, "|", "|", 1, -1, 1)
  59. cadena = Replace(cadena, ":", ":", 1, -1, 1)
  60. cadena = Replace(cadena, "?", "?", 1, -1, 1)
  61. cadena = Replace(cadena, "¿", "&iquest;", 1, -1, 1)
  62. cadena = Replace(cadena, "!", "!", 1, -1, 1)
  63. cadena = Replace(cadena, "+", "+", 1, -1, 1)
  64. cadena = Replace(cadena, "*", "*", 1, -1, 1)
  65. cadena = Replace(cadena, ",", ",", 1, -1, 1)
  66. cadena = Replace(cadena, "-", "-", 1, -1, 1)
  67. cadena = Replace(cadena, "_", "_", 1, -1, 1)
  68. cadena = Replace(cadena, "=", "=", 1, -1, 1)
  69. cadena = Replace(cadena, "'", "'", 1, -1, 1)
  70. cadena = Replace(cadena, ".", ".", 1, -1, 1)
  71. cadena = Replace(cadena, "^", "^", 1, -1, 1)
  72. cadena = Replace(cadena,"¡","&iexcl;", 1, -1, 1)
  73. cadena = Replace(cadena,"ñ","&ntilde;", 1, -1, 1)
  74. cadena = Replace(cadena,"Ñ","&Ntilde;", 1, -1, 1)
  75. cadena = Replace(cadena,"á","&aacute;", 1, -1, 1)
  76. cadena = Replace(cadena,"Á","&Aacute;", 1, -1, 1)
  77. cadena = Replace(cadena,"é","&eacute;", 1, -1, 1)
  78. cadena = Replace(cadena,"É","&Eacute;", 1, -1, 1)
  79. cadena = Replace(cadena,"í","&iacute;", 1, -1, 1)
  80. cadena = Replace(cadena,"Í","&Iacute;", 1, -1, 1)
  81. cadena = Replace(cadena,"ó","&oacute;", 1, -1, 1)
  82. cadena = Replace(cadena,"Ó","&Oacute;", 1, -1, 1)
  83. cadena = Replace(cadena,"ú","&uacute;", 1, -1, 1)
  84. cadena = Replace(cadena,"Ú","&Uacute;", 1, -1, 1)
  85. cadena = Replace(cadena , "&quot;", """", 1, -1, 1)
  86.  
  87. ' Reemplaza los corchetes por entidades cuendo no equivalen a las etiquetas de código
  88. Set Reg1= New RegExp
  89. Reg1.IgnoreCase = True
  90. Reg1.Global = True
  91. Reg1.Pattern = "\[(?!(\/*)code)(.*)(\])"
  92. RempCorchete = Reg1.Replace(cadena, "[$2]")
  93.  
  94. ' Este reemplazo hay que hacerlo aquí, para que no afecte al cierre de las etiquetas
  95. cadena = Replace(RempCorchete, "/", "/", 1, -1, 1)
  96.  
  97. ' Reemplaza las etiquetas de código por el caracter "|". Se puede escoger cualquier otro caracter
  98. Set Reg2= New RegExp
  99. Reg2.IgnoreCase = True
  100. Reg2.Global = True
  101. Reg2.Pattern = "(\r?[^a-z0-9&]?\[.*?\]\r?[^a-z0-9&]?)"
  102. RempEtiquetas = Reg2.Replace(cadena, "|")
  103.  
  104. ' Reemplaza las etiquetas de códogo y todo el texto que no está envuelto en ellas.
  105. ' Solo mantenemos el lenguaje (atributo) de las etiquetas en caso que lo tengan y se le añade el caracter "|" .
  106. ' Se puede escoger cualquier otro caracter
  107. Set Reg3= New RegExp
  108. Reg3.IgnoreCase = True
  109. Reg3.Global = True
  110. Reg3.Pattern = "([^\[]*)(\[(?:[^""\]]+))([""]?)(\s*)(.*?)\4\3(\][^\[]*)(\[[^\[]+)"
  111. RempLengaje = Reg3.Replace(cadena, "$5|")
  112.  
  113. ' Separamos el lenguaje
  114. arrlang = Split(Trim(RempLengaje),"|")
  115.  
  116. contador = 0
  117.  
  118. ' Este reemplazo hay que hacerlo aquí
  119. RempEtiquetas = Replace(RempEtiquetas, """", "&quot;", 1, -1, 1)
  120.  
  121. ' Separamos el texto plano del código
  122. arretiqueta = Split(RempEtiquetas,"|")
  123.             enumeraYcolorea_linea = ""
  124.  
  125.     For n = 0 to UBound(arretiqueta)
  126.         ' Es texto plano
  127.         IF (Int(n) mod 2 = 0 ) then
  128.             enumeraYcolorea_linea = enumeraYcolorea_linea & arretiqueta(n)
  129.        
  130.         ' Es código
  131.         ELSE
  132.             ' En la etiqueta de código no se especifica lenguaje
  133.             If (arrlang(contador) = "" or arrlang(contador) = null) then
  134.             encabezado = ""
  135.              ' Se especifica lenguaje
  136.             Else
  137.             encabezado = "<div id=""lenguaje"">" & arrlang(contador) & "</div>"
  138.             End If
  139. contador = contador +1
  140.             enumeraYcolorea_linea = enumeraYcolorea_linea & "<pre><div class=""contenedor"">" & encabezado & "<ol type=""1"">"
  141.  
  142.             array_codigo = Split(arretiqueta(n), vbCrLf) ' Dividimos cada linea de código
  143.  
  144.         For i = 0 to UBound(array_codigo)
  145.             resto = (abs(i) mod 2)
  146.             select Case resto ' Coloreamos cada linea
  147.                     case 0: estilo = "contenido1"
  148.                    case 1: estilo = "contenido2"
  149.             end select
  150.             enumeraYcolorea_linea = enumeraYcolorea_linea & "<li class="""&estilo&""">" &  array_codigo(i) & "</li>"
  151.         Next 'i
  152.             enumeraYcolorea_linea = enumeraYcolorea_linea & "</ol></div></pre>"
  153.  
  154.         END IF
  155.     Next 'n
  156.  
  157. ' Reemplamos los saltos de linea
  158. RempSaltoLinea = Replace(enumeraYcolorea_linea, vbCrLf, "<br />" & vbCrLf, 1, -1, 1)
  159.  
  160. Set RempLengaje = Nothing
  161. Set RempEtiquetas = Nothing
  162. Set RempCorchete = Nothing
  163. EnvuelveCod = RempSaltoLinea
  164. End Function
  165.  
  166.  
  167. ' Función para subir a la bd el html generado
  168. Response.Write EnvuelveCod(Trim(Request.Form("txtarea")))
  169.  
  170. ' Recibe el html de la bd
  171. ' Response.Write Request.Form("txtarea")
  172. %>
  173. </body>
  174. </html>

Uso


Cita:

Código montado por [Adler]
[cod e="javascript"]funcion funcion() {
document.write ("hola");
}[/cod e]

Las etiquetas de código pueden contener el lenguaje usado o no

[cod e="php"]<?php
$arr = Array(1,2,3,"a");
echo $arr[0];
?>
[/cod e]

[cod e]<%
Dim bienvenida
bienvenida = "mundo"
response.write "hola" & bienvenida
%>
[/cod e]

También podemos hacer que no se ejecuten las entidades HTML

[cod e="php"]
<?php
$cadena = str_replace("<", "&lt;", $cadena);
$cadena = str_replace(">", "&gt;", $cadena);
$cadena = str_replace("{", "& #123;", $cadena);
$cadena = str_replace("}", "& #125;", $cadena);
$cadena = str_replace("$", "& #36;", $cadena);
$cadena = str_replace("%", "& #37;", $cadena);
$cadena = str_replace("(", "& #40;", $cadena);
$cadena = str_replace(")", "& #41;", $cadena);
$cadena = str_replace("\\", "& #92;", $cadena);
$cadena = str_replace("|", "& #124;", $cadena);
$cadena = str_replace(":", "& #58;", $cadena);
$cadena = str_replace("?", "& #63;", $cadena);
$cadena = str_replace("¿", "&iquest;", $cadena);
$cadena = str_replace("!", "& #33;", $cadena);
$cadena = str_replace("+", "& #43;", $cadena);
$cadena = str_replace("*", "& #42;", $cadena);
$cadena = str_replace(",", "& #44;", $cadena);
$cadena = str_replace("-", "& #45;", $cadena);
$cadena = str_replace("_", "& #95;", $cadena);
$cadena = str_replace("=", "& #61;", $cadena);
$cadena = str_replace("'", "& #39;", $cadena);
$cadena = str_replace(".", "& #46;", $cadena);
$cadena = str_replace("^", "& #94;", $cadena);
$cadena = str_replace("¡","&iexcl;", $cadena);
$cadena = str_replace("ñ","&ntilde;", $cadena);
$cadena = str_replace("Ñ","&Ntilde;", $cadena);
$cadena = str_replace("á","&aacute;", $cadena);
$cadena = str_replace("Á","&Aacute;", $cadena);
$cadena = str_replace("é","&eacute;", $cadena);
$cadena = str_replace("É","&Eacute;", $cadena);
$cadena = str_replace("í","&iacute;", $cadena);
$cadena = str_replace("Í","&Iacute;", $cadena);
$cadena = str_replace("ó","&oacute;", $cadena);
$cadena = str_replace("Ó","&Oacute;", $cadena);
$cadena = str_replace("ú","&uacute;", $cadena);
$cadena = str_replace("Ú","&Uacute;", $cadena);
?>
[/cod e]

Suerte


La zona horaria es GMT -6. Ahora son las 13:16.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.