<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" ><channel><title>Deambulando &#187; ASP</title> <atom:link href="http://www.deambulando.com/category/asp/feed/" rel="self" type="application/rss+xml" /><link>http://www.deambulando.com</link> <description>Imágenes, música, vídeos y mucho más!</description> <lastBuildDate>Thu, 18 Mar 2010 07:48:22 +0000</lastBuildDate> <generator>http://wordpress.org/?v=2.9.2</generator> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>En horario de oficina, función ASP</title><link>http://www.deambulando.com/2008/08/08/en-horario-de-oficina-funcion-asp/</link> <comments>http://www.deambulando.com/2008/08/08/en-horario-de-oficina-funcion-asp/#comments</comments> <pubDate>Fri, 08 Aug 2008 10:01:39 +0000</pubDate> <dc:creator>deambulando</dc:creator> <category><![CDATA[ASP]]></category> <category><![CDATA[Programación]]></category><guid isPermaLink="false">http://www.deambulando.com/?p=2060</guid> <description><![CDATA[Función de asp que nos devuelve verdadero o falso, en el caso que estes en horario o no, útil para mostrar un contenido en algunas horas o no, por ejemplo un chat de empresa que sólo estará disponible en horario laboral ;) function enHorarioOficina()&#8216;devuelve si estamos en el horario de oficina o no dim inicioMan,finMan,inicioTarde,finTarde,diaInicio,diaFin,hora,dia dia=weekday(date()) hora=hour(time)&#8217;parametros para configurar [...]]]></description> <content:encoded><![CDATA[<p>Función de <a href="http://www.deambulando.com/category/asp/" target="_blank">asp</a> que nos devuelve verdadero o falso, en el caso que estes en horario o no, útil para mostrar un contenido en algunas horas o no, por ejemplo un chat de empresa que sólo estará disponible en horario laboral ;)</p><p><span><span style="font-family: Verdana;"><strong>function enHorarioOficina()</strong>&#8216;devuelve si estamos en el horario de oficina o no<br /> dim inicioMan,finMan,inicioTarde,finTarde,diaInicio,diaFin,hora,dia<br /> dia=weekday(date())<br /> hora=hour(time)&#8217;parametros para configurar según tu empresa<br /> inicioMan=10&#8242;inicio en la mañana<br /> finMan=14&#8242;fin de la mañana<br /> inicioTarde=15&#8242;inicio trabajo tarde<br /> finTarde=19&#8242;fin del trabajo<br /> diaInicio=2&#8242;lunes inicio de la semana<br /> diaFin=6&#8242;viernes fin de la semana laboral<br /> enHorarioOficina=false&#8217;suponemos que no esta en horario</span></span></p><p>if (dia&gt;=diaInicio and dia&lt;=diaFin) and ((hora&gt;=inicioMan and hora&lt;finMan) or (hora&gt;=inicioTarde and hora&lt;finTarde)) then &#8216; si esta en el intervalo<br /> enHorarioOficina=true&#8217;esta en horario<br /> end if</p><p><strong>end function</strong></p> ]]></content:encoded> <wfw:commentRss>http://www.deambulando.com/2008/08/08/en-horario-de-oficina-funcion-asp/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Función reemplazar para ASP</title><link>http://www.deambulando.com/2008/07/28/reemplazar-asp/</link> <comments>http://www.deambulando.com/2008/07/28/reemplazar-asp/#comments</comments> <pubDate>Mon, 28 Jul 2008 20:46:55 +0000</pubDate> <dc:creator>deambulando</dc:creator> <category><![CDATA[ASP]]></category> <category><![CDATA[Internet]]></category> <category><![CDATA[Programación]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[Tecnologia]]></category><guid isPermaLink="false">http://www.deambulando.com/?p=2012</guid> <description><![CDATA[Pues para hoy otra función ASP, para esta antes necesitaremos la función que nos dice si algo esta vacío. Pero para que es útil esta función si ya existe el replace? Simple, trata hacer un replace sobre algo que es nulo o vacío, y ya vereís por que es util esta función ;) Al grano! function reemplaza(byref origen,byref cad,byref [...]]]></description> <content:encoded><![CDATA[<p>Pues para hoy otra <a href="/category/asp/">función ASP</a>, para esta antes necesitaremos la <a href="http://www.deambulando.com/2008/07/22/esvacio/">función que nos dice si algo esta vacío.</a></p><p>Pero para que es útil esta función si ya existe el replace?</p><p>Simple, trata hacer un replace sobre algo que es nulo o vacío, y ya vereís por que es util esta función ;)</p><p>Al grano!</p><blockquote><p><span><span style="font-family: Verdana;"><strong>function reemplaza(byref origen,byref cad,byref cadReemp)</strong>&#8216;replace mejorado, comprueba si las variables estan vacias<br /> &#8216;1r param= cadena en la que se hace el reemplazo,<br /> &#8216;2º param, cadena a buscar<br /> &#8216;3º cadena por la que reemplazar<br /> if not esVacio(origen) and not esVacio(cad) and not esVacio(cadReemp) then&#8217;si no estan vacias!!!<br /> reemplaza=replace(origen,cad,cadReemp)&#8217;reemplazamos<br /> end if<br /> <strong>end function</strong></span></span></p></blockquote><p>Otra <a href="/category/asp/">función de asp útil</a> para coleccionar ;)</p> ]]></content:encoded> <wfw:commentRss>http://www.deambulando.com/2008/07/28/reemplazar-asp/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Función ASP para saber si una variable esta vacía</title><link>http://www.deambulando.com/2008/07/22/esvacio/</link> <comments>http://www.deambulando.com/2008/07/22/esvacio/#comments</comments> <pubDate>Tue, 22 Jul 2008 20:16:27 +0000</pubDate> <dc:creator>deambulando</dc:creator> <category><![CDATA[ASP]]></category> <category><![CDATA[Programación]]></category><guid isPermaLink="false">http://www.deambulando.com/?p=1985</guid> <description><![CDATA[Es una de estas funciones ASP que tengo que son chorras, pero a su vez muy útil Con esta función nos ahorraremos hacer tres a la vez, comprobaremos que tenga un valor inicial (isEmpty), que no sea null (isNull), o que simplemente este vacía (=&#8221;") aquí  va: function esVacio(byref var)&#8217;chequea que una variable tenga algun valor esVacio=true&#8217;por [...]]]></description> <content:encoded><![CDATA[<p>Es una de estas funciones <a href="http://www.deambulando.com/category/asp/" target="_blank">ASP</a> que tengo que son <a href="http://www.deambulando.com/category/chorradas/" target="_blank">chorras</a>, pero a su vez muy útil</p><p>Con esta función nos ahorraremos hacer tres a la vez, comprobaremos que tenga un valor inicial (isEmpty), que no sea null (isNull), o que simplemente este vacía (=&#8221;") aquí  va:</p><p><span><span style="font-family: Verdana;"> <strong>function esVacio(byref var)&#8217;</strong>chequea que una variable tenga algun valor<br /> esVacio=true&#8217;por defecto pensamos que esta vacia</span></span></p><p>if not isEmpty(var) and not isnull(var) and var&lt;&gt;&#8221;" then &#8217;si esta declarada, no es null, y tiene valor<br /> esVacio=false    &#8216;no esta vacia!!<br /> end if</p><p><strong>end function</strong></p><p><strong>Uso:</strong><span id="more-1985"></span></p><p>dim casa:casa=&#8221;micasa&#8221;</p><p>if not esVacio(casa) then</p><p style="padding-left: 30px;">response.write &#8220;no esta vacia &#8221; &amp; casa</p><p>end if</p><p>Y ya esta&#8230;por que esto? próximo día tengo otra bonita función :P</p> ]]></content:encoded> <wfw:commentRss>http://www.deambulando.com/2008/07/22/esvacio/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Object Moved &#8211; Asp</title><link>http://www.deambulando.com/2008/04/08/object-moved-asp/</link> <comments>http://www.deambulando.com/2008/04/08/object-moved-asp/#comments</comments> <pubDate>Tue, 08 Apr 2008 16:40:13 +0000</pubDate> <dc:creator>deambulando</dc:creator> <category><![CDATA[ASP]]></category> <category><![CDATA[Programación]]></category> <category><![CDATA[Software]]></category><guid isPermaLink="false">http://www.deambulando.com/2008/04/08/object-moved-asp/</guid> <description><![CDATA[Otro problema con asp con solución encontrada aquí SafeRedir "http://www.motobit.com"Sub SafeRedir(ByVal URL) Response.Buffer = True Response.Status = "302 Object moved" Response.AddHeader "Location", URL Response.Write "&#60;HTML&#62;&#60;Head&#62;" Response.Write "&#60;META HTTP-EQUIV=Refresh CONTENT=""0;URL=" &#38; URL &#38; """&#62;" Response.Write "&#60;Script&#62;window.location='" &#38; URL &#38; "';&#60;/Script&#62;" Response.Write "&#60;/Head&#62;" '  Response.Write "&#60;Body&#62; This page was moved &#60;A [...]]]></description> <content:encoded><![CDATA[<p>Otro problema con asp con solución encontrada <a href="http://www.motobit.com/tips/detpg_RedirObjMoved/" target="_blank">aquí</a></p><pre>SafeRedir <font color="brown">"http://www.motobit.com"</font>

<font color="blue">Sub</font> SafeRedir(<font color="blue">ByVal</font> URL)
  <font color="darkblue">Response.Buffer</font> = <font color="brown">True</font>
  <font color="darkblue">Response.Status</font> = <font color="brown">"302 Object moved"</font>
  <font color="darkblue">Response.AddHeader</font> <font color="brown">"Location"</font>, URL
  <font color="darkblue">Response.Write</font> <font color="brown">"&lt;HTML&gt;&lt;Head&gt;"</font>
  <font color="darkblue">Response.Write</font> <font color="brown">"&lt;META HTTP-EQUIV=Refresh CONTENT="</font><font color="brown">"0;URL="</font> &amp; URL &amp; <font color="brown">""</font><font color="brown">"&gt;"</font>
  <font color="darkblue">Response.Write</font> <font color="brown">"&lt;Script&gt;window.location=<font color="green">'"</font> &amp; URL &amp; <font color="brown">"';&lt;/Script&gt;"</font>
</font>  <font color="darkblue">Response.Write</font> <font color="brown">"&lt;/Head&gt;"</font>
<font color="green">'  <font color="darkblue">Response.Write</font> <font color="brown">"&lt;Body&gt; This page was moved &lt;A href="</font><font color="brown">""</font> &amp; URL &amp; <font color="brown">""</font><font color="brown">"&gt;here&lt;/A&gt;"</font>
</font>  <font color="darkblue">Response.Write</font> <font color="brown">"&lt;/HTML&gt;"</font>
<font color="blue">End Sub</font></pre>]]></content:encoded> <wfw:commentRss>http://www.deambulando.com/2008/04/08/object-moved-asp/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>De número a Letras, Number to words, ASP</title><link>http://www.deambulando.com/2008/03/21/de-numero-a-letras-number-to-words-asp/</link> <comments>http://www.deambulando.com/2008/03/21/de-numero-a-letras-number-to-words-asp/#comments</comments> <pubDate>Fri, 21 Mar 2008 09:22:23 +0000</pubDate> <dc:creator>deambulando</dc:creator> <category><![CDATA[ASP]]></category> <category><![CDATA[Internet]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[Tecnologia]]></category><guid isPermaLink="false">http://www.deambulando.com/2008/03/21/de-numero-a-letras-number-to-words-asp/</guid> <description><![CDATA[Basado en http://www.forosdelweb.com/f15/funcion-para-convertir-numeros-letras-387197/ &#160; Modifico la función para que muestre también con palabras los decimales ;), y alguna optimización. &#60;% response.Write number2word(1000.101) output: mil con diez function number2word(byval numero)&#8217;convierte un número a palabras Dim decimales number2word=oneNumberToWord(Cdbl(Int(numero)))&#8217;lo pasamos a palabras decimales = (numero &#8211; Cdbl(Int(numero))) * 100&#8242;obtenemos si tenia decimales If decimales &#60;&#62; 0 Then number2word = number2word &#38; &#8221; con &#8221; &#38; CStr(oneNumberToWord(Round(decimales))) &#8217;si tiene [...]]]></description> <content:encoded><![CDATA[<p id="mb_0">Basado en <a href="http://www.forosdelweb.com/f15/funcion-para-convertir-numeros-letras-387197/" onclick="return top.js.OpenExtLink(window,event,this)" target="_blank">http://www.forosdelweb.com/f15<wbr></wbr>/funcion-para-convertir<wbr></wbr>-numeros-letras-387197/</a></p><p id="mb_0">&nbsp;</p><p id="mb_0">Modifico la función para que muestre también con palabras los decimales ;), y alguna optimización.</p><p id="mb_0">&lt;%<br /> response.Write number2word(1000.101)</p><p id="mb_0">output: mil con diez</p><p>function number2word(byval numero)&#8217;convierte un número a palabras<br /> Dim decimales</p><p>number2word=oneNumberToWord<wbr></wbr>(Cdbl(Int(numero)))&#8217;lo pasamos a palabras</p><p>decimales = (numero &#8211; Cdbl(Int(numero))) * 100&#8242;obtenemos si tenia decimales<br /> If decimales &lt;&gt; 0 Then number2word = number2word &amp; &#8221; con &#8221; &amp; CStr(oneNumberToWord(Round<wbr></wbr>(decimales))) &#8217;si tiene decimales convertimos los decimales a palabras</p><p>end function<span id="more-1790"></span></p><p>Function oneNumberToWord(pnumero)&#8217;un número simple sin decimales a palabras</p><p>Dim xcen(9) &#8216;centenas<br /> Dim xdec(9) &#8216;decenas<br /> Dim xuni(9) &#8216;unidades<br /> Dim xexc(6) &#8216;except<br /> Dim ceros(9)</p><p>Dim letras,i,c,j,xnumero, xnum,num,digito,numero_ent<wbr></wbr>,entero,temp</p><p>xcen(2) = &#8220;dosc&#8221;<br /> xcen(3) = &#8220;tresc&#8221;<br /> xcen(4) = &#8220;cuatrosc&#8221;<br /> xcen(5) = &#8220;quin&#8221;<br /> xcen(6) = &#8220;seisc&#8221;<br /> xcen(7) = &#8220;setec&#8221;<br /> xcen(8) = &#8220;ochoc&#8221;<br /> xcen(9) = &#8220;novec&#8221;<br /> xdec(2) = &#8220;veinti&#8221;<br /> xdec(3) = &#8220;trei&#8221;<br /> xdec(4) = &#8220;cuare&#8221;<br /> xdec(5) = &#8220;cincue&#8221;<br /> xdec(6) = &#8220;sese&#8221;<br /> xdec(7) = &#8220;sete&#8221;<br /> xdec(8) = &#8220;oche&#8221;<br /> xdec(9) = &#8220;nove&#8221;<br /> xuni(1) = &#8220;uno&#8221;<br /> xuni(2) = &#8220;dos&#8221;<br /> xuni(3) = &#8220;tres&#8221;<br /> xuni(4) = &#8220;cuatro&#8221;<br /> xuni(5) = &#8220;cinco&#8221;<br /> xuni(6) = &#8220;seis&#8221;<br /> xuni(7) = &#8220;siete&#8221;<br /> xuni(8) = &#8220;ocho&#8221;<br /> xuni(9) = &#8220;nueve&#8221;<br /> xexc(1) = &#8220;diez&#8221;<br /> xexc(2) = &#8220;once&#8221;<br /> xexc(3) = &#8220;doce&#8221;<br /> xexc(4) = &#8220;trece&#8221;<br /> xexc(5) = &#8220;catorce&#8221;<br /> xexc(6) = &#8220;quince&#8221;<br /> ceros(1) = &#8220;0&#8243;<br /> ceros(2) = &#8220;00&#8243;<br /> ceros(3) = &#8220;000&#8243;<br /> ceros(4) = &#8220;0000&#8243;<br /> ceros(5) = &#8220;00000&#8243;<br /> ceros(6) = &#8220;000000&#8243;<br /> ceros(7) = &#8220;0000000&#8243;<br /> ceros(8) = &#8220;00000000&#8243;</p><p>c = 1<br /> i = 1<br /> j = 0</p><p>xnumero = cStr(pnumero)<br /> If Cdbl(LTrim(RTrim(pnumero))) &lt; 999999999.99 Then<br /> numero_ent = Cdbl(Int(pnumero))<br /> If Len(numero_ent) &lt; 9 Then<br /> numero_ent = ceros(9 &#8211; Len(numero_ent)) &amp; numero_ent<br /> End If<br /> entero = Cdbl(Int(numero_ent))</p><p>Do While i &lt; 8<br /> temp = 0<br /> num = Cdbl(Mid(numero_ent, i, 3))<br /> xnum = Mid(numero_ent, i, 3)<br /> digito = Cdbl(Mid(xnum, 1, 1))</p><p>&#8216;/* analizo el numero entero de a 3 */<br /> If xnum = &#8220;000&#8243; Then<br /> j = 0<br /> Else<br /> j = 1<br /> If digito &gt; 1 Then<br /> letras = letras &amp; xcen(digito) &amp; &#8220;ientos &#8221;<br /> End If<br /> If Mid(xnum, 1, 1) = &#8220;1&#8243; And Mid(xnum, 2, 2) &lt;&gt; &#8220;00&#8243; Then<br /> letras = letras &amp; &#8220;ciento &#8221;<br /> ElseIf Mid(xnum, 1, 1) = &#8220;1&#8243; Then<br /> letras = letras &amp; &#8220;cien &#8221;<br /> End If</p><p>&#8216;/* analisis de las decenas */<br /> digito = Cdbl(Mid(xnum, 2, 1))<br /> If digito &gt; 2 And Mid(xnum, 3, 1) = &#8220;0&#8243; Then<br /> letras = letras &amp; xdec(digito) &amp; &#8220;nta &#8221;<br /> temp = 1<br /> End If</p><p>If digito &gt; 2 And Mid(xnum, 3, 1) &lt;&gt; &#8220;0&#8243; Then<br /> letras = letras &amp; xdec(digito) &amp; &#8220;nta y &#8221;</p><p>End If</p><p>If digito = 2 And Mid(xnum, 3, 1) = &#8220;0&#8243; Then<br /> letras = letras &amp; &#8220;veinte &#8221;<br /> temp = 1<br /> ElseIf digito = 2 And Mid(xnum, 3, 1) &lt;&gt; &#8220;0&#8243; Then<br /> letras = letras &amp; &#8220;veinti&#8221;</p><p>End If</p><p>If digito = 1 And Mid(xnum, 3, 1) &gt;= &#8220;6&#8243; Then<br /> letras = letras &amp; &#8220;dieci&#8221;<br /> ElseIf digito = 1 And Mid(xnum, 3, 1) &lt; &#8220;6&#8243; Then<br /> letras = letras &amp; xexc(Cdbl(Mid(xnum, 3, 1) + 1))<br /> temp = 1<br /> End If<br /> End If</p><p>if temp = 0 then<br /> &#8216;/* analisis del ultimo digito */<br /> digito = Cdbl(Mid(xnum, 3, 1))<br /> If ((c = 1) Or (c = 2)) And xnum = &#8220;001&#8243; Then<br /> &#8216;letras = letras &amp; &#8220;un&#8221;<br /> Else<br /> If ((c = 1) Or (c = 2)) And xnum &gt;= &#8220;020&#8243; And Mid(xnum, 3, 1) = &#8220;1&#8243; Then<br /> letras = letras &amp; &#8220;un&#8221;<br /> Else<br /> If digito &lt;&gt; 0 Then<br /> letras = letras &amp; xuni(digito)<br /> End If<br /> End If<br /> End If<br /> end if</p><p>If j = 1 And i = 1 And xnum = &#8220;001&#8243; And c = 1 Then<br /> letras = letras &amp; &#8221; millon &#8221;<br /> ElseIf j = 1 And i = 1 And xnum &lt;&gt; &#8220;001&#8243; And c = 1 Then<br /> letras = letras &amp; &#8221; millones &#8221;<br /> ElseIf j = 1 And i = 4 And c = 2 Then<br /> letras = letras &amp; &#8221; mil &#8221;<br /> End If<br /> i = i + 3<br /> c = c + 1<br /> Loop<br /> If letras = &#8220;&#8221; Then<br /> letras = &#8220;cero &#8221;<br /> End If</p><p>End If</p><p>oneNumberToWord = letras<br /> End Function</p><p>%&gt;</p> ]]></content:encoded> <wfw:commentRss>http://www.deambulando.com/2008/03/21/de-numero-a-letras-number-to-words-asp/feed/</wfw:commentRss> <slash:comments>6</slash:comments> </item> <item><title>Obtener último día del mes &#8211; ASP</title><link>http://www.deambulando.com/2008/01/23/obtener-ultimo-dia-del-mes-asp/</link> <comments>http://www.deambulando.com/2008/01/23/obtener-ultimo-dia-del-mes-asp/#comments</comments> <pubDate>Wed, 23 Jan 2008 21:01:05 +0000</pubDate> <dc:creator>deambulando</dc:creator> <category><![CDATA[ASP]]></category> <category><![CDATA[Programación]]></category> <category><![CDATA[dia]]></category> <category><![CDATA[funcion]]></category> <category><![CDATA[getlastmonthday]]></category> <category><![CDATA[Internet]]></category> <category><![CDATA[mes]]></category> <category><![CDATA[ultimo]]></category><guid isPermaLink="false">http://www.deambulando.com/2008/01/23/obtener-ultimo-dia-del-mes-asp/</guid> <description><![CDATA[Pues eso!! le pasas una fecha y te devuelve el último día del mes que puede tener esa fecha ;)Function lastMonthDay(byval sDate)'obtiene el ultimo dia del mes dim nextMonth sDate = DateSerial(Year(sDate), Month(sDate), "01") [...]]]></description> <content:encoded><![CDATA[<p>Pues eso!! le pasas una fecha y te devuelve el último día del mes que puede tener esa fecha ;)<br /> <code><br /> Function lastMonthDay(byval sDate)'obtiene el ultimo dia del mes<br /> dim nextMonth<br /> sDate = DateSerial(Year(sDate), Month(sDate), "01")<br /> nextMonth = DateAdd("m", 1, SDate)<br /> lastMonthDay = Day(DateAdd("d", -1, nextMonth))<br /> End Function<br /> </code></p> ]]></content:encoded> <wfw:commentRss>http://www.deambulando.com/2008/01/23/obtener-ultimo-dia-del-mes-asp/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Evita el SQL injection en ASP</title><link>http://www.deambulando.com/2008/01/16/evita-el-sql-injection-en-asp/</link> <comments>http://www.deambulando.com/2008/01/16/evita-el-sql-injection-en-asp/#comments</comments> <pubDate>Wed, 16 Jan 2008 20:58:48 +0000</pubDate> <dc:creator>deambulando</dc:creator> <category><![CDATA[ASP]]></category> <category><![CDATA[Internet]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[Tecnologia]]></category><guid isPermaLink="false">http://www.deambulando.com/2008/01/16/evita-el-sql-injection-en-asp/</guid> <description><![CDATA[Esta función ya os la presenté anteriormente pero ayer me decidí a mejorarla basándome en este pdffunction limpia(text,encode) dim banned,i limpia=text banned = array("""","'","&#38;","--","select","insert","update","delete","drop") for i = 0 to uBound(banned) limpia = replace(limpia, banned(i),"") next if encode=true then limpia=server.htmlencode(limpia) end if end function ]]></description> <content:encoded><![CDATA[<p>Esta función ya <a href="http://www.deambulando.com/2007/05/07/funciones-utiles-para-asp/#more-898">os la presenté</a> anteriormente pero ayer me decidí a mejorarla basándome en este <a href="http://www.ngssoftware.com/papers/advanced_sql_injection.pdf">pdf</a><br /> <code><br /> function limpia(text,encode)<br /> dim banned,i<br /> limpia=text<br /> banned = array("""","'","&amp;","--","select","insert","update","delete","drop")<br /> for i = 0 to uBound(banned)<br /> limpia = replace(limpia, banned(i),"")<br /> next<br /> if encode=true then<br /> limpia=server.htmlencode(limpia)<br /> end if<br /> end function</code></p> ]]></content:encoded> <wfw:commentRss>http://www.deambulando.com/2008/01/16/evita-el-sql-injection-en-asp/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Funciones para recoger datos ASP</title><link>http://www.deambulando.com/2008/01/15/funciones-para-recoger-datos-asp/</link> <comments>http://www.deambulando.com/2008/01/15/funciones-para-recoger-datos-asp/#comments</comments> <pubDate>Tue, 15 Jan 2008 17:25:33 +0000</pubDate> <dc:creator>deambulando</dc:creator> <category><![CDATA[ASP]]></category> <category><![CDATA[Programación]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[Tecnologia]]></category><guid isPermaLink="false">http://www.deambulando.com/2008/01/15/funciones-para-recoger-datos-asp/</guid> <description><![CDATA[Bueno otro golpe de genialidad como el response.write, pero ahora con el request.querystring y el request.form, harto estaba de escribir esto!! así que monto estas dos chorras/funciones, que ademas me limpian lo que me hayan pasado ;)function rf(s)'hace el request form rf=limpia(request.form(s),false) end functionfunction rq(s)'hace el request query rq=limpia(request.QueryString(s),false) end function ]]></description> <content:encoded><![CDATA[<p>Bueno otro golpe de genialidad como el <a href="http://www.deambulando.com/2007/02/17/rw/" target="_blank">response.write</a>, pero ahora con el request.querystring y el request.form, harto estaba de escribir esto!! así que monto estas dos chorras/funciones, que ademas me <a href="http://www.deambulando.com/2007/05/07/funciones-utiles-para-asp/" target="_blank">limpian</a> lo que me hayan pasado ;)</p><pre lang="asp">
function rf(s)'hace el request form
rf=limpia(request.form(s),false)
end function</pre><pre lang="asp">
function rq(s)'hace el request query
rq=limpia(request.QueryString(s),false)
end function</pre>]]></content:encoded> <wfw:commentRss>http://www.deambulando.com/2008/01/15/funciones-para-recoger-datos-asp/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Meta keywords ASP</title><link>http://www.deambulando.com/2008/01/07/meta-keywords-asp/</link> <comments>http://www.deambulando.com/2008/01/07/meta-keywords-asp/#comments</comments> <pubDate>Mon, 07 Jan 2008 21:57:35 +0000</pubDate> <dc:creator>deambulando</dc:creator> <category><![CDATA[ASP]]></category> <category><![CDATA[Internet]]></category> <category><![CDATA[Programación]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[Tecnologia]]></category><guid isPermaLink="false">http://www.deambulando.com/2008/01/07/meta-keywords-asp/</guid> <description><![CDATA[El otro día expliqué como hacer el meta description de html con ASP (por cierto mejorado), el de keywords no lo he puesto aún por que lo estaba mejorando ;) Lo ideal es pasar le un texto no demasiado largo, yo le paso el description, ya que el meta keyword, cuanto mas parezca al contenido de [...]]]></description> <content:encoded><![CDATA[<p>El otro día expliqué como hacer el <a href="http://www.deambulando.com/2007/12/27/meta-description-asp/" target="_blank">meta description de html con ASP</a> (por cierto mejorado), el de keywords no lo he puesto aún por que lo estaba mejorando ;)</p><p>Lo ideal es pasar le un texto no demasiado largo, yo le paso el description, ya que el meta keyword, cuanto mas parezca al contenido de la web, mucho mejor ;)<br /> <code><br /> function getKeywords(texto)'convierte un texto a keywords<br /> dim i,banned<br /> getKeywords=lcase(texto)'todo a minusuclas<br /> getKeywords=<a href="http://www.deambulando.com/2007/12/20/quitar-etiquetas-html-de-un-texto-asp/" target="_blank">quitarHtml</a>(getKeywords)'quitamos el html<br /> banned    =    array(";",":","."," from "," ante " , " bajo "," cabe "," contra "," desde "," entre "," hacia "," hasta "," para "," según "," sobre "," tras ",",,"," ")'palabras de mas de 3 caracteres que no queremos y los espacios los substituimos por comas<br /> for i = 0 to uBound(banned)<br /> getKeywords = replace(getKeywords, banned(i),",")'reemplazamos<br /> next<br /> getKeywords=delMenoresDe(3,getKeywords,",")'quitamos palabras menores de 3, esto es configurable<br /> getKeywords=delDuplicados(getKeywords,",")'eliminamos las palabras duplicadas<br /> end function</code></p><p>También necesitareis estas tres funciones, la primera elimina todas las palabras menores de X, la segunda las palabras duplicadas, y la tercera te dice si un elemento esta en un array<span id="more-1611"></span><br /> 1.<code><br /> function delMenoresDe(num,str,car)'elimina las palabras menores de num de una cadena STR, las diferencia usando la variable CAR<br /> dim i,arr<br /> arr=split(str,car)'split de str, por el car<br /> for i = 0 to uBound(arr)<br /> if len(arr(i))&gt;num then<br /> delMenoresDe = delMenoresDe  &amp; arr(i) &amp; car'concatenamos con CAR<br /> end if<br /> next<br /> if len(delMenoresDe)&gt;len(car) then delMenoresDe=left(delMenoresDe,len(delMenoresDe)-len(car))'quitamos la ultima posicion y se devuelve<br /> end function<br /> </code><br /> 2.<br /> <code>function delDuplicados(str,car)'elimina palabras duplicadas de una cadena STR, las diferencia usando la variable CAR<br /> dim i,arr<br /> arr=split(str,car)'split de str, por el car<br /> for i = 0 to uBound(arr)<br /> if not enArray(arr(i),split(delDuplicados,car)) then 'si no esta en el delDuplicados, lo concatenamos con el CAR<br /> delDuplicados = delDuplicados  &amp; arr(i) &amp; car'concatenamos con CAR<br /> end if<br /> next<br /> if len(delDuplicados)&gt;len(car) then delDuplicados=left(delDuplicados,len(delDuplicados)-len(car))'quitamos la ultima posicion y se devuelve<br /> end function</code></p><p>3.<code><br /> function enArray(str,arr)'dice si un str, esta en un array<br /> dim i:i=0<br /> enarray=false<br /> while enarray=false and i&lt;=ubound(arr)<br /> if lcase(arr(i))=lcase(str) then 'si se encuentra en el array<br /> enarray=true<br /> end if<br /> i=i+1<br /> wend<br /> end function<br /> </code></p> ]]></content:encoded> <wfw:commentRss>http://www.deambulando.com/2008/01/07/meta-keywords-asp/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Meta description ASP</title><link>http://www.deambulando.com/2007/12/27/meta-description-asp/</link> <comments>http://www.deambulando.com/2007/12/27/meta-description-asp/#comments</comments> <pubDate>Thu, 27 Dec 2007 19:19:28 +0000</pubDate> <dc:creator>deambulando</dc:creator> <category><![CDATA[ASP]]></category> <category><![CDATA[Internet]]></category> <category><![CDATA[Programación]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[Tecnologia]]></category><guid isPermaLink="false">http://www.deambulando.com/2007/12/27/meta-description-asp/</guid> <description><![CDATA[El otro día ya os presente el limpiador de html&#8230;pues mas que nada era para hacer el meta description como dios manda ;)function  getDescriptionMeta(desc)'le pasas un texto y te lo formatea para la descripcion del meta dim i,banned getDescriptionMeta    =    left(desc,200) getDescriptionMeta    =    limpia(getDescriptionMeta,false) getDescriptionMeta  [...]]]></description> <content:encoded><![CDATA[<p>El otro día ya os presente el <a href="http://www.deambulando.com/2007/12/20/quitar-etiquetas-html-de-un-texto-asp/">limpiador de html</a>&#8230;pues mas que nada era para hacer el meta description como dios manda ;)<br /> <code><br /> function  getDescriptionMeta(desc)'le pasas un texto y te lo formatea para la descripcion del meta<br /> dim i,banned<br /> getDescriptionMeta    =    left(desc,200)<br /> getDescriptionMeta    =    limpia(getDescriptionMeta<wbr></wbr>,false)<br /> getDescriptionMeta  =     quitarHtml(getDescriptionMeta)<br /> end function</code></p> ]]></content:encoded> <wfw:commentRss>http://www.deambulando.com/2007/12/27/meta-description-asp/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Quitar etiquetas Html de un texto ASP</title><link>http://www.deambulando.com/2007/12/20/quitar-etiquetas-html-de-un-texto-asp/</link> <comments>http://www.deambulando.com/2007/12/20/quitar-etiquetas-html-de-un-texto-asp/#comments</comments> <pubDate>Thu, 20 Dec 2007 22:01:22 +0000</pubDate> <dc:creator>deambulando</dc:creator> <category><![CDATA[ASP]]></category> <category><![CDATA[Internet]]></category> <category><![CDATA[Programación]]></category> <category><![CDATA[Software]]></category><guid isPermaLink="false">http://www.deambulando.com/2007/12/20/quitar-etiquetas-html-de-un-texto-asp/</guid> <description><![CDATA[Muy útil! Imaginad tenéis un texto con multitud de etiquetas html&#8230;pero claro&#8230;no siempre deben de ser buenas para insertar y mantener una estructura de una web. Pues con esto lo arreglamos :Dfunction quitarHtml(str)'con regex nos cargamos todos los tags html quitarHtml=replaceExpresion(str,"","&#60;[^&#62;]*?&#62;") end functionfunction replaceExpresion(str,reem,pat)'hace un regExp dim oER:set oER = New RegExp oER.Pattern     = pat oER.IgnoreCase   [...]]]></description> <content:encoded><![CDATA[<p>Muy útil!</p><p>Imaginad tenéis un texto con multitud de etiquetas html&#8230;pero claro&#8230;no siempre deben de ser buenas para insertar y mantener una estructura de una web.</p><p>Pues con esto lo arreglamos :D</p><p><code><br /> function quitarHtml(str)'con regex nos cargamos todos los tags html<br /> quitarHtml=replaceExpresion(str,"","&lt;[^&gt;]*?&gt;")<br /> end function</code><br /> <code><br /> function replaceExpresion(str,reem,pat)'hace un regExp<br /> dim oER:set oER = New RegExp<br /> oER.Pattern     = pat<br /> oER.IgnoreCase     = True<br /> oER.Global         = True<br /> replaceExpresion = oER.replace(str, reem)<br /> set oER = nothing<br /> end function</code></p> ]]></content:encoded> <wfw:commentRss>http://www.deambulando.com/2007/12/20/quitar-etiquetas-html-de-un-texto-asp/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>La paradoja Python &#8211; ASP</title><link>http://www.deambulando.com/2007/11/04/la-paradoja-python-asp/</link> <comments>http://www.deambulando.com/2007/11/04/la-paradoja-python-asp/#comments</comments> <pubDate>Sun, 04 Nov 2007 20:01:56 +0000</pubDate> <dc:creator>deambulando</dc:creator> <category><![CDATA[ASP]]></category> <category><![CDATA[Varios]]></category><guid isPermaLink="false">http://www.deambulando.com/2007/11/04/la-paradoja-python-asp/</guid> <description><![CDATA[Primero mi experiencia: Mas vale malo conocido que malo por conocer&#8230;. Y no me refiero a que ASP sea malo, pero en mi caso, es el que mejor conozco y mas rendimiento le saco, de que me serviría programar en otro lenguaje si resulta que no podré sacar el mismo rendimiento, con la perdida de tiempo [...]]]></description> <content:encoded><![CDATA[<p>Primero mi experiencia: <strong>Mas vale malo conocido que malo por conocer</strong>&#8230;.</p><p>Y no me refiero a que ASP sea malo, pero en mi caso, es el que mejor conozco y mas rendimiento le saco, de que me serviría programar en otro lenguaje si resulta que no podré sacar el mismo rendimiento, con la perdida de tiempo que conlleva?</p><p>Y esto la paradoja:</p><blockquote><p> A falta de un nombre mejor lo llamaré la paradoja Python: si una compañía decide escribir su software en un lenguaje poco utilizado comparativamente, serán capaces de contratar a mejores programadores, porque atraerán sólo a aquellos que se molestaron en aprenderlo…</p><p>Hasta ahora sólo unas pocas compañías han sido suficientemente inteligentes para darse cuenta de esto. Pero hay una especie de selección natural trabajando: son exactamente las mismas compañías en las que a los programadores les gustaría trabajar. Google, por ejemplo. Cuando ofertan puestos para programar en Java, también piden experiencia con Python.</p><p>&#8211; Paul Graham</p></blockquote><p>vía <a href="http://mundogeek.net/archivos/2007/10/23/la-paradoja-python/" target="_blank">mundogeek</a></p> ]]></content:encoded> <wfw:commentRss>http://www.deambulando.com/2007/11/04/la-paradoja-python-asp/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Averiguar fechas de Semana Santa &#8211; ASP</title><link>http://www.deambulando.com/2007/10/08/averiguar-fechas-de-semana-santa-asp/</link> <comments>http://www.deambulando.com/2007/10/08/averiguar-fechas-de-semana-santa-asp/#comments</comments> <pubDate>Mon, 08 Oct 2007 20:17:43 +0000</pubDate> <dc:creator>deambulando</dc:creator> <category><![CDATA[ASP]]></category> <category><![CDATA[Programación]]></category> <category><![CDATA[Software]]></category><guid isPermaLink="false">http://www.deambulando.com/2007/10/08/averiguar-fechas-de-semana-santa-asp/</guid> <description><![CDATA[Bueno una función de estas útiles , extraído de la wikipedia y reprogramado por mí xD se usa  isSemanaSanta(&#8220;23/04/2008&#8243;) function isSemanaSanta(Fecha)&#8216;le pasas una fecha y te dice si cae en semana santa dim FechaDomingoSanto,FechaInicio,FechaFin Fecha=cdate(Fecha) FechaDomingoSanto=cdate(obtenerDomingoSanto(year(fecha))) &#8216;para barcelona FechaInicio=dateadd(&#8220;d&#8221;,-2,FechaDomingoSanto)&#8217;acaba en el lunes de pascua FechaFin=dateadd(&#8220;d&#8221;,1,FechaDomingoSanto)&#8217;comienza en viernes santo &#8216;resto españa &#8216;FechaInicio=dateadd(&#8220;d&#8221;,-3,FechaDomingoSanto)&#8217;comienza en jueves santo &#8216;FechaFin=FechaDomingoSanto&#8217;acaba el mismo domingo &#8216;rw FechaInicio &#38; FechaFin if Fecha&#62;=FechaInicio and Fecha&#60;=FechaFin then isSemanaSanta=true&#8217;es semana [...]]]></description> <content:encoded><![CDATA[<p>Bueno una función de estas útiles , extraído de la <a href="http://es.wikipedia.org/wiki/C%C3%A1lculo_de_la_fecha_de_Pascua" target="_blank">wikipedia</a> y reprogramado por mí xD</p><p>se usa  isSemanaSanta(&#8220;23/04/2008&#8243;)</p><p><strong>function isSemanaSanta(Fecha)</strong>&#8216;le pasas una fecha y te dice si cae en semana santa<br /> dim FechaDomingoSanto,FechaInicio,FechaFin</p><p>Fecha=cdate(Fecha)<br /> FechaDomingoSanto=cdate(obtenerDomingoSanto(year(fecha)))<br /> &#8216;para barcelona<br /> FechaInicio=dateadd(&#8220;d&#8221;,-2,FechaDomingoSanto)&#8217;acaba en el lunes de pascua<br /> FechaFin=dateadd(&#8220;d&#8221;,1,FechaDomingoSanto)&#8217;comienza en viernes santo<br /> &#8216;resto españa<br /> &#8216;FechaInicio=dateadd(&#8220;d&#8221;,-3,FechaDomingoSanto)&#8217;comienza en jueves santo<br /> &#8216;FechaFin=FechaDomingoSanto&#8217;acaba el mismo domingo<br /> &#8216;rw FechaInicio &amp; FechaFin<br /> if Fecha&gt;=FechaInicio and Fecha&lt;=FechaFin then<br /> isSemanaSanta=true&#8217;es semana santa<br /> else<br /> isSemanaSanta=false&#8217;sino esta en rango no es semana santa<br /> end if</p><p><strong>end function</strong><span id="more-1338"></span><br /> <strong> function obtenerDomingoSanto(anno)</strong>&#8216;rw obtenerDomingoSanto(1928)<br /> &#8216;formula obtenida de http://es.wikipedia.org/wiki/C%C3%A1lculo_de_la_fecha_de_Pascua<br /> dim M,N,a,b,c,d,e,mes,dia<br /> &#8216;Constantes mágicas según artículo<br /> anno=cint(anno)<br /> if anno&gt;=1583 and anno&lt;=1699 then<br /> M=22<br /> N=2<br /> elseif anno&gt;=1700 and anno&lt;=1799 then<br /> M=23<br /> N=3<br /> elseif anno&gt;=1800 and anno&lt;=1899 then<br /> M=23<br /> N=4<br /> elseif anno&gt;=1900 and anno&lt;=2099 then<br /> M=24<br /> N=5<br /> elseif anno&gt;=2100 and anno&lt;=2199 then<br /> M=24<br /> N=6<br /> elseif anno&gt;=2200 and anno&lt;=2299 then<br /> M=25<br /> N=0<br /> end if</p><p>&#8216;Cálculo de residuos<br /> a = anno mod 19<br /> b = anno mod 4<br /> c = anno mod 7<br /> d = (19*a + M) mod 30<br /> e = (2*b+4*c+6*d + N) mod 7</p><p>&#8216;Decidir entre los 2 casos:<br /> if d+e &lt; 10  then<br /> dia = d+e+22<br /> mes = 03<br /> else<br /> dia = d+e-9<br /> mes = 04<br /> end if</p><p>&#8216;Excepciones especiales (según artículo)<br /> if dia = 26  and mes = 04 then dia = 19<br /> if dia = 25 and mes = 04 and d=28 and e = 6 and a &gt;10 then dia = 18</p><p>obtenerDomingoSanto=dateserial(anno,mes,dia)</p><p><strong>end function</strong></p> ]]></content:encoded> <wfw:commentRss>http://www.deambulando.com/2007/10/08/averiguar-fechas-de-semana-santa-asp/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Ordenar Matriz</title><link>http://www.deambulando.com/2007/07/31/ordenar-matriz/</link> <comments>http://www.deambulando.com/2007/07/31/ordenar-matriz/#comments</comments> <pubDate>Tue, 31 Jul 2007 19:34:00 +0000</pubDate> <dc:creator>deambulando</dc:creator> <category><![CDATA[ASP]]></category> <category><![CDATA[Programación]]></category><guid isPermaLink="false">http://www.deambulando.com/2007/07/31/ordenar-matriz/</guid> <description><![CDATA[Una función que he desarrollado, supongo que muy útil, se le pasa una matriz, el campo por el que lo queremos ordenar, y el orden, et tachán!!! uso: matriz=orderMatrixBy(matriz,1,&#8221;asc&#8221;) function orderMatrixBy(matriz,campo,orden)&#8217;se pasa una matriz, el campoa ordenar, y el tipo de orden, y nos devuelve el array ordenado!! if isarray(matriz)=true and isnumeric(campo)=true then dim i,j,aux,total,totalCampos total=ubound(matriz,2)-1&#8242;total registros a recorrer, el [...]]]></description> <content:encoded><![CDATA[<p>Una función que he desarrollado, supongo que muy útil, se le pasa una matriz, el campo por el que lo queremos ordenar, y el orden, et tachán!!!</p><p>uso: matriz=orderMatrixBy(matriz,1,&#8221;asc&#8221;)</p><p style="direction:ltr;"><strong>function orderMatrixBy(matriz,campo</strong><strong>,orden)</strong>&#8217;se pasa una matriz, el campoa ordenar, y el tipo de orden, y nos devuelve el array ordenado!!</p><p>if isarray(matriz)=true and isnumeric(campo)=true then<br /> dim i,j,aux,total,totalCampos<br /> total=ubound(matriz,2)-1&#8242;total registros a recorrer, el -1 es por que se evita a llegar hasta el ultimo<br /> totalCampos=Ubound(matriz, 1)&#8217;total de campos<br /> redim aux(totalCampos)&#8217;el vector auxiliar para guardar la posicion de la matriz<br /> dim desordenado:desordenado=true</p><p>if cint(campo)&lt;=totalCampos then&#8217;si el campo que se le pasa es menor que o igual al total de campos</p><p>while desordenado&#8217;mientras este desordenado&#8230;.<br /> desordenado=false&#8217;le decimos que se ha ordenado</p><p>for i= 0 to total&#8217;recorremos todo el array<br /> if (orden=&#8221;asc&#8221; and matriz(campo,i)&gt;matriz(campo,i+1)) or (orden=&#8221;desc&#8221; and matriz(campo,i)&lt;matriz(campo,i +1)) then&#8217;si se tiene que ordenar<br /> for J = 0 to totalCampos&#8217;movemos toda la posicion de la matriz a un vector auxilias<br /> aux(j)=matriz(j,i)<br /> next</p><p>for J = 0 to totalCampos&#8217;la posicion + 1 a la anterior<br /> matriz(j,i)=matriz(j,i+1)<br />                        next</p><p>for J = 0 to totalCampos&#8217;la posicion anterior guardada en aux en la posicion mas 1<br /> matriz(j,i+1)=aux(j)<br /> next<br /> desordenado=true&#8217;sigue desordenado<br /> end if<br /> next<br /> wend</p><p>end if</p><p>redim aux(0)&#8217;no lo usaremos mas</p><p>end if</p><p>orderMatrixBy=matriz&#8217;devolvemos la matriz</p><p><strong>end function</strong></p><p></p> ]]></content:encoded> <wfw:commentRss>http://www.deambulando.com/2007/07/31/ordenar-matriz/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>PrinttableXML ASP</title><link>http://www.deambulando.com/2007/07/26/printtablexml-asp/</link> <comments>http://www.deambulando.com/2007/07/26/printtablexml-asp/#comments</comments> <pubDate>Thu, 26 Jul 2007 20:03:17 +0000</pubDate> <dc:creator>deambulando</dc:creator> <category><![CDATA[ASP]]></category> <category><![CDATA[Programación]]></category><guid isPermaLink="false">http://www.deambulando.com/2007/07/26/printtablexml-asp/</guid> <description><![CDATA[Lo prometido es deuda, una función que pasandole el sql te devuelve el xml, así de fácil, ademas optimizado mega rápido!!! fium fium function printtableXml(sql)&#8217;se le pasa un string sql, e devuelve en Response.ContentType = &#8220;text/xml&#8221; dim rs,i,j,tabla,campos set rs = openRS (&#8220;&#8221;, sql) response.write &#8220;&#8221; if not rs.eof then redim campos(rs.fields.Count &#8211; 1) for i = 0 to rs.fields.Count &#8211; 1 campos(i)=rs.fields(i).name next tabla=rs.getrows i=0:j=0 for I [...]]]></description> <content:encoded><![CDATA[<p>Lo prometido es deuda, una función que pasandole el sql te devuelve el xml, así de fácil, ademas optimizado mega rápido!!! fium fium</p><p>function printtableXml(sql)&#8217;se le pasa un string sql, e devuelve en<br /> Response.ContentType = &#8220;text/xml&#8221;</p><p>dim rs,i,j,tabla,campos<br /> set rs = openRS (&#8220;&#8221;, sql)</p><p>response.write &#8220;&#8221;<br /> if not rs.eof then<br /> redim campos(rs.fields.Count &#8211; 1)<br /> for i = 0 to rs.fields.Count &#8211; 1<br /> campos(i)=rs.fields(i).name<br /> next<br /> tabla=rs.getrows</p><p>i=0:j=0<br /> for I = 0 to UBound(Tabla,2)<br /> response.write &#8221;<br /> for J = 0 to Ubound(Tabla, 1)&#8217;Imprimo una celda para<br /> cada campo<br /> Response.Write campos(j) &amp; &#8220;=&#8221;"&#8221; &amp; Tabla(J, I) &amp; &#8220;&#8221;" &#8221;<br /> next<br /> response.write &#8220;/&gt;&#8221;<br /> next</p><p>end if<br /> response.write &#8220;&#8221;</p><p>closeRS(rs)<br /> end function</p> ]]></content:encoded> <wfw:commentRss>http://www.deambulando.com/2007/07/26/printtablexml-asp/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using xcache (user agent is rejected)
Database Caching 34/107 queries in 0.820 seconds using xcache
Content Delivery Network via Amazon Web Services: S3: deambulando.s3.amazonaws.com

Served from: www.deambulando.com @ 2010-03-18 23:09:51 -->