<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[风之相随'S BLOG - ASP]]></title>
<link>http://www.windsfly.cn/blog/</link>
<description><![CDATA[做我所想，想我所做，做最好的自己。（Do my think，think my do，do best of myself。）]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog2 v2.4]]></copyright>
<webMaster><![CDATA[sf223cn@yahoo.com.cn(风之相随)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>风之相随&#39;S BLOG</title> 
	<url>http://www.windsfly.cn/blog/images/logos.gif</url> 
	<link>http://www.windsfly.cn/blog/</link> 
	<description>风之相随&#39;S BLOG</description> 
</image>

			<item>
			<link>http://www.windsfly.cn/blog/default.asp?id=2020</link>
			<title><![CDATA[asp域名查询代码]]></title>
			<author>sf223cn@yahoo.com.cn(admin)</author>
			<category><![CDATA[ASP]]></category>
			<pubDate>Tue,07 Sep 2010 17:49:50 +0800</pubDate>
			<guid>http://www.windsfly.cn/blog/default.asp?id=2020</guid>	
		<description><![CDATA[以前有了一个asp域名查询程序，使用的是万网提供的接口，也不知道是什么原因，现在不能使用了。<br/>现在重新写了这个ASP域名查询程序，使用的是一个国外的网站www.checkdomain.com提供的接口，已经通过我的测试，可以正常查询。<br/><br/>源码下载地址：<a href="http://www.aspprogram.cn/soft.asp?id=51" target="_blank">http://www.aspprogram.cn/soft.asp?id=51</a><br/><br/>index.asp<br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.windsfly.cn/blog/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&lt;html&gt;<br/>&lt;title&gt;ASP域名查询&lt;/title&gt;<br/>&lt;style&gt;<br/>body td {<br/>font-size:12px;<br/>}<br/>&lt;/style&gt;<br/>&lt;body&gt;<br/><br/>&lt;table width=&#34;400&#34; height=&#34;126&#34; border=&#34;0&#34; align=&#34;center&#34; cellpadding=&#34;0&#34; cellspacing=&#34;0&#34;&gt; <br/>&lt;form name=&#34;form1&#34; method=&#34;post&#34; action=&#34;search.asp&#34;&gt; <br/>&lt;tr&gt; <br/>&lt;td colspan=&#34;2&#34; align=&#34;center&#34;&gt;&lt;strong&gt;域名查询系统&lt;/strong&gt;&lt;/td&gt; <br/>&lt;/tr&gt; <br/>&lt;tr&gt; <br/>&lt;td width=&#34;269&#34; align=&#34;right&#34; valign=&#34;middle&#34;&gt;www.<br/>&nbsp;&nbsp; &lt;input name=&#34;dns&#34; type=&#34;text&#34; id=&#34;dns&#34;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/td&gt; <br/>&lt;td width=&#34;125&#34;&gt;&lt;input type=&#34;submit&#34; name=&#34;Submit&#34; value=&#34;查询&#34;&gt;&lt;/td&gt; <br/>&lt;/tr&gt; <br/>&lt;tr&gt; <br/>&lt;td height=&#34;55&#34; colspan=&#34;2&#34; align=&#34;center&#34;&gt;<br/>&lt;table width=&#34;80%&#34; border=&#34;0&#34;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td align=&#34;left&#34;&gt;&lt;input name=&#34;ext&#34; type=&#34;checkbox&#34; id=&#34;checkbox&#34; value=&#34;com&#34; checked&gt;<br/>.com &lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td align=&#34;left&#34;&gt;&lt;input name=&#34;ext&#34; type=&#34;checkbox&#34; id=&#34;ext&#34; value=&#34;cn&#34;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .cn &lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td align=&#34;left&#34;&gt;&lt;input name=&#34;ext&#34; type=&#34;checkbox&#34; id=&#34;ext&#34; value=&#34;net&#34;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .net&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td align=&#34;left&#34;&gt;&lt;input name=&#34;ext&#34; type=&#34;checkbox&#34; id=&#34;ext&#34; value=&#34;org&#34;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .org &lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td align=&#34;left&#34;&gt;&lt;input name=&#34;ext&#34; type=&#34;checkbox&#34; id=&#34;ext&#34; value=&#34;com.cn&#34;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .com.cn&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td align=&#34;left&#34;&gt;&lt;input type=&#34;checkbox&#34; name=&#34;ext&#34; value=&#34;net.cn&#34;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .net.cn &lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td align=&#34;left&#34;&gt;&lt;input name=&#34;ext&#34; type=&#34;checkbox&#34; id=&#34;ext&#34; value=&#34;org.cn&#34;&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .org.cn &lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td align=&#34;left&#34;&gt;&lt;input name=&#34;ext&#34; type=&#34;checkbox&#34; id=&#34;ext&#34; value=&#34;gov.cn&#34;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .gov.cn &lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp; &lt;/table&gt;&lt;/td&gt; <br/>&lt;/tr&gt; <br/>&lt;/form&gt;<br/>&lt;/table&gt; <br/>&lt;/body&gt;<br/>&lt;/html&gt;</div></div><br/><br/>search.asp<br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.windsfly.cn/blog/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&lt;style&gt;<br/>body {font-size:12px;}<br/>&lt;/style&gt;<br/>&lt;%<br/>On Error Resume Next<br/>Server.ScriptTimeOut=9999999<br/>Function getHTTPPage(Path)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = GetBody(Path)<br/>&nbsp;&nbsp; getHTTPPage=BytesToBstr(t,&#34;GB2312&#34;)<br/>End function<br/><br/>Function GetBody(url) <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; on error resume next<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set Retrieval = Cr&#101;ateObject(&#34;Microsoft.XMLHTTP&#34;) <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; With Retrieval <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .Open &#34;Get&#34;, url, False, &#34;&#34;, &#34;&#34; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .Send <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GetBody = .ResponseBody<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End With <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set Retrieval = Nothing <br/>End Function<br/><br/>Function BytesToBstr(body,Cset)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dim objstream<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set objstream = Server.Cr&#101;ateObject(&#34;adodb.stream&#34;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objstream.Type = 1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objstream.Mode =3<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objstream.Open<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objstream.Write body<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objstream.Position = 0<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objstream.Type = 2<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objstream.Charset = Cset<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BytesToBstr = objstream.ReadText <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objstream.Close<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set objstream = nothing<br/>End Function<br/>%&gt;<br/>&lt;%<br/>&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;<br/>&#39; 功&nbsp;&nbsp;&nbsp;&nbsp; 能：查询域名是否被注册<br/>&#39; 作&nbsp;&nbsp;&nbsp;&nbsp; 者：wangsdong<br/>&#39; 网&nbsp;&nbsp;&nbsp;&nbsp; 站: <a href="http://www.aspprogram.cn" target="_blank">http://www.aspprogram.cn</a><br/>&#39; 文章为作者原创，转载请注明文章出处<br/>&#39; 保留作者信息，谢谢支持！&nbsp;&nbsp;<br/>&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;<br/>dns=request(&#34;dns&#34;)<br/>ext=request(&#34;ext&#34;)<br/><br/>e=Split(ext,&#34;,&#34;)<br/>For i=0 To UBound(e)<br/>edns=dns &amp; &#34;.&#34; &amp; trim(e(i)) <br/>url=&#34;<a href="http://www.checkdomain.com/cgi-bin/checkdomain.pl?domain=" target="_blank">http://www.checkdomain.com/cgi-bin/checkdomain.pl?domain=</a>&#34;&amp;edns<br/>wstr=getHTTPPage(url) <br/>if instr(lcase(wstr),&#34;registered&#34;)&gt;0 then <br/>&nbsp;&nbsp;&nbsp;&nbsp;response.write edns &amp;&#34;:已被注册&#34; <br/>else <br/>&nbsp;&nbsp;&nbsp;&nbsp;response.write edns &amp;&#34;:可以注册&#34; <br/>end if <br/>next<br/>%&gt;</div></div> ]]></description>
		</item>
		
			<item>
			<link>http://www.windsfly.cn/blog/default.asp?id=1984</link>
			<title><![CDATA[人民币大写转化函数（ASP版和JavaScript版）]]></title>
			<author>sf223cn@yahoo.com.cn(admin)</author>
			<category><![CDATA[ASP]]></category>
			<pubDate>Wed,18 Aug 2010 12:56:32 +0800</pubDate>
			<guid>http://www.windsfly.cn/blog/default.asp?id=1984</guid>	
		<description><![CDATA[ASP版：<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.windsfly.cn/blog/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&lt;%<br/>&#39;文 件 名：cmycur.asp<br/>&#39;作&nbsp;&nbsp;&nbsp;&nbsp;者：二十四画生<br/>&#39;版&nbsp;&nbsp;&nbsp;&nbsp;本：1.0<br/>&#39;简&nbsp;&nbsp;&nbsp;&nbsp;介：转换函数文件。<br/>&#39;功能描述：转换货币形式的函数。(该文件包含两个函数，一个转换成一般货币形式cmycur(num)，一个转换成大写形式cmycurd(num))<br/>%&gt;<br/>&lt;%<br/>function cmycur(num) &#39;转换为货币形式如：￥180.00元<br/>&nbsp;&nbsp;dim thenum<br/>&nbsp;&nbsp;if isnull(num) o&#114; num = &#34;&#34; then<br/>&nbsp;&nbsp;&nbsp;&nbsp;cmycur = &#34; &#34;<br/>&nbsp;&nbsp;else<br/>&nbsp;&nbsp;&nbsp;&nbsp;num = Round(num,2)<br/> thenum = FormatCurrency(num,2,-1)<br/> cmycur = thenum &amp; &#34;元&#34;<br/>&nbsp;&nbsp;end if<br/>end function<br/><br/>function cmycurd(num) &#39;num为要转换成大写的金额<br/>&nbsp;&nbsp;dim str1&nbsp;&nbsp;&#39;如下定义<br/>&nbsp;&nbsp;dim str2&nbsp;&nbsp;&#39;如下定义<br/>&nbsp;&nbsp;dim str3&nbsp;&nbsp;&#39;从原num值中取出的值<br/>&nbsp;&nbsp;dim i&nbsp;&nbsp; &#39;循环变量<br/>&nbsp;&nbsp;dim j&nbsp;&nbsp; &#39;num的值乘以100的字符串长度<br/>&nbsp;&nbsp;dim ch1&nbsp;&nbsp;&#39;数字的汉语读法<br/>&nbsp;&nbsp;dim ch2&nbsp;&nbsp;&#39;数字位的汉字读法<br/>&nbsp;&nbsp;dim nzero&nbsp;&nbsp;&#39;用来计算连续的零值是几个<br/><br/>&nbsp;&nbsp;str1 = &#34;零壹贰叁肆伍陆柒捌玖&#34;<br/>&nbsp;&nbsp;str2 = &#34;万仟佰拾亿仟佰拾万仟佰拾元角分&#34;<br/>&nbsp;&nbsp;nzero = 0<br/>&nbsp;&nbsp;if isnull(num) o&#114; num = &#34;&#34; then<br/>&nbsp;&nbsp;&nbsp;&nbsp;cmycurd = &#34; &#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;exit function<br/>&nbsp;&nbsp;end if<br/>&nbsp;&nbsp;num = Round(Abs(num),2) &#39;将num取绝对值并四舍五入取2位小数<br/>&nbsp;&nbsp;j = Len(CStr(num * 100))&nbsp;&nbsp;&#39;找出最高位<br/>&nbsp;&nbsp;if j &gt; 15 then<br/>&nbsp;&nbsp;&nbsp;&nbsp;cmycurd = &#34;溢出&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;exit function<br/>&nbsp;&nbsp;end if<br/>&nbsp;&nbsp;str2 = Right(str2, j) &#39;取出对应位数的str2的值。如：200.55,j为5所以str2=佰拾元角分<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;&#39;循环取出每一位需要转换的值<br/>&nbsp;&nbsp;for i = 1 to j<br/>&nbsp;&nbsp;&nbsp;&nbsp;str3 = Mid(num * 100, i, 1) &#39;取出需转换的某一位的值<br/> if i &lt;&gt; (j - 3) + 1 and i &lt;&gt; (j - 7) + 1 and i &lt;&gt; (j - 11) + 1 and i &lt;&gt;(j - 15) + 1 then&nbsp;&nbsp;&nbsp;&nbsp;&#39;当所取位数不为元、万、亿、万亿上的数字时<br/>&nbsp;&nbsp; if str3 = 0 then<br/>&nbsp;&nbsp;&nbsp;&nbsp; ch1 = &#34;&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp; ch2 = &#34;&#34;<br/>&nbsp;&nbsp;nzero = nzero + 1<br/>&nbsp;&nbsp; elseif str3 &lt;&gt; 0 and nzero &lt;&gt; 0 then<br/>&nbsp;&nbsp;&nbsp;&nbsp; ch1 = &#34;零&#34; &amp; Mid(str1, clng(str3) + 1, 1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ch2 = Mid(str2, i, 1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nzero = 0<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br/>&nbsp;&nbsp;&nbsp;&nbsp; ch1 = Mid(str1, CLng(str3) + 1, 1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ch2 = Mid(str2, i, 1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nzero = 0<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end if<br/>&nbsp;&nbsp;&nbsp;&nbsp;else &#39;该位是万亿，亿，万，元位等关键位<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if str3 &lt;&gt; 0 and nzero &lt;&gt; 0 then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ch1 = &#34;零&#34; &amp; Mid(str1, clng(str3) + 1, 1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ch2 = Mid(str2, i, 1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nzero = 0<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elseif str3 &lt;&gt; 0 and nzero = 0 Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ch1 = Mid(str1, clng(str3) + 1, 1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ch2 = Mid(str2, i, 1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nzero = 0<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elseif str3 = 0 and nzero &gt;= 3 Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ch1 = &#34;&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ch2 = &#34;&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nzero = nzero + 1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elseif j &gt; 10 Then&nbsp;&nbsp;&#39;当为整亿以上的时候，会多添加一个万，因此把这种情况去掉<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ch1 = &#34;&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nzero = nzero + 1<br/>&nbsp;&nbsp; else<br/>&nbsp;&nbsp;&nbsp;&nbsp; ch1 = &#34;&#34;<br/>&nbsp;&nbsp;ch2 = Mid(str2, i, 1)<br/>&nbsp;&nbsp;nzero = nzero + 1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end if<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if i = (j - 11) + 1 o&#114; i = (j - 3) + 1 Then &#39;如果该位是亿位或元位，则必须写上<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ch2 = Mid(str2, i, 1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end if<br/>&nbsp;&nbsp;&nbsp;&nbsp;end if<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;cmycurd = cmycurd &amp; ch1 &amp; ch2<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;if i = j and str3 = 0 Then &#39;最后一位（分）为0时，加上“整”<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmycurd = cmycurd &amp; &#34;整&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;end if<br/>&nbsp;&nbsp;next<br/><br/>&nbsp;&nbsp;if num = 0 then<br/>&nbsp;&nbsp;&nbsp;&nbsp;cmycurd=&#34;零元整&#34;<br/>&nbsp;&nbsp;end if<br/>end function<br/>%&gt;</div></div><br/><br/>JavaScript版:<br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.windsfly.cn/blog/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">function cmycurd(num){&nbsp;&nbsp;//转成人民币大写金额形式<br/>&nbsp;&nbsp;var str1 = &#39;零壹贰叁肆伍陆柒捌玖&#39;;&nbsp;&nbsp;//0-9所对应的汉字<br/>&nbsp;&nbsp;var str2 = &#39;万仟佰拾亿仟佰拾万仟佰拾元角分&#39;; //数字位所对应的汉字<br/>&nbsp;&nbsp;var str3;&nbsp;&nbsp;&nbsp;&nbsp;//从原num值中取出的值<br/>&nbsp;&nbsp;var str4;&nbsp;&nbsp;&nbsp;&nbsp;//数字的字符串形式<br/>&nbsp;&nbsp;var str5 = &#39;&#39;;&nbsp;&nbsp;//人民币大写金额形式<br/>&nbsp;&nbsp;var i;&nbsp;&nbsp;&nbsp;&nbsp;//循环变量<br/>&nbsp;&nbsp;var j;&nbsp;&nbsp;&nbsp;&nbsp;//num的值乘以100的字符串长度<br/>&nbsp;&nbsp;var ch1;&nbsp;&nbsp;&nbsp;&nbsp;//数字的汉语读法<br/>&nbsp;&nbsp;var ch2;&nbsp;&nbsp;&nbsp;&nbsp;//数字位的汉字读法<br/>&nbsp;&nbsp;var nzero = 0;&nbsp;&nbsp;//用来计算连续的零值是几个<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;num = Math.abs(num).toFixed(2);&nbsp;&nbsp;//将num取绝对值并四舍五入取2位小数<br/>&nbsp;&nbsp;str4 = (num * 100).toFixed(0).toString();&nbsp;&nbsp;//将num乘100并转换成字符串形式<br/>&nbsp;&nbsp;j = str4.length;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//找出最高位<br/>&nbsp;&nbsp;if (j &gt; 15){return &#39;溢出&#39;;}<br/>&nbsp;&nbsp;str2 = str2.substr(15-j);&nbsp;&nbsp;&nbsp;&nbsp;//取出对应位数的str2的值。如：200.55,j为5所以str2=佰拾元角分<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;//循环取出每一位需要转换的值<br/>&nbsp;&nbsp;for(i=0;i&lt;j;i++){<br/>&nbsp;&nbsp;&nbsp;&nbsp;str3 = str4.substr(i,1);&nbsp;&nbsp; //取出需转换的某一位的值<br/>&nbsp;&nbsp;&nbsp;&nbsp;if (i != (j-3) &amp;&amp; i != (j-7) &amp;&amp; i != (j-11) &amp;&amp; i != (j-15)){&nbsp;&nbsp;&nbsp;&nbsp;//当所取位数不为元、万、亿、万亿上的数字时<br/>&nbsp;&nbsp; if (str3 == &#39;0&#39;){<br/>&nbsp;&nbsp;&nbsp;&nbsp; ch1 = &#39;&#39;;<br/>&nbsp;&nbsp;&nbsp;&nbsp; ch2 = &#39;&#39;;<br/>&nbsp;&nbsp;nzero = nzero + 1;<br/>&nbsp;&nbsp; }<br/>&nbsp;&nbsp; else{<br/>&nbsp;&nbsp;&nbsp;&nbsp; if(str3 != &#39;0&#39; &amp;&amp; nzero != 0){<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ch1 = &#39;零&#39; + str1.substr(str3*1,1);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ch2 = str2.substr(i,1);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nzero = 0;<br/>&nbsp;&nbsp;}<br/>&nbsp;&nbsp;else{<br/>&nbsp;&nbsp;&nbsp;&nbsp;ch1 = str1.substr(str3*1,1);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ch2 = str2.substr(i,1);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nzero = 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp; }<br/> }<br/> else{ //该位是万亿，亿，万，元位等关键位<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (str3 != &#39;0&#39; &amp;&amp; nzero != 0){<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ch1 = &#34;零&#34; + str1.substr(str3*1,1);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ch2 = str2.substr(i,1);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nzero = 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else{<br/>&nbsp;&nbsp;&nbsp;&nbsp; if (str3 != &#39;0&#39; &amp;&amp; nzero == 0){<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ch1 = str1.substr(str3*1,1);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ch2 = str2.substr(i,1);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nzero = 0;<br/>&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else{<br/>&nbsp;&nbsp;&nbsp;&nbsp;if (str3 == &#39;0&#39; &amp;&amp; nzero &gt;= 3){<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ch1 = &#39;&#39;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ch2 = &#39;&#39;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nzero = nzero + 1;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (j &gt;= 11){<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ch1 = &#39;&#39;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nzero = nzero + 1;<br/>&nbsp;&nbsp; }<br/>&nbsp;&nbsp; else{<br/>&nbsp;&nbsp;&nbsp;&nbsp; ch1 = &#39;&#39;;<br/>&nbsp;&nbsp;&nbsp;&nbsp; ch2 = str2.substr(i,1);<br/>&nbsp;&nbsp;&nbsp;&nbsp; nzero = nzero + 1;<br/>&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;}<br/>&nbsp;&nbsp; }<br/> }<br/>&nbsp;&nbsp;&nbsp;&nbsp;if (i == (j-11) || i == (j-3)){&nbsp;&nbsp;//如果该位是亿位或元位，则必须写上<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ch2 = str2.substr(i,1);<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;str5 = str5 + ch1 + ch2;<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if (i == j-1 &amp;&amp; str3 == &#39;0&#39; ){&nbsp;&nbsp; //最后一位（分）为0时，加上“整”<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str5 = str5 + &#39;整&#39;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;}<br/>&nbsp;&nbsp;if (num == 0){<br/>&nbsp;&nbsp;&nbsp;&nbsp;str5 = &#39;零元整&#39;;<br/>&nbsp;&nbsp;}<br/>&nbsp;&nbsp;return str5;<br/>}</div></div>]]></description>
		</item>
		
			<item>
			<link>http://www.windsfly.cn/blog/default.asp?id=1936</link>
			<title><![CDATA[ASP截取文章一部分显示（无损HTML）]]></title>
			<author>sf223cn@yahoo.com.cn(admin)</author>
			<category><![CDATA[ASP]]></category>
			<pubDate>Fri,06 Aug 2010 10:42:57 +0800</pubDate>
			<guid>http://www.windsfly.cn/blog/default.asp?id=1936</guid>	
		<description><![CDATA[&lt;%<br/>Function LeftH(str,l)<br/> dim labelt,labels<br/> dim ishtml<br/> ishtml=false<br/> dim res<br/> dim c,c2<br/> dim n<br/> n=0<br/> dim maxlen<br/> maxlen=len(str)<br/> dim i<br/> i=0<br/> dim b,e<br/> do while n&lt;l and i&lt;maxlen<br/>&nbsp;&nbsp;i=i+1<br/>&nbsp;&nbsp;c=mid(str,i,1)<br/>&nbsp;&nbsp;if c=&#34;&lt;&#34; then<br/>&nbsp;&nbsp; c2=mid(str,i+1,1)<br/>&nbsp;&nbsp; ishtml=true<br/>&nbsp;&nbsp; b=i<br/>&nbsp;&nbsp;end if<br/>&nbsp;&nbsp;res=res+c<br/>&nbsp;&nbsp;if ishtml=false then<br/>&nbsp;&nbsp; n=n+1<br/>&nbsp;&nbsp;else<br/>&nbsp;&nbsp; if c=&#34;&gt;&#34; then<br/>&nbsp;&nbsp;&nbsp;&nbsp;if ishtml=true and c2&lt;&gt;&#34;/&#34; then<br/>&nbsp;&nbsp;&nbsp;&nbsp; labels=mid(str,b+1,i-b)<br/>&nbsp;&nbsp;&nbsp;&nbsp; e=InStr(labels,&#34; &#34;)<br/>&nbsp;&nbsp;&nbsp;&nbsp; if e&gt;0 then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;labels=&#34;&lt;/&#34;+left(labels,e-1)+&#34;&gt;&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp; else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;labels=&#34;&lt;/&#34;+labels<br/>&nbsp;&nbsp;&nbsp;&nbsp; end if<br/>&nbsp;&nbsp;&nbsp;&nbsp; labelt=labels+labelt<br/>&nbsp;&nbsp;&nbsp;&nbsp;end if<br/>&nbsp;&nbsp;&nbsp;&nbsp;ishtml=false<br/>&nbsp;&nbsp; end if<br/>&nbsp;&nbsp;end if<br/> loop<br/> leftH=res+labelt<br/>end function<br/><br/>dim str<br/>str=&#34;&lt;b&gt;&lt;font color=red size=4 face=黑体&gt;中华人&lt;/font&gt;民共和国&lt;/b&gt;&#34;<br/>response.write &#34;原始的效果：&lt;br&gt;&lt;br&gt;&#34;+str<br/>response.write &#34;&lt;script&gt;alert(&#39;原始的html代码：&#34;+str+&#34;&#39;);&lt;/script&gt;&#34;<br/>response.write &#34;&lt;hr&gt;&#34;<br/>str=lefth(str,4)<br/>response.write &#34;截取后的效果：&lt;br&gt;&lt;br&gt;&#34;+str<br/>response.write &#34;&lt;script&gt;alert(&#39;截取后的html代码：&#34;+str+&#34;&#39;);&lt;/script&gt;&#34;<br/>%&gt;]]></description>
		</item>
		
			<item>
			<link>http://www.windsfly.cn/blog/default.asp?id=1935</link>
			<title><![CDATA[ASP的一些常用的自定义函数]]></title>
			<author>sf223cn@yahoo.com.cn(admin)</author>
			<category><![CDATA[ASP]]></category>
			<pubDate>Fri,06 Aug 2010 10:35:44 +0800</pubDate>
			<guid>http://www.windsfly.cn/blog/default.asp?id=1935</guid>	
		<description><![CDATA[&lt;% <br/>&#39;============================================================================================================================ <br/>&#39;函数列表： <br/>&#39;1： 建立数据库的连接 ConnOpen(DataBaseConnectStr,DBType,Conn_object) <br/>&#39;2： 断开数据库的连接 ConnClose(Conn_object) <br/>&#39;3： 防止SQL注入 SafeRequest(paraName,paraType) <br/>&#39;4： 格式化日期 DateFormat(dateStr,dateType) <br/>&#39;5： 显示错误提示 ShowErr(errStr) <br/>&#39;6： 查询字符串中特定数据 Sel&#101;ctStr(contentStr,patternStr,patternNum) <br/>&#39;7： 过滤指定字符 Leach(contentStr,badWords) <br/>&#39;8： 远程文件内容抓取 Seize(urlStr) <br/>&#39;9： 数据流编码处理 BytesToBstr(body,cset) <br/>&#39;10： 编码cookies codeCookie(contentStr) <br/>&#39;11： 解码cookies DecodeCookie(contentStr) <br/>&#39;12： 检验数据提交来源是否合法 ChkPost() <br/>&#39;13： 个性化加密 MyEncrypt(StrPassword) <br/>&#39;14： 禁止浏览器缓存本页 NoBuffer() <br/>&#39;15： 网页格式化输入文本 HTMLEncode(fString) <br/>&#39;16： 从头部截取字符串的指定长度(按字符数算) GotTopic(Str,StrLen) <br/>&#39;17： 检测验证码 CheckRadomPass(RadomPass) <br/>&#39;18： 生成验证码 GetCode() <br/>&#39;19： 获取客户端操作系统版本 GetSystem() <br/>&#39;20： 数据库事务处理 ConnManage(Conn_object) <br/>&#39;21： 快速排序（递归） QuickSort(arr,Low,High) <br/>&#39;22： 将数组的元素以特定字符串连起来 arr_join(arr,character) <br/>&#39;23： 返回字符串以某分割符分割的数目 count_character(str,character) <br/>&#39;24： 截取含有分割符的字符串中指定数目的字符串 inter_str_by_character_num(str,character,start,num) <br/>&#39;25： 利用Stream下载文件 downloadFile(strFile) <br/>&#39;26： 返回信息 send_back(ResultWords) <br/>&#39;27： 获取错误信息 get_err() <br/>&#39;28： 与SafeRequest相反 SafeResponse(content) <br/>&#39;29： 保存远程图片 SaveRemoteFile(LocalFileName,RemoteFileUrl) <br/>&#39;30： ... <br/>dim language_arr(10) <br/>language_arr(0) = &#34;数据库连接的参数设置错误！&#34; <br/>language_arr(1) = &#34;数据库连接的类型参数设置错误！&#34; <br/>language_arr(2) = &#34;数据库连接失败！&#34; <br/>language_arr(3) = &#34;非法的参数值！&#34; <br/>language_arr(4) = &#34;参数值不是有效的日期格式！&#34; <br/>language_arr(5) = &#34;操作失败！&#34; <br/>language_arr(6) = &#34;栏目有重名！&#34; <br/>language_arr(7) = &#34;栏目名称为空！&#34; <br/>language_arr(8) = &#34;栏目文件夹创建失败！&#34; <br/>language_arr(9) = &#34;您没有此权限！&#34; <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：1 <br/>&#39;函数作用：建立数据库的连接 <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-2-15 10：28 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39; connectStr：数据库连接字符串 <br/>&#39; connectType：数据库类别-数字型，0为Access,1为MS SQL <br/>&#39;返回值： <br/>&#39;============================================================================================================================ <br/>sub ConnOpen(DataBaseConnectStr,DBType,Conn_object) <br/>Set Conn_object = Server.Cr&#101;ateobject(&#34;adodb.connection&#34;) <br/>if DataBaseConnectStr = &#34;&#34; then call ShowErr(language_arr(0)) <br/>if DBType = 0 then <br/>Conn_object.Open &#34;driver={Microsoft Access Driver (*.mdb)};dbq=&#34; &amp; DataBaseConnectStr <br/>elseif DBType = 1 then <br/>Conn_object.Open &#34;Provider=SQLOLEDB.1;&#34; &amp; DataBaseConnectStr <br/>else <br/>call ShowErr(language_arr(1)) <br/>end if <br/>err.clear <br/>end sub <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：2 <br/>&#39;函数作用：断开数据库的连接 <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-2-16 15:10 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39;返回值： <br/>&#39;============================================================================================================================ <br/>Sub ConnClose(Conn_object) <br/>Conn_object.close <br/>set Conn_object = nothing <br/>End sub <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：3 <br/>&#39;函数作用：防止SQL注入 <br/>&#39;作者名称：<a href="http://news.dvbbs.net/infoview/Article_2906.html" target="_blank">http://news.dvbbs.net/infoview/Article_2906.html</a> <br/>&#39;建立时间：2006-2-16 15:32 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39; paraName:参数名称-字符型 <br/>&#39; paraType:参数类型-数字型(1表示以上参数是数字，0表示以上参数为字符)　 <br/>&#39;返回值： <br/>&#39; 过滤后的字符串 <br/>&#39;============================================================================================================================ <br/>Function SafeRequest(paraName,paraType) <br/>dim paraValue <br/>paraValue = Request(paraName) <br/>sel&#101;ct case paraType <br/>case 0 <br/>paraValue = replace(paraValue,&#34;&#39;&#34;,&#34;[system:34]&#34;) <br/>paraValue = replace(paraValue,&#34;=&#34;,&#34;[system:61]&#34;) <br/>case 1 <br/>if not IsNumeric(paraValue) then call ShowErr(language_arr(3)) <br/>case -1 <br/>if not IsNumeric(paraValue) then call ShowErr(language_arr(3)) <br/>if paraValue = &#34;&#34; then paraValue = 0 <br/>case else <br/>if len(paraValue) &gt; paraType then call ShowErr(language_arr(3)) <br/>paraValue = replace(paraValue,&#34;&#39;&#34;,&#34;[system:34]&#34;) <br/>paraValue = replace(paraValue,&#34;=&#34;,&#34;[system:61]&#34;) <br/>end sel&#101;ct <br/>SafeRequest = paraValue <br/>End function <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：4 <br/>&#39;函数作用：格式化日期 <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-2-16 15:45 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39; dateStr:日期字符串 <br/>&#39; paraType:日期类型-数字型 <br/>&#39;返回值： <br/>&#39; 格式化后的日期 <br/>&#39;============================================================================================================================ <br/>Function DateFormat(dateStr,dateType) <br/>Dim dateString <br/>if IsDate(dateStr) = False then <br/>call ShowErr(language_arr(4)) <br/>end if <br/>Sel&#101;ct Case dateType <br/>Case &#34;1&#34; <br/>dateString = Year(dateStr)&amp;&#34;-&#34;&amp;Month(dateStr)&amp;&#34;-&#34;&amp;Day(dateStr) <br/>Case &#34;2&#34; <br/>dateString = Year(dateStr)&amp;&#34;.&#34;&amp;Month(dateStr)&amp;&#34;.&#34;&amp;Day(dateStr) <br/>Case &#34;3&#34; <br/>dateString = Year(dateStr)&amp;&#34;/&#34;&amp;Month(dateStr)&amp;&#34;/&#34;&amp;Day(dateStr) <br/>Case &#34;4&#34; <br/>dateString = Month(dateStr)&amp;&#34;/&#34;&amp;Day(dateStr)&amp;&#34;/&#34;&amp;Year(dateStr) <br/>Case &#34;5&#34; <br/>dateString = Day(dateStr)&amp;&#34;/&#34;&amp;Month(dateStr)&amp;&#34;/&#34;&amp;Year(dateStr) <br/>Case &#34;6&#34; <br/>dateString = Month(dateStr)&amp;&#34;-&#34;&amp;Day(dateStr)&amp;&#34;-&#34;&amp;Year(dateStr) <br/>Case &#34;7&#34; <br/>dateString = Month(dateStr)&amp;&#34;.&#34;&amp;Day(dateStr)&amp;&#34;.&#34;&amp;Year(dateStr) <br/>Case &#34;8&#34; <br/>dateString = Month(dateStr)&amp;&#34;-&#34;&amp;Day(dateStr) <br/>Case &#34;9&#34; <br/>dateString = Month(dateStr)&amp;&#34;/&#34;&amp;Day(dateStr) <br/>Case &#34;10&#34; <br/>dateString = Month(dateStr)&amp;&#34;.&#34;&amp;Day(dateStr) <br/>Case &#34;11&#34; <br/>dateString = Month(dateStr)&amp;language_arr(6)&amp;Day(dateStr)&amp;language_arr(7) <br/>Case &#34;12&#34; <br/>dateString = Day(dateStr)&amp;language_arr(7)&amp;Hour(dateStr)&amp;language_arr(8) <br/>case &#34;13&#34; <br/>dateString = Day(dateStr)&amp;language_arr(7)&amp;Hour(dateStr)&amp;language_arr(8) <br/>Case &#34;14&#34; <br/>dateString = Hour(dateStr)&amp;language_arr(8)&amp;Minute(dateStr)&amp;language_arr(9) <br/>Case &#34;15&#34; <br/>dateString = Hour(dateStr)&amp;&#34;:&#34;&amp;Minute(dateStr) <br/>Case &#34;16&#34; <br/>dateString = Year(dateStr)&amp;language_arr(5)&amp;Month(dateStr)&amp;language_arr(6)&amp;Day(dateStr)&amp;language_arr(7) <br/>Case Else <br/>dateString = dateStr <br/>End Sel&#101;ct <br/>DateFormat = dateString <br/>End Function <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：5 <br/>&#39;函数作用：显示错误提示 <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-2-16 16:29 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39; errStr:错误提示-字符型 <br/>&#39;返回值：返回提交页面 <br/>&#39;============================================================================================================================ <br/>sub ShowErr(errStr) <br/>Response.Write(&#34;&lt;script&gt;alert(&#34;&#34;&#34;&amp;errStr&amp;&#34;&#34;&#34;);location.href=&#34;&#34;javascript：history.back()&#34;&#34;;&lt;/script&gt;&#34;) <br/>Response.End <br/>End sub <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：6 <br/>&#39;函数作用：查询字符串中特定数据 <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-2-16 16:40 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39; contentStr:查询字符串 <br/>&#39; patternStr:匹配式字符串 <br/>&#39; patternNum:查询定位-数字型 <br/>&#39;返回值： <br/>&#39; 找不到返回false <br/>&#39; patternNum为-1返回所有匹配字符串并以[10]隔开 <br/>&#39; 否则返回指定位置的字符串 <br/>&#39;============================================================================================================================ <br/>Function Sel&#101;ctStr(contentStr,patternStr,patternNum) <br/>dim objRegExp,matches,matche <br/>if contentStr = &#34;&#34; then <br/>call ShowErr(language_arr(12)) <br/>end if <br/>Set objRegExp=new RegExp &#39;建立正则表达式 <br/>objRegExp.pattern = patternStr &#39;设置模式 <br/>objRegExp.IgnoreCase =False &#39;设置是否区分字符大小写 <br/>objRegExp.Global=true &#39;设置全局可用性 <br/>objRegExp.pattern = patternStr &#39;匹配式<br/><br/>if objRegExp.test(contentStr) = false then &#39;全局匹配 <br/>Sel&#101;ctStr = false <br/>else <br/>Set matches = objRegExp.Execute(contentStr) &#39;执行搜索 <br/>if patternNum = -1 then <br/>for each matche in matches <br/>Sel&#101;ctStr = Sel&#101;ctStr &amp;&#34;[10]&#34;&amp; matche.value <br/>next <br/>else <br/>Sel&#101;ctStr = matches.Item(patternNum).value <br/>end if <br/>end if<br/><br/>Set objRegExp=Nothing <br/>End Function <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：7 <br/>&#39;函数作用：过滤指定字符 <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-2-16 16:59 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39; contentStr:源字符串 <br/>&#39; badWords:要过滤的字符串，若数目大于1则用英文状态的&#34;^&#34;隔开 <br/>&#39;返回值： <br/>&#39; 返回过滤后的字符串 <br/>&#39;============================================================================================================================ <br/>Function Leach(contentStr,badWords) <br/>dim badWordsArr,i <br/>badWordsArr = Split(badWords,&#34;^&#34;) <br/>for i = 0 to UBound(badWordsArr) <br/>contentStr = replace(contentStr,badWordsArr(i),&#34;&#34;) <br/>next <br/>leach = contentStr <br/>end Function <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：8 <br/>&#39;函数作用：远程文件内容抓取 <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-2-16 17:24 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39; urlStr:远程文件地址 <br/>&#39;返回值： <br/>&#39; 返回远程文件内容 <br/>&#39;============================================================================================================================ <br/>function Seize(urlStr) <br/>dim connect <br/>if urlStr = &#34;&#34; then <br/>call ShowErr(language_arr(13)) <br/>else <br/>Set connect = Cr&#101;ateObject(&#34;Microsoft.XMLHTTP&#34;) &#39;建立XMLHTTP对象 <br/>connect.open &#34;GET&#34;,urlStr,false &#39;设置参数，通信方式为get，请求为同步，后面还有两个可选属性：userID，password用于用户验证 <br/>connect.send() &#39;数据发送，Send方法的参数类型可以是字符串、DOM树或任意数据流 <br/>Seize = BytesToBStr(connect.responseBody,&#34;GB2312&#34;) &#39;返回信息，编码为中文 <br/>set connect = nothing <br/>end if <br/>end function <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：9 <br/>&#39;函数作用：数据流编码处理 <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-2-16 17:30 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39; body:数据内容 <br/>&#39; cset:编码格式 <br/>&#39;返回值： <br/>&#39; 编码处理后的信息 <br/>&#39;============================================================================================================================ <br/>Function BytesToBstr(body,cset) <br/>dim objstream <br/>set objstream = Server.Cr&#101;ateObject(&#34;adodb.stream&#34;) <br/>objstream.Type = 1 &#39;以二进制模式打开 <br/>objstream.Mode =3 <br/>objstream.Open <br/>objstream.Write body <br/>objstream.Position = 0 <br/>objstream.Type = 2 <br/>objstream.Charset = cset <br/>BytesToBstr = objstream.ReadText <br/>objstream.Close <br/>set objstream = nothing <br/>End Function <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：10 <br/>&#39;函数作用：编码cookies <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-2-16 17:36 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39; contentStr:数据内容 <br/>&#39;返回值： <br/>&#39; 编码处理后的信息，字符以&#34;a&#34;隔开 <br/>&#39;============================================================================================================================ <br/>Function codeCookie(contentStr) <br/>Dim i,returnStr <br/>For i = Len(contentStr) to 1 Step -1 <br/>returnStr = returnStr &amp; Ascw(Mid(contentStr,i,1)) <br/>If (i &lt;&gt; 1) Then returnStr = returnStr &amp; &#34;a&#34; <br/>Next <br/>CodeCookie = returnStr <br/>End Function <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：11 <br/>&#39;函数作用：解码cookies <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-2-17 16:58 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39; contentStr:数据内容 <br/>&#39;返回值： <br/>&#39; 解码处理后的信息 <br/>&#39;============================================================================================================================ <br/>Function DecodeCookie(contentStr) <br/>Dim i <br/>Dim StrArr,StrRtn <br/>StrArr = Split(contentStr,&#34;a&#34;) <br/>For i = 0 to UBound(StrArr) <br/>If isNumeric(StrArr(i)) = True Then <br/>StrRtn = Chrw(StrArr(i)) &amp; StrRtn <br/>Else <br/>StrRtn = contentStr <br/>Exit Function <br/>End If <br/>Next <br/>DecodeCookie = StrRtn <br/>End Function <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：12 <br/>&#39;函数作用：检验数据提交来源是否合法 <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-2-18 18:55 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39; <br/>&#39;返回值： <br/>&#39; Boolean <br/>&#39;============================================================================================================================ <br/>Function ChkPost() <br/>Dim server_v1,server_v2 <br/>Chkpost=False <br/>server_v1=Cstr(Request.ServerVariables(&#34;HTTP_REFERER&#34;)) <br/>server_v2=Cstr(Request.ServerVariables(&#34;SERVER_NAME&#34;)) <br/>If Mid(server_v1,8,len(server_v2))=server_v2 Then Chkpost=True <br/>End Function <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：13 <br/>&#39;函数作用：个性化加密 <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-2-25 15:12 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39; StrPassword：需加密的数据 <br/>&#39;返回值： <br/>&#39; 加密后的数据 <br/>&#39;============================================================================================================================ <br/>Function MyEncrypt(StrPassword) <br/>Dim StrLen,StrLeft,StrRight,n <br/>n = 8 <br/>StrPassword = MD5(StrPassword) <br/>StrLen = len(StrPassword) <br/>StrLeft = left(StrPassword,n) <br/>StrRight = right(StrPassword,StrLen-n) <br/>MyEncrypt = StrRight&amp;StrLeft <br/>End function <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：14 <br/>&#39;函数作用：禁止浏览器缓存本页 <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-3-5 2:45 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39;返回值： <br/>&#39;============================================================================================================================ <br/>Sub NoBuffer() <br/>Response.expires = 0 <br/>Response.expiresabsolute = Now() - 1 <br/>Response.addHeader &#34;pragma&#34;,&#34;no-cache&#34; <br/>Response.addHeader &#34;cache-control&#34;,&#34;private&#34; <br/>Response.CacheControl = &#34;no-cache&#34; <br/>end sub <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：15 <br/>&#39;函数作用：网页格式化输入文本 <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-3-5 2:50 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39; fString：源字符串 <br/>&#39;返回值：格式化后的字符串 <br/>&#39;============================================================================================================================ <br/>function HTMLEncode(fString) <br/>if not isnull(fString) then <br/>fString = replace(fString, &#34;&gt;&#34;, &#34;&gt;&#34;) <br/>fString = replace(fString, &#34;&lt;&#34;, &#34;&lt;&#34;) <br/>fString = Replace(fString, CHR(32)&amp;CHR(32), &#34; &#34;) <br/>fString = Replace(fString, CHR(9), &#34; &#34;) <br/>fString = Replace(fString, CHR(34), &#34;&#34;&#34;) <br/>fString = Replace(fString, CHR(39), &#34;&#39;&#34;) <br/>fString = Replace(fString, CHR(13), &#34;&#34;) <br/>fString = Replace(fString, CHR(10) &amp; CHR(10), &#34;&lt;/P&gt;&lt;P&gt;&#34;) <br/>fString = Replace(fString, CHR(10), &#34;&lt;BR&gt;&#34;) <br/>HTMLEncode = fString <br/>end if <br/>end function <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：16 <br/>&#39;函数作用：从头部截取字符串的指定长度(按字符数算) <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-3-5 3:04 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39; Str：源字符串 <br/>&#39; StrLen：长度 <br/>&#39;返回值：截取得到的字符串 <br/>&#39;============================================================================================================================ <br/>Function GotTopic(Str,StrLen) <br/>Dim l,t,c, i,LableStr,regEx,Match,Matches,focus,last_str <br/>if IsNull(Str) then <br/>GotTopic = &#34;&#34; <br/>Exit Function <br/>end if <br/>if Str = &#34;&#34; then <br/>GotTopic=&#34;&#34; <br/>Exit Function <br/>end if <br/>Set regEx = New RegExp <br/>regEx.Pattern = &#34;\[[^\[\]]*\]&#34; <br/>regEx.IgnoreCase = True <br/>regEx.Global = True <br/>Set Matches = regEx.Execute(Str) <br/>For Each Match in Matches <br/>LableStr = LableStr &amp; Match.Value <br/>Next <br/>Str = regEx.Replace(Str,&#34;&#34;) <br/>Str=Replace(Replace(Replace(Replace(Str,&#34; &#34;,&#34; &#34;),&#34;&#34;&#34;,Chr(34)),&#34;&gt;&#34;,&#34;&gt;&#34;),&#34;&lt;&#34;,&#34;&lt;&#34;) <br/>l=len(str) <br/>t=0 <br/>strlen=Clng(strLen) <br/>for i=1 to l <br/>c=Abs(Asc(Mid(str,i,1))) <br/>if c&gt;255 then <br/>t=t+2 <br/>else <br/>t=t+1 <br/>end if <br/>if t = strLen-2 then <br/>focus = i <br/>last_str = &#34;..&#34; <br/>end if <br/>if t = strLen-1 then <br/>focus = i <br/>last_str = &#34;.&#34; <br/>end if <br/>if t&gt;=strlen then <br/>GotTopic=left(str,focus)&amp;last_str <br/>exit for <br/>else <br/>GotTopic=str <br/>end if <br/>next <br/>GotTopic = Replace(Replace(Replace(Replace(GotTopic,&#34; &#34;,&#34; &#34;),Chr(34),&#34;&#34;&#34;),&#34;&gt;&#34;,&#34;&gt;&#34;),&#34;&lt;&#34;,&#34;&lt;&#34;) &amp; LableStr <br/>end function <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：17 <br/>&#39;函数作用：检测验证码 <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-3-5 3:09 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39; RadomPass：输入的验证码 <br/>&#39;返回值： <br/>&#39;============================================================================================================================ <br/>Sub CheckRadomPass(RadomPass) <br/>if radompass = &#34;&#34; then <br/>call ShowErr(language_arr(14)) <br/>elseif Session(&#34;GetCode&#34;) = &#34;9999&#34; then <br/>Session(&#34;GetCode&#34;)=&#34;&#34; <br/>elseif Session(&#34;GetCode&#34;) = &#34;&#34; then <br/>call ShowErr(language_arr(15)) <br/>elseif cstr(Session(&#34;GetCode&#34;))&lt;&gt;radompass then <br/>call ShowErr(language_arr(16)) <br/>end if <br/>Session(&#34;GetCode&#34;)=&#34;&#34; <br/>End sub <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：18 <br/>&#39;函数作用：生成验证码 <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-3-5 3:16 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39;返回值： <br/>&#39;============================================================================================================================ <br/>Function GetCode() <br/>Dim TestObj <br/>On Error Resume Next <br/>Set TestObj = Server.Cr&#101;ateObject(&#34;Adodb.Stream&#34;) <br/>Set TestObj = Nothing <br/>If Err Then <br/>Dim TempNum <br/>Randomize timer <br/>TempNum = cint(8999*Rnd+1000) <br/>Session(&#34;GetCode&#34;) = TempNum <br/>GetCode = Session(&#34;GetCode&#34;) <br/>Else <br/>GetCode = &#34;&lt;img src=&#34;&#34;&#34;&amp;Site_Url&amp;&#34;inc/GetCode.asp&#34;&#34;&gt;&#34; <br/>End If <br/>End Function <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：19 <br/>&#39;函数作用：获取客户端操作系统版本 <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-3-5 3:21 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39;返回值：操作系统版本名称 <br/>&#39;============================================================================================================================ <br/>Function GetSystem() <br/>dim System <br/>System = Request.ServerVariables(&#34;HTTP_USER_AGENT&#34;) <br/>if Instr(System,&#34;Windows NT 5.2&#34;) then <br/>System = &#34;Win2003&#34; <br/>elseif Instr(System,&#34;Windows NT 5.0&#34;) then <br/>System=&#34;Win2000&#34; <br/>elseif Instr(System,&#34;Windows NT 5.1&#34;) then <br/>System = &#34;WinXP&#34; <br/>elseif Instr(System,&#34;Windows NT&#34;) then <br/>System = &#34;WinNT&#34; <br/>elseif Instr(System,&#34;Windows 9&#34;) then <br/>System = &#34;Win9x&#34; <br/>elseif Instr(System,&#34;unix&#34;) o&#114; instr(System,&#34;linux&#34;) o&#114; instr(System,&#34;SunOS&#34;) o&#114; instr(System,&#34;BSD&#34;) then <br/>System = &#34;Unix&#34; <br/>elseif Instr(System,&#34;Mac&#34;) then <br/>System = &#34;Mac&#34; <br/>else <br/>System = &#34;Other&#34; <br/>end if <br/>GetSystem = System <br/>End Function <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：20 <br/>&#39;函数作用：数据库事务处理 <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-3-5 3:25 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39;返回值：true o&#114; false <br/>&#39;============================================================================================================================ <br/>function ConnManage(Conn_object) <br/>if Conn_object.Errors.count&lt;&gt;0 then <br/>Conn_object.rollbacktrans <br/>err.clear <br/>ConnManage = false <br/>else <br/>Conn_object.committrans <br/>ConnManage = true <br/>end if <br/>end function <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：21 <br/>&#39;函数作用：快速排序（递归） <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-4-9 19:53 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39; arr:需排序的数组 <br/>&#39; Low:数组最小下标 <br/>&#39; High:数组最大下标 <br/>&#39;返回值： <br/>&#39;============================================================================================================================ <br/>Sub QuickSort(arr,Low,High) <br/>Dim i,j,x,y,k <br/>i=Low <br/>j=High <br/>x=arr(Cint((Low+High)/2)) <br/>Do <br/>While (arr(i)-x&lt;0 and i&lt;High) <br/>i=i+1 <br/>Wend <br/>While (x-arr(j)&lt;0 and j&gt;Low) <br/>j=j-1 <br/>Wend <br/>If i&lt;=j Then <br/>y=arr(i) <br/>arr(i)=arr(j) <br/>arr(j)=y <br/>i=i+1 <br/>j=j-1 <br/>End if <br/>Loop while i&lt;=j <br/>If Low&lt;j Then call QuickSort(arr,Low,j) <br/>If i&lt;High Then call QuickSort(arr,i,High) <br/>End sub <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：22 <br/>&#39;函数作用：将数组的元素以特定字符串连起来 <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-4-9 21:16 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39; arr:需串连的数组 <br/>&#39; character:串连字符 <br/>&#39;返回值： <br/>&#39; 串连后的字符串 <br/>&#39;============================================================================================================================ <br/>function arr_join(arr,character) <br/>dim i <br/>for i = 0 to ubound(arr) <br/>if i = 0 then <br/>arr_join = arr(i) <br/>else <br/>arr_join = arr_join &amp; character &amp; arr(i) <br/>end if <br/>next <br/>end function <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：23 <br/>&#39;函数作用：返回字符串以某分割符分割的数目 <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-2-16 16:29 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39; errStr:错误提示-字符型 <br/>&#39;返回值：返回提交页面 <br/>&#39;============================================================================================================================ <br/>function count_character(str,character) <br/>dim i <br/>i = 0 <br/>Do Until InStr(str,character) = 0 <br/>str = Mid(str, InStr(str,character) + 1) <br/>i = i + 1 <br/>Loop <br/>count_character = i <br/>End function <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：24 <br/>&#39;函数作用：截取含有分割符的字符串中指定数目的字符串 <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-2-16 16:29 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39; errStr:错误提示-字符型 <br/>&#39;返回值：返回提交页面 <br/>&#39;============================================================================================================================ <br/>function inter_str_by_character_num(str,character,start,num) <br/>dim i,str_temp,start_location,inter_length,str_length <br/>i = 0 <br/>inter_length = 0 <br/>str_length = len(str) <br/>str = right(left(str,str_length-1),str_length-2) <br/>str_length = str_length - 2 <br/>str_temp = str <br/>Do Until InStr(str_temp,character) = 0 <br/>i = i + 1 <br/>str_temp = Mid(str_temp,InStr(str_temp,character) + 1) <br/>if i = start - 1 then start_location = str_length - len(str_temp) <br/>if i = start + num - 1 then <br/>inter_length = str_length - len(str_temp) - start_location <br/>exit do <br/>end if <br/>Loop <br/>if inter_length = 0 then <br/>inter_str_by_character_num = mid(str,start_location+1) <br/>else <br/>inter_str_by_character_num = mid(str,start_location+1,inter_length-1) <br/>end if <br/>End function <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：25 <br/>&#39;函数作用：利用Stream下载文件 <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-2-16 16:29 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39; errStr:错误提示-字符型 <br/>&#39;返回值：返回提交页面 <br/>&#39;============================================================================================================================ <br/>function downloadFile(strFile) <br/>dim strFilename,s,fso,f,intFilelength <br/>Response.Buffer = True <br/>Response.Clear <br/>Set s = Server.Cr&#101;ateObject(&#34;ADODB.Stream&#34;) <br/>s.Open <br/>s.Type = 1 <br/>on error resume next <br/>Set fso = Server.Cr&#101;ateObject(&#34;Scripting.FileSystemObject&#34;) <br/>if not fso.FileExists(strFile) then <br/>Response.Write(&#34;&lt;h1&gt;Error:&lt;/h1&gt;该文件不存在&lt;p&gt;&#34;) <br/>Response.End <br/>end if <br/>Set f = fso.GetFile(strFile) <br/>intFilelength = f.size<br/><br/>s.LoadFromFile(strFile) <br/>if err then <br/>Response.Write(&#34;&lt;h1&gt;Error:&lt;/h1&gt;文件下载错误&lt;p&gt;&#34;) <br/>Response.End <br/>end if <br/>Response.AddHeader &#34;Content-Disposition&#34;,&#34;attachment;filename=&#34; &amp; f.name <br/>Response.AddHeader &#34;Content-Length&#34;,intFilelength <br/>Response.CharSet = &#34;UTF-8&#34; <br/>Response.ContentType = &#34;application/octet-stream&#34; <br/>Response.BinaryWrite s.Read <br/>Response.Flush <br/>s.Close <br/>set f = nothing <br/>set fso = nothing <br/>Set s = Nothing <br/>end function <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：26 <br/>&#39;函数作用：返回信息 <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-2-21 20：45 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39;返回值： <br/>&#39;============================================================================================================================ <br/>sub send_back(ResultWords) <br/>dim objResult <br/>Set objResult = Server.Cr&#101;ateObject(&#34;MSXML2.DOMDocument&#34;) <br/>objResult.loadXML (&#34;&lt;返回结果&gt;&lt;/返回结果&gt;&#34;) <br/>objResult.sel&#101;ctSingleNode(&#34;返回结果&#34;).text = ResultWords <br/>Response.ContentType = &#34;text/xml&#34; <br/>objResult.save (Response) <br/>Response.End <br/>Set objResult = Nothing <br/>end sub <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：27 <br/>&#39;函数作用：获取错误信息 <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-4-22 13：13 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39;返回值： <br/>&#39;============================================================================================================================ <br/>function get_err() <br/>if Err.Number &gt; 0 then <br/>get_err = Err.Description <br/>else <br/>get_err = &#34;T&#34; <br/>end if <br/>end function <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：28 <br/>&#39;函数作用：与SafeRequest相反 <br/>&#39;作者名称：茫仔 xiamangmang@gmail.com 博客：blog.mzoe.com <br/>&#39;建立时间：2006-2-16 15:32 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39; paraName:参数名称-字符型 <br/>&#39; paraType:参数类型-数字型(1表示以上参数是数字，0表示以上参数为字符)　 <br/>&#39;返回值： <br/>&#39; 过滤后的字符串 <br/>&#39;============================================================================================================================ <br/>function SafeResponse(content) <br/>dim paraValue <br/>paraValue = content <br/>paraValue = replace(paraValue,&#34;[system:34]&#34;,&#34;&#39;&#34;) <br/>paraValue = replace(paraValue,&#34;[system:61]&#34;,&#34;=&#34;) <br/>SafeResponse = paraValue <br/>end function <br/>&#39;============================================================================================================================ <br/>&#39;函数ID：29 <br/>&#39;函数作用：保存远程图片 <br/>&#39;作者名称：<a href="http://news.dvbbs.net/infoview/Article_2906.html" target="_blank">http://news.dvbbs.net/infoview/Article_2906.html</a> <br/>&#39;建立时间：2006-2-16 15:32 <br/>&#39;修改时间： <br/>&#39;传人参数： <br/>&#39; LocalFileName:本地文件名 <br/>&#39; RemoteFileUrl:远程文件URL <br/>&#39;返回值： <br/>&#39;============================================================================================================================ <br/>sub SaveRemoteFile(LocalFileName,RemoteFileUrl) <br/>dim Ads,Retrieval,GetRemoteData <br/>Set Retrieval = Server.Cr&#101;ateObject(&#34;Microsoft.XMLHTTP&#34;) <br/>With Retrieval <br/>.Open &#34;Get&#34;, RemoteFileUrl, False, &#34;&#34;, &#34;&#34; <br/>.Send <br/>GetRemoteData = .ResponseBody <br/>End With <br/>Set Retrieval = Nothing <br/>Set Ads = Server.Cr&#101;ateObject(&#34;Adodb.Stream&#34;) <br/>With Ads <br/>.Type = 1 <br/>.Open <br/>.Write GetRemoteData <br/>.SaveToFile LocalFileName,2 <br/>.Cancel() <br/>.Close() <br/>End With <br/>Set Ads=nothing <br/>end sub <br/>%&gt;<br/>]]></description>
		</item>
		
			<item>
			<link>http://www.windsfly.cn/blog/default.asp?id=1928</link>
			<title><![CDATA[一个实用的ASP多表查询例子]]></title>
			<author>sf223cn@yahoo.com.cn(admin)</author>
			<category><![CDATA[ASP]]></category>
			<pubDate>Mon,02 Aug 2010 09:33:18 +0800</pubDate>
			<guid>http://www.windsfly.cn/blog/default.asp?id=1928</guid>	
		<description><![CDATA[<p><font color="#808080">&lt;!--#include file=&quot;inc/conn.asp&quot;--&gt;<br />&lt;!--#include file=&quot;inc/ShowUserLogin.asp&quot;--&gt;<br />&lt;!--#include file=&quot;inc/code.asp&quot;--&gt;<br />&lt;!--#include file=&quot;inc/config.asp&quot;--&gt;<br />&lt;!--#include file=&quot;img.inc&quot;--&gt;<br />&lt;!--#include file=&quot;scroll.asp&quot;--&gt;<br />&lt;!--#include file=&quot;showAD.asp&quot;--&gt;<br />&lt;table width=&quot;100%&quot; border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td height=&quot;25&quot; class=&quot;classborder&quot;&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp; &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td width=&quot;91%&quot;&gt;&lt;table border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td width=&quot;20&quot; align=&quot;center&quot; class=&quot;touyingzhi&quot;&gt;&lt;img src=&quot;image/ico8.gif&quot; width=&quot;9&quot; height=&quot;12&quot;&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/td&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td class=&quot;touyingzhi&quot;&gt;OTC类招商&lt;/td&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/table&gt;&lt;/td&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td width=&quot;9%&quot;&gt;&lt;a href=&quot;otc.asp&quot;&gt;&lt;img src=&quot;image/MORE6.gif&quot; width=&quot;44&quot; height=&quot;12&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/td&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/table&gt;&lt;/td&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td class=&quot;left-border&quot; style=&quot;padding:5px&quot;&gt; <br />&lt;%<br />dim rszs,sqlzs,i7,row7<br />i7=1<br />row7=3<br />set rszs=Server.CreateObject(&quot;ADODB.recordset&quot;)<br />sqlzs=&quot;<strong><font color="#008080">select top 21 id,药品名称,图片,发布时间,发布人,UserName,comane,somane,Phone from main,[user] where (main.发布人 = user.UserName) and 类别=false and (大类='化学药品' or 大类='中药产品') and 审核=true order by ID desc</font></strong>&quot;<br />rszs.open sqlzs,conn,1,1</font></p>
<p><font color="#808080">if rszs.eof and rszs.bof then<br />response.Write(&quot;暂无任何招商信息&quot;)<br />end if<br />%&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;%Do While Not rszs.EOF%&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td align=&quot;center&quot; &lt;%if i7 mod 3&lt;&gt;0 then response.write&quot;style='border-right:solid 1px #d7d7d7'&quot; end if%&gt;&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div align=&quot;conter&quot; style=&quot;width:170px;height:23px;border-bottom:solid 1px #e8e8e8;padding-top:3px;&quot;&gt;</font></p>
<p><font color="#808080">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;%'if rszs(&quot;图片&quot;)&lt;&gt;&quot;nopic.gif&quot; then response.Write&quot;&lt;img src='image/pic.gif' alt='有产品图片'&gt;&quot;end if%&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;%'if datevalue(rszs(&quot;发布时间&quot;))=date() then response.Write&quot;&lt;font color=red&gt;&amp;nbsp;new&lt;/font&gt;&quot;%&gt;</font></p>
<p><font color="#808080"><font color="#008080"><strong>&lt;a href=&quot;yp_show.asp?id=&lt;%=rszs(&quot;ID&quot;)%&gt;&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;UploadFiles/&lt;%= rszs(&quot;图片&quot;) %&gt;&quot; width=&quot;168&quot; height=&quot;63&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;br/&gt;&lt;a href=&quot;yp_show.asp?id=&lt;%=rszs(&quot;ID&quot;)%&gt;&quot; target=&quot;_blank&quot;&gt;&lt;%=cutstr(rszs(&quot;药品名称&quot;),10)%&gt;&lt;/a&gt; &lt;br/&gt;<br />&lt;%if rszs(&quot;comane&quot;)&lt;&gt;&quot;&quot; then response.write rszs(&quot;comane&quot;) else response.write &quot;联系人：&quot;&amp;rszs(&quot;somane&quot;)&amp;&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;电话：&quot;&amp;rszs(&quot;Phone&quot;) end if%&gt;</strong><br /></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/td&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;%<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if i7 mod row7=0 then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; response.write&quot;&lt;/tr&gt;&quot;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i7=i7+1<br /><strong><font color="#008080">rszs.movenext<br />loop<br />rszs.close<br />set rszs=nothing<br /></font></strong>%&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/table&gt;&lt;/td&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/table&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/td&gt;<br /></font><font color="#008080"><strong>&lt;%<br />conn.close<br />set conn=nothing<br />%&gt;</strong></font></p>
<p align="center" forimg="1"><img class="blogimg" src="http://hiphotos.baidu.com/wqfwyj/pic/item/4ca705385f023afcb311c72f.jpg" width="914" border="0" small="0" alt="" /></p>
<p align="center" forimg="1">&nbsp;</p>
<p align="center" forimg="1"><strong>数据库结构图</strong></p>]]></description>
		</item>
		
			<item>
			<link>http://www.windsfly.cn/blog/default.asp?id=1927</link>
			<title><![CDATA[asp执行多表联合查询]]></title>
			<author>sf223cn@yahoo.com.cn(admin)</author>
			<category><![CDATA[ASP]]></category>
			<pubDate>Mon,02 Aug 2010 09:31:27 +0800</pubDate>
			<guid>http://www.windsfly.cn/blog/default.asp?id=1927</guid>	
		<description><![CDATA[多表查询<br/>在程序开发过程中，不仅可以对单一数据表进行查询，还可以进行多表查询，用户通过多表查询从多个表中提取出需要的数据。<br/>多表查询可以分为内连接查询、外连接查询以及联合查询。<br/>1．内连接查询<br/>连接查询是指通过各个表之间共同列的关联性查询数据。连接查询分为内连接查询和外连接查询。内连接是将两个相互交叉的数据集合中重叠部分的数据行连接起来，返回表示两个数据集合之间匹配连接关系的数据行。<br/>可以在FORM子句中使用INNER JOIN…ON…建立内连接，也可以在Wh&#101;re子句中指定连接条件建立内连接，例如：<br/>&lt;% Conn.Execute(&#34;sel&#101;ct a.UserName,b.BookName,b.Datetm from UserInfo as a inner join SellSheet as b on a.UserID= b.UserID&#34;) %&gt;<br/>也可以用下面的语句实现。<br/>&lt;% Conn.Execute(&#34;sel&#101;ct a.UserName,b.BookName,b.Datetm from UserInfo as a,SellSheet as b wh&#101;re a.UserID=b.UserID&#34;)%&gt;<br/>下面在SQL语句FROM后面使用INNER JOIN和ON关键字关联数据表“UserInfo”和“SellSheet”，并根据输入的用户名称进行查询。程序代码如下：<br/>&lt;%<br/>If Trim(Request(&#34;txt_name&#34;))&lt;&gt;&#34;&#34; Then txt_name=Trim(Request(&#34;txt_name&#34;))<br/>Set rs=Server.Cr&#101;ateObject(&#34;ADODB.Recordset&#34;)<br/>Set rs=Server.Cr&#101;ateObject(&#34;ADODB.Recordset&#34;)<br/>sqlstr=&#34;sel&#101;ct a.UserName,b.BookName,b.Datetm from UserInfo as a inner join SellSheet as b on a.UserID=b.UserID wh&#101;re a.UserName like &#39;%&#34;&amp;txt_name&amp;&#34;%&#39;&#34;<br/>rs.open sqlstr,Conn,1,1<br/>%&gt;<br/>2．外连接查询<br/>外连接是对内连接的扩充，除了将两个数据集合中重叠部分以内的数据行连接起来之外，还可以根据要求返回左侧或右侧数据集合中非匹配的数据，即左外连接（LEFT OUTER JOIN）和右外连接（RIGHT OUTER JOIN）。<br/>l&nbsp;&nbsp;&nbsp;&nbsp;左外连接LEFT OUTER JOIN<br/>左外连接LEFT OUTER JOIN逻辑运算符除了返回两个数据表中满足连接条件的行，它还返回任何在后一个数据表中没有匹配行的前一个数据表中的行。非匹配行的部分字段列作为空值返回。<br/>下面使用LEFT OUTER JOIN在数据表“UserInfo”和“SellSheet”之间建立左外连接，并可以根据输入的用户名称查询所有满足条件的用户信息（即使该用户未购买图书）。程序代码如下：<br/>&lt;%<br/>If Trim(Request(&#34;txt_name&#34;))&lt;&gt;&#34;&#34; Then txt_name=Trim(Request(&#34;txt_name&#34;))<br/>Set rs=Server.Cr&#101;ateObject(&#34;ADODB.Recordset&#34;)<br/>sqlstr=&#34;sel&#101;ct a.UserName,b.BookName,b.Datetm from UserInfo as a left outer join SellSheet as b on a.UserID = b.User ID wh&#101;re a.UserName like &#39;%&#34;&amp;txt_name&amp;&#34;%&#39;&#34;<br/>rs.open sqlstr,Conn,1,1<br/>%&gt;<br/>l&nbsp;&nbsp;&nbsp;&nbsp;右外连接RIGHT OUTER JOIN<br/>右外连接RIGHT OUTER JOIN是左外连接的反向连接。它除了返回两个数据表中满足连接条件的行，还返回任何在前一个数据表中没有匹配行的后一个数据表中的行。非匹配行的部分字段列作为空值返回。<br/>下面使用RIGHT OUTER JOIN在数据表“UserInfo”和“SellSheet”之间建立右外连接，并可以根据输入的图书名称查询所有的图书信息（即使该图书没有用户名称相对应）。程序代码如下：<br/>&lt;%<br/>If Trim(Request(&#34;txt_name&#34;))&lt;&gt;&#34;&#34; Then txt_name=Trim(Request(&#34;txt_name&#34;))<br/>Set rs=Server.Cr&#101;ateObject(&#34;ADODB.Recordset&#34;)<br/>sqlstr=&#34;sel&#101;ct a.UserName,b.BookName,b.Datetm from UserInfo as a right outer join SellSheet as b on a.UserID = b.User ID wh&#101;re b.BookName like &#39;%&#34;&amp;txt_name&amp;&#34;%&#39;&#34;<br/>rs.open sqlstr,Conn,1,1<br/>%&gt;<br/>3．使用UNION进行联合查询<br/>使用UNION运算符可以进行联合查询。UNION运算符连接多个Sel&#101;ct语句，将两个或更多查询的结果组合为单个结果集，该结果集包含联合查询中所有查询的全部行。<br/>使用UNION运算符遵循的规则如下：<br/>（1）在使用UNION运算符组合的语句中，所有选择列表的表达式数目必须相同（列名、算术表达式、聚集函数等）。<br/>（2）在使用UNION组合的结果集中的相应列必须具有相同数据类型，或者两种数据类型之间必须存在可能的隐性数据转换，或者提供了显式转换。例如，在datetime数据类型的列和binary数据类型的列之间不能使用UNION运算符，除非提供了显式转换，而在money数据类型的列和int数据类型的列之间可以使用UNION运算符，因为它们可以进行隐性转换。<br/>（3）结果集中列的名字或者别名是由第一个Sel&#101;ct语句的选择列表决定的。<br/>下面使用UNION运算符连接数据表“UserInfo”和“SellSheet”，根据输入的用户名称查询并同时显示该用户的名称和购买图书的名称。程序代码如下：<br/>&lt;%<br/>If Trim(Request(&#34;txt_name&#34;))&lt;&gt;&#34;&#34; Then txt_name=Trim(Request(&#34;txt_name&#34;))<br/>Set rs=Server.Cr&#101;ateObject(&#34;ADODB.Recordset&#34;)<br/>sqlstr=&#34;sel&#101;ct UserID,UserName from UserInfo wh&#101;re UserName=&#39;&#34;&amp;txt_name&amp;&#34;&#39; union sel&#101;ct UserID,BookName from Sell Sheet wh&#101;re UserName=&#39;&#34;&amp;txt_name&amp;&#34;&#39;&#34;<br/>rs.open sqlstr,Conn,1,1<br/>%&gt;<br/>注意：对数据表进行联合查询时，结果集中行的最大数量是各表行数之“和”，而对数据表进行连接查询时，结果集中行的最大数量是各表行数之“积”。<br/>]]></description>
		</item>
		
			<item>
			<link>http://www.windsfly.cn/blog/default.asp?id=1859</link>
			<title><![CDATA[无限级分类(ASP)]]></title>
			<author>sf223cn@yahoo.com.cn(admin)</author>
			<category><![CDATA[ASP]]></category>
			<pubDate>Fri,25 Jun 2010 15:23:49 +0800</pubDate>
			<guid>http://www.windsfly.cn/blog/default.asp?id=1859</guid>	
		<description><![CDATA[比较简单的一个页面,类似csdn论坛在ns下的左边列表<br/><br/>描述:<br/><br/>1.<br/><br/>数据名:tree.mdb<br/><br/>表名:tree<br/><br/>表结构:id(自编)&nbsp;&nbsp;pid(数字) content(文本) link(文本)<br/><br/>2.<br/><br/>图片:endnode.gif&nbsp;&nbsp;collapsed.gif&nbsp;&nbsp;back.gif(均在img目录下,可自行修改)<br/><br/>3.<br/><br/>代码:<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.windsfly.cn/blog/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&lt;!--#include file=&#34;conn.inc&#34;--&gt;<br/>&lt;HTML&gt;<br/>&lt;HEAD&gt;<br/>&lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=gb2312&#34;&gt;<br/>&lt;META NAME=&#34;GENERATOR&#34; Content=&#34;Microsoft FrontPage 4.0&#34;&gt;<br/>&lt;TITLE&gt;无限级列表&lt;/TITLE&gt;<br/>&lt;!--<br/>by fason(2003-5-12)<br/>--&gt;<br/>&lt;style&gt;<br/>.node{<br/>font-size:12px;<br/>padding:0 0 2 0;<br/>margin-left:10;<br/>height:22px;<br/>}<br/>img{<br/>vertical-align:middle;<br/>width:11px;<br/>height:11px;<br/>}<br/>a{text-decoration:none;font-size:12px;color:black}<br/>.deeptree{<br/>width:100%;<br/>height:100%;<br/>backgound-color:#f2f2f2;<br/>overflow:auto;<br/>}<br/><br/>&lt;/style&gt;<br/>&lt;/HEAD&gt;<br/>&lt;BODY bgcolor=#f2f2f2&gt;<br/>&lt;nobr&gt;<br/>&lt;div class=&#34;deeptree&#34;&gt;<br/>&lt;%<br/>newid=Request.QueryString(&#34;id&#34;)<br/>if newid=&#34;&#34; o&#114; CInt(newid)&lt;0 then newid=0<br/>if isNumeric(newid) then<br/>listTree(CInt(newid))<br/>end if<br/><br/>function listTree(id)<br/>dim rs<br/>dim imgFolder,imgFile<br/>dim link,href,parentHref<br/>dim target,ahref,click<br/>target=&#34;main&#34; &#39;所指定的框架名<br/>imgFolder=&#34;img/&#34; &#39;默认路径<br/>set rs=conn.execute(&#34;sel&#101;ct *,(sel&#101;ct count(*) from tree wh&#101;re pid = T.id) as children,(sel&#101;ct pid from tree wh&#101;re id=&#34;&amp;id&amp;&#34;) as parent from tree T wh&#101;re pid=&#34;&amp;id)<br/>if not rs.eof then<br/>parentHref=Request.ServerVariables(&#34;URL&#34;)&amp;&#34;?id=&#34;&amp;rs(&#34;parent&#34;)<br/>if id&lt;&gt;0 then Response.Write &#34;&lt;div class=&#39;node&#39; nowrap=true&gt;&lt;a href=&#39;&#34;&amp;parentHref&amp;&#34;&#39; onfocus=&#39;blur()&#39;&gt;&lt;img src=&#39;&#34;&amp;imgFolder&amp;&#34;back.gif&#39; border=0&gt;&lt;/a&gt; &lt;a href=&#39;&#34;&amp;parentHref&amp;&#34;&#39;&gt;上一级目录&lt;/a&gt;&lt;/div&gt;&#34;&amp;VbCrLf<br/>do while not rs.eof <br/>if rs(&#34;children&#34;)&gt;0 then<br/>img=imgFolder+&#34;collapsed.gif&#34;<br/>href=Request.ServerVariables(&#34;URL&#34;)&amp;&#34;?id=&#34;&amp;rs(&#34;id&#34;)<br/>click=&#34;onclick=&#34;&#34;location.href=&#39;&#34;&amp;href&amp;&#34;&#39;&#34;&#34;&#34;<br/>else<br/>img=imgFolder+&#34;endnode.gif&#34;<br/>href=&#34;javascript:void(0)&#34;<br/>end if<br/>if not isNull(rs(&#34;link&#34;)) then<br/>ahref=rs(&#34;link&#34;)<br/>else<br/>ahref=&#34;javascript:void(0)&#34;<br/>target=&#34;_self&#34;<br/>end if<br/>link=&#34;&lt;a href=&#39;&#34;&amp;ahref&amp;&#34;&#39; target=&#39;&#34;&amp;target&amp;&#34;&#39; title=&#39;&#34;&amp;rs(&#34;content&#34;)&amp;&#34;&#39; &#34;&amp;click&amp;&#34;&gt;&#34;&amp;rs(&#34;content&#34;)&amp;&#34;&lt;/a&gt;&#34;<br/>Response.Write &#34;&lt;div class=&#39;node&#39; nowrap=true&gt;&lt;a href=&#39;&#34;&amp;href&amp;&#34;&#39; onfocus=&#39;blur()&#39;&gt;&lt;img src=&#39;&#34;&amp;img&amp;&#34;&#39; border=0&gt;&lt;/a&gt; &#34;&amp;link&amp;&#34;&lt;/div&gt;&#34;<br/>rs.movenext<br/>loop<br/>rs.close:set rs=nothing<br/>end if<br/>end function<br/>conn.close:set conn=nothing<br/>%&gt;<br/><br/>&lt;/div&gt;<br/>&lt;/nobr&gt;<br/>&lt;/BODY&gt;<br/>&lt;/HTML&gt;</div></div><br/><br/><br/>conn.inc:<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.windsfly.cn/blog/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&lt;%<br/>dim conn<br/>set conn = Server.Cr&#101;ateObject(&#34;ADODB.Connection&#34;)<br/>conn.Open &#34;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&#34; &amp; Server.mappath(&#34;tree.mdb&#34;) &amp; &#34;;Persist Security Info=False&#34;<br/>%&gt;</div></div><br/><br/>4.测试:ie6,ns7,mozilla下测试通过<br/><br/>原理比较简单,有错请大家指正,谢谢<br/>]]></description>
		</item>
		
			<item>
			<link>http://www.windsfly.cn/blog/default.asp?id=1858</link>
			<title><![CDATA[ASP中一个字符串处理类]]></title>
			<author>sf223cn@yahoo.com.cn(admin)</author>
			<category><![CDATA[ASP]]></category>
			<pubDate>Fri,25 Jun 2010 14:30:35 +0800</pubDate>
			<guid>http://www.windsfly.cn/blog/default.asp?id=1858</guid>	
		<description><![CDATA[<div class="UBBPanel"><div class="UBBTitle"><img src="http://www.windsfly.cn/blog/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&lt;%<br/>class StringOperations<br/><br/>&#39;&#39;****************************************************************************<br/>&#39;&#39;&#39;&#39; @功能说明: 把字符串换为char型数组<br/>&#39;&#39;&#39;&#39; @参数说明:　 - str [string]: 需要转换的字符串<br/>&#39;&#39;&#39;&#39; @返回值:　　 - [Array] Char型数组<br/>&#39;&#39;****************************************************************************<br/>public function toCharArray(byVal str)<br/>　redim charArray(len(str))<br/>　for i = 1 to len(str)<br/>　 charArray(i-1) = Mid(str,i,1)<br/>　next<br/>　toCharArray = charArray<br/>end function<br/><br/>&#39;&#39;****************************************************************************<br/>&#39;&#39;&#39;&#39; @功能说明: 把一个数组转换成一个字符串<br/>&#39;&#39;&#39;&#39; @参数说明:　 - arr [Array]: 需要转换的数据<br/>&#39;&#39;&#39;&#39; @返回值:　　 - [string] 字符串<br/>&#39;&#39;****************************************************************************<br/>public function arrayToString(byVal arr)<br/>　for i = 0 to UBound(arr)<br/>　 strObj = strObj &amp; arr(i)<br/>　next<br/>　arrayToString = strObj<br/>end function<br/><br/>&#39;&#39;****************************************************************************<br/>&#39;&#39;&#39;&#39; @功能说明: 检查源字符串str是否以chars开头<br/>&#39;&#39;&#39;&#39; @参数说明:　 - str [string]: 源字符串<br/>&#39;&#39;&#39;&#39; @参数说明:　 - chars [string]: 比较的字符/字符串<br/>&#39;&#39;&#39;&#39; @返回值:　　 - [bool]<br/>&#39;&#39;****************************************************************************<br/>public function startsWith(byVal str, chars)<br/>　if Left(str,len(chars)) = chars then<br/>　 startsWith = true<br/>　else<br/>　 startsWith = false<br/>　end if<br/>end function<br/><br/>&#39;&#39;****************************************************************************<br/>&#39;&#39;&#39;&#39; @功能说明: 检查源字符串str是否以chars结尾<br/>&#39;&#39;&#39;&#39; @参数说明:　 - str [string]: 源字符串<br/>&#39;&#39;&#39;&#39; @参数说明:　 - chars [string]: 比较的字符/字符串<br/>&#39;&#39;&#39;&#39; @返回值:　　 - [bool]<br/>&#39;&#39;****************************************************************************<br/>public function endsWith(byVal str, chars)<br/>　if Right(str,len(chars)) = chars then<br/>　 endsWith = true<br/>　else<br/>　 endsWith = false<br/>　end if<br/>end function<br/><br/>&#39;&#39;****************************************************************************<br/>&#39;&#39;&#39;&#39; @功能说明: 复制N个字符串str<br/>&#39;&#39;&#39;&#39; @参数说明:　 - str [string]: 源字符串<br/>&#39;&#39;&#39;&#39; @参数说明:　 - n [int]: 复制次数<br/>&#39;&#39;&#39;&#39; @返回值:　　 - [string] 复制后的字符串<br/>&#39;&#39;****************************************************************************<br/>public function clone(byVal str, n)<br/>　for i = 1 to n<br/>　 value = value &amp; str<br/>　next<br/>　clone = value<br/>end function<br/><br/>&#39;&#39;****************************************************************************<br/>&#39;&#39;&#39;&#39; @功能说明: 删除源字符串str的前N个字符<br/>&#39;&#39;&#39;&#39; @参数说明:　 - str [string]: 源字符串<br/>&#39;&#39;&#39;&#39; @参数说明:　 - n [int]: 删除的字符个数<br/>&#39;&#39;&#39;&#39; @返回值:　　 - [string] 删除后的字符串<br/>&#39;&#39;****************************************************************************<br/>public function trimStart(byVal str, n)<br/>　value = Mid(str, n+1)<br/>　trimStart = value<br/>end function<br/><br/>&#39;&#39;****************************************************************************<br/>&#39;&#39;&#39;&#39; @功能说明: 删除源字符串str的最后N个字符串<br/>&#39;&#39;&#39;&#39; @参数说明:　 - str [string]: 源字符串<br/>&#39;&#39;&#39;&#39; @参数说明:　 - n [int]: 删除的字符个数<br/>&#39;&#39;&#39;&#39; @返回值:　　 - [string] 删除后的字符串<br/>&#39;&#39;****************************************************************************<br/>public function trimEnd(byVal str, n)<br/>　value = Left(str, len(str)-n)<br/>　trimEnd = value<br/>end function<br/><br/>&#39;&#39;****************************************************************************<br/>&#39;&#39;&#39;&#39; @功能说明: 检查字符character是否是英文字符 A-Z o&#114; a-z<br/>&#39;&#39;&#39;&#39; @参数说明:　 - character [char]: 检查的字符<br/>&#39;&#39;&#39;&#39; @返回值:　　 - [bool] 如果是英文字符,返回TRUE,反之为FALSE<br/>&#39;&#39;****************************************************************************<br/>public function isAlphabetic(byVal character)<br/>　asciiValue = cint(asc(character))<br/>　if (65 &lt;= asciiValue and asciiValue &lt;= 90) o&#114; (97 &lt;= asciiValue and asciiValue &lt;= 122) then<br/>　 isAlphabetic = true<br/>　else<br/>　 isAlphabetic = false<br/>　end if<br/>end function<br/><br/>&#39;&#39;****************************************************************************<br/>&#39;&#39;&#39;&#39; @功能说明: 对str字符串进行大小写转换<br/>&#39;&#39;&#39;&#39; @参数说明:　 - str [string]: 源字符串<br/>&#39;&#39;&#39;&#39; @返回值:　　 - [string] 转换后的字符串<br/>&#39;&#39;****************************************************************************<br/>public function swapCase(str)<br/>　for i = 1 to len(str)<br/>　 current = mid(str, i, 1)<br/>　 if isAlphabetic(current) then<br/>　　 high = asc(ucase(current))<br/>　　 low = asc(lcase(current))<br/>　　 sum = high + low<br/>　　 return = return &amp; chr(sum-asc(current))<br/>　 else<br/>　　 return = return &amp; current<br/>　 end if<br/>　next<br/>　swapCase = return<br/>end function<br/><br/>&#39;&#39;****************************************************************************<br/>&#39;&#39;&#39;&#39; @功能说明: 将源字符串str中每个单词的第一个字母转换成大写<br/>&#39;&#39;&#39;&#39; @参数说明:　 - str [string]: 源字符串<br/>&#39;&#39;&#39;&#39; @返回值:　　 - [string] 转换后的字符串<br/>&#39;&#39;****************************************************************************<br/>public function capitalize(str)<br/>　words = split(str,&#34; &#34;)<br/>　for i = 0 to ubound(words)<br/>　 if not i = 0 then<br/>　　 tmp = &#34; &#34;<br/>　 end if<br/>　 tmp = tmp &amp; ucase(left(words(i), 1)) &amp; right(words(i), len(words(i))-1)<br/>　 words(i) = tmp<br/>　next<br/>　capitalize = arrayToString(words)<br/>end function<br/><br/>&#39;&#39;****************************************************************************<br/>&#39;&#39;&#39;&#39; @功能说明: 将源字符Str后中的&#39;&#39;过滤为&#39;&#39;&#39;&#39;<br/>&#39;&#39;&#39;&#39; @参数说明:　 - str [string]: 源字符串<br/>&#39;&#39;&#39;&#39; @返回值:　　 - [string] 转换后的字符串<br/>&#39;&#39;****************************************************************************<br/>public function checkstr(Str)<br/>　If Trim(Str)=&#34;&#34; o&#114; IsNull(str) Then<br/>　 checkstr=&#34;&#34;<br/>　else<br/>　 checkstr=Replace(Trim(Str),&#34;&#39;&#39;&#34;,&#34;&#39;&#39;&#39;&#39;&#34;)<br/>　end if<br/>End function<br/><br/>&#39;&#39;****************************************************************************<br/>&#39;&#39;&#39;&#39; @功能说明: 将字符串中的str中的HTML代码进行过滤<br/>&#39;&#39;&#39;&#39; @参数说明:　 - str [string]: 源字符串<br/>&#39;&#39;&#39;&#39; @返回值:　　 - [string] 转换后的字符串<br/>&#39;&#39;****************************************************************************<br/>Public Function HtmlEncode(str)<br/>　If Trim(Str)=&#34;&#34; o&#114; IsNull(str) then<br/>　 HtmlEncode=&#34;&#34;<br/>　else<br/>　 str=Replace(str,&#34;&gt;&#34;,&#34;&gt;&#34;)<br/>　 str=Replace(str,&#34;&lt;&#34;,&#34;&lt;&#34;)<br/>　 str=Replace(str,Chr(32),&#34; &#34;)<br/>　 str=Replace(str,Chr(9),&#34; &#34;)<br/>　 str=Replace(str,Chr(34),&#34;&#34;&#34;)<br/>　 str=Replace(str,Chr(39),&#34;&#39;&#34;)<br/>　 str=Replace(str,Chr(13),&#34;&#34;)<br/>　 str=Replace(str,Chr(10) &amp; Chr(10), &#34;&lt;/p&gt;&lt;p&gt;&#34;)<br/>　 str=Replace(str,Chr(10),&#34;&lt;br&gt; &#34;)<br/>　 HtmlEncode=str<br/>　end if<br/>End Function<br/><br/>&#39;&#39;****************************************************************************<br/>&#39;&#39;&#39;&#39; @功能说明: 计算源字符串Str的长度(一个中文字符为2个字节长)<br/>&#39;&#39;&#39;&#39; @参数说明:　 - str [string]: 源字符串<br/>&#39;&#39;&#39;&#39; @返回值:　　 - [Int] 源字符串的长度<br/>&#39;&#39;****************************************************************************<br/>Public Function strLen(Str)<br/>　If Trim(Str)=&#34;&#34; o&#114; IsNull(str) Then<br/>　 strlen=0<br/>　else<br/>　 Dim P_len,x<br/>　 P_len=0<br/>　 StrLen=0<br/>　 P_len=Len(Trim(Str))<br/>　 For x=1 To P_len<br/>　　 If Asc(Mid(Str,x,1))&lt;0 Then<br/>　　　 StrLen=Int(StrLen) + 2<br/>　　 Else<br/>　　　 StrLen=Int(StrLen) + 1<br/>　　 End If<br/>　 Next<br/>　end if<br/>End Function<br/><br/>&#39;&#39;****************************************************************************<br/>&#39;&#39;&#39;&#39; @功能说明: 截取源字符串Str的前LenNum个字符(一个中文字符为2个字节长)<br/>&#39;&#39;&#39;&#39; @参数说明:　 - str [string]: 源字符串<br/>&#39;&#39;&#39;&#39; @参数说明:　 - LenNum [int]: 截取的长度<br/>&#39;&#39;&#39;&#39; @返回值:　　 - [string]: 转换后的字符串<br/>&#39;&#39;****************************************************************************<br/>Public Function CutStr(Str,LenNum)<br/>　Dim P_num<br/>　Dim I,X<br/>　If StrLen(Str)&lt;=LenNum Then<br/>　 Cutstr=Str<br/>　Else<br/>　 P_num=0<br/>　 X=0<br/>　 Do While Not P_num &gt; LenNum-2<br/>　　 X=X+1<br/>　　 If Asc(Mid(Str,X,1))&lt;0 Then<br/>　　　 P_num=Int(P_num) + 2<br/>　　 Else<br/>　　　 P_num=Int(P_num) + 1<br/>　　 End If<br/>　　 Cutstr=Left(Trim(Str),X)&amp;&#34;...&#34;<br/>　 Loop<br/>　End If<br/>End Function<br/><br/>end class<br/>%&gt;</div></div>]]></description>
		</item>
		
			<item>
			<link>http://www.windsfly.cn/blog/default.asp?id=1857</link>
			<title><![CDATA[asp将页面中的电话号码生成图片格式]]></title>
			<author>sf223cn@yahoo.com.cn(admin)</author>
			<category><![CDATA[ASP]]></category>
			<pubDate>Fri,25 Jun 2010 14:23:04 +0800</pubDate>
			<guid>http://www.windsfly.cn/blog/default.asp?id=1857</guid>	
		<description><![CDATA[作用：将页面中的电话号码生成图片格式。<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.windsfly.cn/blog/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&lt;%<br/>Call Com_CreatValidCode(Request.QueryString(&#34;tel&#34;))<br/><br/>Public Sub Com_CreatValidCode(pTel)<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp; &#39;----------禁止缓存 <br/>&nbsp;&nbsp;&nbsp;&nbsp; Response.Expires = 0<br/>&nbsp;&nbsp;&nbsp;&nbsp; Response.AddHeader &#34;Pragma&#34;,&#34;no-cache&#34; <br/>&nbsp;&nbsp;&nbsp;&nbsp; Response.AddHeader &#34;cache-ctrol&#34;,&#34;no-cache&#34; <br/>&nbsp;&nbsp;&nbsp;&nbsp; Response.ContentType = &#34;Image/BMP&#34;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp; Randomize<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp; Dim i, ii, iii ,rndColor,strLen,sql,rs<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp; Const cOdds = 5 &#39;------------杂点出现的机率<br/>&nbsp;&nbsp;&nbsp;&nbsp; Const str=&#34;0123456789-&#34; <br/>&nbsp;&nbsp;&nbsp;&nbsp; strLen = len(pTel)<br/>&nbsp;&nbsp;&nbsp;&nbsp; rndColor = ChrB(cint(rnd*255)) &amp; ChrB(cint(rnd*255)) &amp; ChrB(cint(rnd*255))<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp; &#39;-----------颜色的数据(字符，背景) <br/>&nbsp;&nbsp;&nbsp;&nbsp; Dim vColorData(1)<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp; &#39;vColorData(0) = ChrB(0) &amp; ChrB(0) &amp; ChrB(0)&nbsp;&nbsp;&nbsp;&nbsp; &#39;----蓝0，绿0，红0（黑色） <br/>&nbsp;&nbsp;&nbsp;&nbsp; &#39;vColorData(1) = ChrB(255) &amp; ChrB(255) &amp; ChrB(255) &#39;----蓝250，绿236，红211（浅蓝色）<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp; &#39;vColorData(0) = ChrB(197) &amp; ChrB(106) &amp; ChrB(49)&nbsp;&nbsp;&nbsp;&nbsp; &#39;---- 蓝0，绿0，红0（黑色） <br/>&nbsp;&nbsp;&nbsp;&nbsp; &#39;vColorData(1) = ChrB(238) &amp; ChrB(210) &amp; ChrB(193) &#39;-----蓝250，绿236，红211（浅蓝色）<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp; vColorData(0) = ChrB(0) &amp; ChrB(0) &amp; ChrB(0)&nbsp;&nbsp;&nbsp;&nbsp; &#39;---------蓝0，绿0，红0（黑色） <br/>&nbsp;&nbsp;&nbsp;&nbsp; vColorData(1) = ChrB(205) &amp; ChrB(237) &amp; ChrB(245) &#39;------------蓝250，绿236，红211（浅蓝色）<br/><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp; &#39;--------------------随机产生字符 <br/>&nbsp;&nbsp;&nbsp;&nbsp; Randomize<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp; Dim vCode()<br/>&nbsp;&nbsp;&nbsp;&nbsp; redim vCode(strLen-1)<br/>&nbsp;&nbsp;&nbsp;&nbsp; For i = 0 To strLen-1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vCode(i) =instr(1,str,mid(pTel,i+1,1),1)-1<br/>&nbsp;&nbsp;&nbsp;&nbsp; Next<br/><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp; &#39;-----------字符的数据 <br/>&nbsp;&nbsp;&nbsp;&nbsp; Dim vNumberData(11)<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp; &#39;Verdana Font<br/>&nbsp;&nbsp;&nbsp;&nbsp; vNumberData(0) = &#34;11111111111000111101110111011101110111011101110111011101110111011110001111111111&#34; <br/>&nbsp;&nbsp;&nbsp;&nbsp; vNumberData(1) = &#34;11111111111101111110011111110111111101111111011111110111111101111110001111111111&#34; <br/>&nbsp;&nbsp;&nbsp;&nbsp; vNumberData(2) = &#34;11111111111000111101110111011101111110111111011111101111110111111100000111111111&#34; <br/>&nbsp;&nbsp;&nbsp;&nbsp; vNumberData(3) = &#34;11111111111000111101110111111101111100111111110111111101110111011110001111111111&#34; <br/>&nbsp;&nbsp;&nbsp;&nbsp; vNumberData(4) = &#34;11111111111110111111001111101011111010111101101111100001111110111111100111111111&#34; <br/>&nbsp;&nbsp;&nbsp;&nbsp; vNumberData(5) = &#34;11111111110000011101111111011111110000111111110111111101110111011110001111111111&#34; <br/>&nbsp;&nbsp;&nbsp;&nbsp; vNumberData(6) = &#34;11111111111000111101101111011111110000111101110111011101110111011110001111111111&#34; <br/>&nbsp;&nbsp;&nbsp;&nbsp; vNumberData(7) = &#34;11111111110000011101101111111011111101111111011111110111111101111111011111111111&#34; <br/>&nbsp;&nbsp;&nbsp;&nbsp; vNumberData(8) = &#34;11111111111000111101110111011101111000111101110111011101110111011110001111111111&#34; <br/>&nbsp;&nbsp;&nbsp;&nbsp; vNumberData(9) = &#34;11111111111000111101110111011101110111011110000111111101111011011110000111111111&#34; <br/>&nbsp;&nbsp;&nbsp;&nbsp; vNumberData(10) = &#34;11111111111111111111111111111111111111111100000111111111111111111111111111111111&#34; <br/>&nbsp;&nbsp;&nbsp;&nbsp; vNumberData(11) = &#34;11111111111111111111111111111111111111111111111111111111111111111111111111111111&#34;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp; &#39;-----------------输出图像文件头 &lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp; Response.BinaryWrite ChrB(66) &amp; ChrB(77) &amp;chrb(((strLen*8*10*3+54) mod 256)) &amp; chrb(((strLen*8*10*3+54)\ 256)mod 256) &amp; ChrB((((strLen*8*10*3+54)\ 256)\256)mod 256) &amp; ChrB(((((strLen*8*10*3+54)\ 256)\256)\256)mod 256) &amp; ChrB(0) &amp; ChrB(0) &amp;_ <br/>&nbsp;&nbsp;&nbsp;&nbsp; ChrB(0) &amp; ChrB(0) &amp; ChrB(54) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(40) &amp; ChrB(0) &amp;_ <br/>&nbsp;&nbsp;&nbsp;&nbsp; ChrB(0) &amp; ChrB(0) &amp; ChrB(strLen*8) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(10) &amp; ChrB(0) &amp;_ <br/>&nbsp;&nbsp;&nbsp;&nbsp; ChrB(0) &amp; ChrB(0) &amp; ChrB(1) &amp; ChrB(0)<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp; &#39;------------------输出图像信息头 <br/>&nbsp;&nbsp;&nbsp;&nbsp; Response.BinaryWrite ChrB(24) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0)&amp;_<br/>&nbsp;&nbsp;&nbsp;&nbsp; ChrB((strLen*8*10*3)mod 256)&amp;ChrB(((strLen*8*10*3)\256)mod 256)&amp;ChrB((((strLen*8*10*3)\256)\256)mod 256)&amp;ChrB(((((strLen*8*10*3)\256)\256)\256)mod 256)&amp;_ <br/>&nbsp;&nbsp;&nbsp;&nbsp; ChrB(196) &amp; ChrB(14) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(196) &amp; ChrB(14)&amp;ChrB(0) &amp; ChrB(0) &amp;_ <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0)<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp; For i = 9 To 0 Step -1&nbsp;&nbsp;&nbsp;&nbsp; &#39;----------历经所有行 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For ii = 0 To strLen-1&nbsp;&nbsp;&nbsp;&nbsp; &#39;-------历经所有字 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For iii = 1 To 8 &#39;--------历经所有像素 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;---------逐行、逐字、逐像素地输出图像数据 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If Rnd * 99 + 1 &lt; cOdds Then &#39;---------随机生成杂点 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.BinaryWrite rndColor<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.BinaryWrite vColorData(Mid(vNumberData(vCode(ii)), i * 8 + iii, 1)) <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Next <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Next <br/>&nbsp;&nbsp;&nbsp;&nbsp; Next <br/>End Sub<br/>%&gt;</div></div><br/><br/>将以上代码保存为img.asp，在要显示电话号码的位置插入&lt;img src=&#34;img.asp?tel=0591-26728373&#34;&gt;即可。<br/>]]></description>
		</item>
		
			<item>
			<link>http://www.windsfly.cn/blog/default.asp?id=1856</link>
			<title><![CDATA[ASP实现防盗链的方法]]></title>
			<author>sf223cn@yahoo.com.cn(admin)</author>
			<category><![CDATA[ASP]]></category>
			<pubDate>Fri,25 Jun 2010 14:18:51 +0800</pubDate>
			<guid>http://www.windsfly.cn/blog/default.asp?id=1856</guid>	
		<description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;盗链对于广大做网站的朋友来说一直是个头疼的问题，盗链严重影响了服务器及网站的正常运行，放盗链变的十分需要了，今天一起来看看一个ASP防盗链的实现方法吧。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;如果我们知道一个静态文件的实际路径如：<a href="http://www.xx.com/download/webjx.pdf" target="_blank">http://www.xx.com/download/webjx.pdf</a>，如果服务器没有作特别的限制设置，我们就可以毫不费力的把它下载下来！当网站提供webjx.pdf下载时，怎么样才能让下载者无法得到他的实际路径呢！本文就来介绍如何使用Asp来隐藏文件的实际下载路径。<br/><br/>　　我们在管理网站文件时，可以把扩展名一样的文件放在同一个目录下，起一个比较特别名字，例如放pdf文件目录为the_pdf_file_s，把下面代码另存为down.asp，他的网上路径为<a href="http://www.xx.com/down.asp" target="_blank">http://www.xx.com/down.asp</a>，我们就可以用<a href="http://www.xx.com/down.asp?FileName=webjx.pdf" target="_blank">http://www.xx.com/down.asp?FileName=webjx.pdf</a>来下载这个文件了，而且下载者无法看到这个文件实际下载路径的！在down.asp中我们还可以设置下载文件是否需要登陆，判断下载的来源页是否为外部网站，从而可以做到防止文件被盗链。<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.windsfly.cn/blog/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&lt;% <br/>From_url = Cstr(Request.ServerVariables(&#34;HTTP_REFERER&#34;)) <br/>Serv_url = Cstr(Request.ServerVariables(&#34;SERVER_NAME&#34;)) <br/>if mid(From_url,8,len(Serv_url)) &lt;&gt; Serv_url then <br/>response.write &#34;非法链接！&#34; &#39;&#39;防止盗链 <br/>response.end<br/>end if<br/>if Request.Cookies(&#34;Logined&#34;)=&#34;&#34; then <br/>response.redirect &#34;/login.asp&#34; &#39;&#39;需要登陆！ <br/>end if <br/>Function GetFileName(longname)&#39;&#39;/folder1/folder2/file.asp=&gt;file.asp <br/>while instr(longname,&#34;/&#34;) <br/>longname = right(longname,len(longname)-1) <br/>wend <br/>GetFileName = longname <br/>End Function <br/>Dim Stream <br/>Dim Contents <br/>Dim FileName <br/>Dim TrueFileName <br/>Dim FileExt <br/>Const adTypeBinary = 1 <br/>FileName = Request.QueryString(&#34;FileName&#34;) <br/>if FileName = &#34;&#34; Then <br/>Response.Write &#34;无效文件名！&#34; <br/>Response.End <br/>End if <br/>FileExt = Mid(FileName, InStrRev(FileName, &#34;.&#34;) + 1) <br/>sel&#101;ct Case UCase(FileExt) <br/>Case &#34;ASP&#34;, &#34;ASA&#34;, &#34;ASPX&#34;, &#34;ASAX&#34;, &#34;MDB&#34; <br/>Response.Write &#34;非法操作！&#34; <br/>Response.End <br/>End sel&#101;ct <br/>Response.Clear <br/>if lcase(right(FileName,3))=&#34;gif&#34; o&#114; lcase(right(FileName,3))=&#34;jpg&#34; o&#114; lcase(right(FileName,3))=&#34;png&#34; then <br/>Response.ContentType = &#34;image/*&#34; &#39;&#39;对图像文件不出现下载对话框 <br/>else <br/>Response.ContentType = &#34;application/ms-download&#34; <br/>end if <br/>Response.AddHeader &#34;content-disposition&#34;, &#34;attachment; filename=&#34; &amp; GetFileName(Request.QueryString(&#34;FileName&#34;)) <br/>Set Stream = server.cr&#101;ateObject(&#34;ADODB.Stream&#34;) <br/>Stream.Type = adTypeBinary <br/>Stream.Open <br/>if lcase(right(FileName,3))=&#34;pdf&#34; then &#39;&#39;设置pdf类型文件目录 <br/>TrueFileName = &#34;/the_pdf_file_s/&#34;&amp;FileName <br/>end if <br/>if lcase(right(FileName,3))=&#34;doc&#34; then &#39;&#39;设置DOC类型文件目录 <br/>TrueFileName = &#34;/my_D_O_C_file/&#34;&amp;FileName <br/>end if <br/>if lcase(right(FileName,3))=&#34;gif&#34; o&#114; lcase(right(FileName,3))=&#34;jpg&#34; o&#114; lcase(right(FileName,3))=&#34;png&#34; then <br/>TrueFileName = &#34;/all_images_/&#34;&amp;FileName &#39;&#39;设置图像文件目录 <br/>end if <br/>Stream.LoadFromFile Server.MapPath(TrueFileName) <br/>While Not Stream.EOS <br/>Response.BinaryWrite Stream.Read(1024 * 64) <br/>Wend <br/>Stream.Close <br/>Set Stream = Nothing <br/>Response.Flush <br/>Response.End <br/>%&gt;</div></div>]]></description>
		</item>
		
</channel>
</rss>