<?xml version="1.0" encoding="gb2312"?>
<rss version="2.0">
<channel>
       <title>壹次网 - 网络编程</title>
       <link>http://www.yici.net</link>
       <description>网络编程</description>
       <language>zh-cn</language>
       <generator>Www.Yici.Net</generator>
       <copyright>Copyright 2006-2012 www.Yici.Net, All Rights Reserved</copyright>
       <pubDate>2012-5-19 18:02:39</pubDate>
       <item>
           <title>[JavaScript]eWebEditor不支持IE9、IE8、IE7、火狐、遨游的解决方法</title>
           <link>http://www.yici.net/content/text_all/text_0/711_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>JavaScript</category>
           <pubDate>2012-5-19 17:27:00</pubDate>
           <comments></comments>
           <description>昨天ie8正式发布了，偶也去下载了一个，感觉很爽，&amp;nbsp;还在美的时候，突然发现很多网页都出问题，更可气的是自己的网站编辑器也不管用了，所有的按钮都不管用，即使是别的浏览器也都不管用，我这叫一个汗。于是就去360论坛找人问，因为我用的360浏览器以为是360浏览器的问题。问了半天也没有人回答我于是我就去网上找，由于今天才出的ie8所以网上根本也没有这方面的解决办法，于是到了第二天，网上终于有了这样的贴子，所以我也找了找解决办法。&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;在一个哥们的贴子中是这样写的，打开include下面的editor.js文件，有这样的段代码： &lt;BR&gt;&lt;BR&gt;if&amp;nbsp;(element.YUSERONCLICK)&amp;nbsp;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;eval(element.YUSERONCLICK&amp;nbsp;+&amp;nbsp;&quot;anonymous()&quot;); &lt;BR&gt;} &lt;BR&gt;或 &lt;BR&gt;if&amp;nbsp;(element.YUSERONCLICK)&amp;nbsp;eval(element.YUSERONCLICK&amp;nbsp;+&amp;nbsp;&quot;anonymous()&quot;); &lt;BR&gt;或&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;if&amp;nbsp;(element.YUSERONCLICK)&amp;nbsp;eval(element.YUSERONCLICK&amp;nbsp;+&amp;nbsp;&quot;anonymous()&quot;); &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;说是因为ie8屏蔽了anonymous方法&amp;nbsp;所以要改成click方法，于是就改成这样，但是我又有了一个惊人的发现，那就是改成这样之后在ie7下编辑器就不管用了，痛苦之余我又去网上查，网上果然高水如云，果然在csdn上找到了答案： &lt;BR&gt;&lt;BR&gt;if(navigator.appVersion.match(/8./i)=='8.')&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(element.YUSERONCLICK)&amp;nbsp;eval(element.YUSERONCLICK&amp;nbsp;+&amp;nbsp;&quot;onclick(event)&quot;);&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp; &lt;BR&gt;else &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(element.YUSERONCLICK)&amp;nbsp;eval(element.YUSERONCLICK&amp;nbsp;+&amp;nbsp;&quot;anonymous()&quot;);&amp;nbsp; &lt;BR&gt;} &lt;BR&gt;&lt;BR&gt;如果还是不行用下面这个 &lt;BR&gt;&lt;BR&gt;if(navigator.appVersion.match(/8./i)=='8.'&amp;nbsp;||&amp;nbsp;navigator.appVersion.match(/7./i)=='7.'){ &lt;BR&gt;if&amp;nbsp;(element.YUSERONCLICK)&amp;nbsp;eval(element.YUSERONCLICK&amp;nbsp;+&amp;nbsp;&quot;onclick(event)&quot;);&amp;nbsp;//IE8&amp;nbsp;or&amp;nbsp;IE7 &lt;BR&gt;}&amp;nbsp;else&amp;nbsp;{ &lt;BR&gt;if&amp;nbsp;(element.YUSERONCLICK)&amp;nbsp;eval(element.YUSERONCLICK&amp;nbsp;+&amp;nbsp;&quot;anonymous()&quot;);&amp;nbsp;//IE6 &lt;BR&gt;} &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;把代码改成这样之后在ie7和ie8下就都管用了。 &lt;BR&gt;&lt;BR&gt;========================================================================= &lt;BR&gt;&lt;BR&gt;以上是一个人的说话,以下是另一个人的 &lt;BR&gt;&lt;BR&gt;还有由于那个eWebEditor编辑器的问题。 &lt;BR&gt;&lt;BR&gt;今天检查公司一老站后台，发现eWebEditor编辑不能使用，按照网上找的答案 &lt;BR&gt;&lt;BR&gt;找到editor.js文件，把这文件里的一行语句if(element.YUSERONCLICK)eval(element.YUSERONCLICK&amp;nbsp;+&amp;nbsp;“anonymous()”);&amp;nbsp; &lt;BR&gt;修改成&amp;nbsp; &lt;BR&gt;if(navigator.appVersion.match(/8./i)==’8.’)&amp;nbsp; &lt;BR&gt;{&amp;nbsp; &lt;BR&gt;if(element.YUSERONCLICK)eval(element.YUSERONCLICK&amp;nbsp;+&amp;nbsp;“onclick(event)”);&amp;nbsp; &lt;BR&gt;}&amp;nbsp; &lt;BR&gt;else&amp;nbsp; &lt;BR&gt;{&amp;nbsp; &lt;BR&gt;if(element.YUSERONCLICK)eval(element.YUSERONCLICK&amp;nbsp;+&amp;nbsp;“anonymous()”);&amp;nbsp; &lt;BR&gt;}&amp;nbsp; &lt;BR&gt;原因是IE8不支持anonymous（），所以要换成onclick(event)事件。 &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;修改之后一同事使用IE7竟然不能正常使用该编辑器，修改之后可以。 &lt;BR&gt;&lt;BR&gt;估计还是那行代码的问题。恢复以前的，IE7可以而IE8不可以。看来还必须先判断IE版本然后再写不同的代码。 &lt;BR&gt;&lt;BR&gt;于是就使用了下面的代码： &lt;BR&gt;if(navigator.appVersion.match(/8./i)=='8.'){ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(element.YUSERONCLICK)&amp;nbsp;eval(element.YUSERONCLICK&amp;nbsp;+&amp;nbsp;&quot;onclick(event)&quot;); &lt;BR&gt;}else{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(element.YUSERONCLICK)&amp;nbsp;eval(element.YUSERONCLICK&amp;nbsp;+&amp;nbsp;&quot;anonymous()&quot;); &lt;BR&gt;} &lt;BR&gt;&lt;BR&gt;修改之后在IE8和IE7均可以正常使用eWebEditor编辑器。 &lt;BR&gt;&lt;BR&gt;但是在装有IE8的机器上使用傲游浏览器竟然不能使用该编辑器，纳闷了，傲游是IE内核，应该可以呀。 &lt;BR&gt;&lt;BR&gt;于是就使用alert(navigator.appVersion)弹出信息，结果发现竟然是IE7？ &lt;BR&gt;晕了！竟然不一样？难道傲游没有用到真正的IE8内核？还是显示的问题？ &lt;BR&gt;&lt;BR&gt;难道再加一句判断傲游的？ &lt;BR&gt;没办法： &lt;BR&gt;&lt;BR&gt;if(navigator.appVersion.match(/8./i)=='8.'&amp;nbsp;||&amp;nbsp;navigator.appVersion.match(/MAXTHON/i)=='MAXTHON'){ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(element.YUSERONCLICK)&amp;nbsp;eval(element.YUSERONCLICK&amp;nbsp;+&amp;nbsp;&quot;onclick(event)&quot;); &lt;BR&gt;}else{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(element.YUSERONCLICK)&amp;nbsp;eval(element.YUSERONCLICK&amp;nbsp;+&amp;nbsp;&quot;anonymous()&quot;); &lt;BR&gt;} &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;前几天看新闻说傲游开发自己的内核浏览器，希望众多浏览器在兼容代码上好一些，不要浪费编写代码者的那么多找不兼容问题、调试不兼容问题的时间。 &lt;BR&gt;&lt;BR&gt;如果上面不行的话,请使用下面的方法: &lt;BR&gt;&lt;BR&gt;try{&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(element.YUSERONCLICK)&amp;nbsp;eval(element.YUSERONCLICK&amp;nbsp;+&amp;nbsp;&quot;anonymous()&quot;);&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;catch(e){&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(element.YUSERONCLICK)&amp;nbsp;eval(element.YUSERONCLICK&amp;nbsp;+&amp;nbsp;&quot;onclick(event)&quot;);&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;================================== &lt;BR&gt;&lt;BR&gt;我用下面这个人的方法解决了 &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;---------------------------------------------- &lt;BR&gt;&lt;BR&gt;类似文摘： &lt;BR&gt;原创]简单解决ewebeditor在IE7、IE8下失效问题 &lt;BR&gt;EWEBEDITOR在IE7、IE8下，图片上传等按钮总是不能正常弹出，搞的人很郁闷，在网上搜索了一下解决方法，找到代码编辑器目录JS下的EDITOR.JS文件，找到如下代码 &lt;BR&gt;&lt;BR&gt;if&amp;nbsp;(element.YUSERONCLICK)&amp;nbsp;{ &lt;BR&gt;eval(element.YUSERONCLICK&amp;nbsp;+&amp;nbsp;&quot;anonymous()&quot;); &lt;BR&gt;} &lt;BR&gt;&lt;BR&gt;再换成如下代码： &lt;BR&gt;&lt;BR&gt;以下是引用片段： &lt;BR&gt;&lt;BR&gt;if(navigator.appVersion.match(/8./i)=='8.'&amp;nbsp;||&amp;nbsp;navigator.appVersion.match(/7./i)=='7.'){ &lt;BR&gt;if&amp;nbsp;(element.YUSERONCLICK)&amp;nbsp;eval(element.YUSERONCLICK&amp;nbsp;+&amp;nbsp;&quot;onclick(event)&quot;);&amp;nbsp;//IE8&amp;nbsp;or&amp;nbsp;IE7 &lt;BR&gt;}&amp;nbsp;else&amp;nbsp;{ &lt;BR&gt;if&amp;nbsp;(element.YUSERONCLICK)&amp;nbsp;eval(element.YUSERONCLICK&amp;nbsp;+&amp;nbsp;&quot;anonymous()&quot;);&amp;nbsp;//IE6 &lt;BR&gt;} &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;替换后问题依旧。TNND，又找一位仁兄写的代码换上： &lt;BR&gt;&lt;BR&gt;以下是引用片段： &lt;BR&gt;&lt;BR&gt;if(navigator.appVersion.match(/MSIE&amp;nbsp;(7|8)\./i)!=null){&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(element.YUSERONCLICK)&amp;nbsp;eval(element.YUSERONCLICK&amp;nbsp;+&amp;nbsp;&quot;onclick(event)&quot;);&amp;nbsp;&amp;nbsp; &lt;BR&gt;&lt;BR&gt;}else{&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(element.YUSERONCLICK)&amp;nbsp;eval(element.YUSERONCLICK&amp;nbsp;+&amp;nbsp;&quot;anonymous()&quot;);&amp;nbsp; &lt;BR&gt;&lt;BR&gt;} &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;还是不行，两个代码都未能解决问题，郁闷，看来，要不是浏览器中毒了，造成JS不能正常取得版本号，就是我RP太差。所以引起程序不知道如何处理判断。我看了一下两位作者的代码，虽然写的很好，但是都有局限性。既然知道了造成问题的原因，那就好办了，自己写吧 &lt;BR&gt;&lt;BR&gt;此文章出处为西宁威势电子信息服务有限公司： &lt;BR&gt;try{ &lt;BR&gt;eval(element.YUSERONCLICK&amp;nbsp;+&amp;nbsp;&quot;anonymous()&quot;); &lt;BR&gt;} &lt;BR&gt;catch(error) &lt;BR&gt;{ &lt;BR&gt;eval(element.YUSERONCLICK&amp;nbsp;+&amp;nbsp;&quot;onclick(event)&quot;); &lt;BR&gt;} &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;写完以后再次测试，OK，正常了，哈哈！！我不管它是IE7还是IE8，我都往下执行，一个错了我就执行另一个，管它呢，哈哈，正常解决,容错语句就是挺管用的。 &lt;BR&gt;&lt;BR&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]win7环境下，IIS7中，Request.ServerVariables[“REMOTE_ADDR”]显示的IP为::1？</title>
           <link>http://www.yici.net/content/text_all/text_0/710_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2012-2-8 22:30:42</pubDate>
           <comments></comments>
           <description>&lt;P&gt;win7环境下，读取Request.ServerVariables[&quot;REMOTE_ADDR&quot;]可以正常显示IP，可是用IIS启动后插入到数据库中的IP就为：：1？？？&lt;/P&gt;
&lt;P&gt;解决：&lt;/P&gt;
&lt;P&gt;win7获取的是ipv6&lt;BR&gt;&lt;BR&gt;string clientIP = string.Empty;&lt;BR&gt;&lt;BR&gt;&amp;nbsp; clientIP = Request.ServerVariables[&quot;HTTP_X_FORWARDED_FOR&quot;];&lt;BR&gt;&lt;BR&gt;&amp;nbsp; if (string.IsNullOrEmpty(clientIP))&lt;BR&gt;&amp;nbsp; clientIP = Request.ServerVariables[&quot;HTTP_X_REAL_IP&quot;];&lt;BR&gt;&lt;BR&gt;&amp;nbsp; if (string.IsNullOrEmpty(clientIP))&lt;BR&gt;&amp;nbsp; clientIP = Request.ServerVariables[&quot;REMOTE_ADDR&quot;];&lt;BR&gt;&lt;BR&gt;&amp;nbsp; return clientIP;&lt;/P&gt;</description>
       </item>
       <item>
           <title>[JavaScript]再谈javascript图片预加载技术-比onload更快获取图片尺寸</title>
           <link>http://www.yici.net/content/text_all/text_0/705_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>JavaScript</category>
           <pubDate>2011-11-2 22:31:04</pubDate>
           <comments></comments>
           <description>&lt;P&gt;lightbox类效果为了让图片居中显示而使用预加载，需要等待完全加载完毕才能显示，体验不佳（如filick相册的全屏效果）。javascript无法获取img文件头数据，真的是这样吗？本文通过一个巧妙的方法让javascript获取它。 &lt;BR&gt;&lt;BR&gt;这是大部分人使用预加载获取图片大小的例子： &lt;BR&gt;&lt;BR&gt;var&amp;nbsp;imgLoad&amp;nbsp;=&amp;nbsp;function&amp;nbsp;(url,&amp;nbsp;callback)&amp;nbsp;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;var&amp;nbsp;img&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Image(); &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;img.src&amp;nbsp;=&amp;nbsp;url; &lt;BR&gt;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(img.complete)&amp;nbsp;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;callback(img.width,&amp;nbsp;img.height); &lt;BR&gt;&amp;nbsp;&amp;nbsp;}&amp;nbsp;else&amp;nbsp;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;img.onload&amp;nbsp;=&amp;nbsp;function&amp;nbsp;()&amp;nbsp;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;callback(img.width,&amp;nbsp;img.height); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;img.onload&amp;nbsp;=&amp;nbsp;null; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}; &lt;BR&gt;&amp;nbsp;&amp;nbsp;}; &lt;BR&gt;&lt;BR&gt;}; &lt;/P&gt;
&lt;P&gt;&lt;BR&gt;可以看到上面必须等待图片加载完毕才能获取尺寸，其速度不敢恭维，我们需要改进。&amp;nbsp; &lt;BR&gt;&lt;BR&gt;web应用程序区别于桌面应用程序，响应速度才是最好的用户体验。如果想要速度与优雅兼得，那就必须提前获得图片尺寸，如何在图片没有加载完毕就能获取图片尺寸？&amp;nbsp; &lt;BR&gt;&lt;BR&gt;十多年的上网经验告诉我：浏览器在加载图片的时候你会看到图片会先占用一块地然后才慢慢加载完毕，并且不需要预设width与height属性，因为浏览器能够获取图片的头部数据。基于此，只需要使用javascript定时侦测图片的尺寸状态便可得知图片尺寸就绪的状态。&amp;nbsp; &lt;BR&gt;&lt;BR&gt;当然实际中会有一些兼容陷阱，如width与height检测各个浏览器的不一致，还有webkit&amp;nbsp;new&amp;nbsp;Image()建立的图片会受以处在加载进程中同url图片影响，经过反复测试后的最佳处理方式： &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#f3f3f3&gt;&lt;FONT style=&quot;FONT-WEIGHT: bold; COLOR: #990000&quot;&gt;以下是引用片段：&lt;/FONT&gt;&lt;BR&gt;//&amp;nbsp;更新：&amp;nbsp; &lt;BR&gt;//&amp;nbsp;05.27:&amp;nbsp;1、保证回调执行顺序：error&amp;nbsp;&amp;gt;&amp;nbsp;ready&amp;nbsp;&amp;gt;&amp;nbsp;load；2、回调函数this指向img本身&amp;nbsp; &lt;BR&gt;//&amp;nbsp;04-02:&amp;nbsp;1、增加图片完全加载后的回调&amp;nbsp;2、提高性能&amp;nbsp; &lt;BR&gt;&lt;BR&gt;/**&amp;nbsp; &lt;BR&gt;&amp;nbsp;*&amp;nbsp;图片头数据加载就绪事件&amp;nbsp;-&amp;nbsp;更快获取图片尺寸&amp;nbsp; &lt;BR&gt;&amp;nbsp;*&amp;nbsp;@version&amp;nbsp;&amp;nbsp;2011.05.27&amp;nbsp; &lt;BR&gt;&amp;nbsp;*&amp;nbsp;@author&amp;nbsp;&amp;nbsp;TangBin&amp;nbsp; &lt;BR&gt;&amp;nbsp;*&amp;nbsp;@see&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;http://www.planeart.cn/?p=1121&amp;nbsp; &lt;BR&gt;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;&amp;nbsp;{String}&amp;nbsp;&amp;nbsp;图片路径&amp;nbsp; &lt;BR&gt;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;&amp;nbsp;{Function}&amp;nbsp;&amp;nbsp;尺寸就绪&amp;nbsp; &lt;BR&gt;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;&amp;nbsp;{Function}&amp;nbsp;&amp;nbsp;加载完毕&amp;nbsp;(可选)&amp;nbsp; &lt;BR&gt;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;&amp;nbsp;{Function}&amp;nbsp;&amp;nbsp;加载错误&amp;nbsp;(可选)&amp;nbsp; &lt;BR&gt;&amp;nbsp;*&amp;nbsp;@example&amp;nbsp;imgReady('/content/uploadfiles/2011-11/20111102223232734.png',&amp;nbsp;function&amp;nbsp;()&amp;nbsp;{&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert('size&amp;nbsp;ready:&amp;nbsp;width='&amp;nbsp;+&amp;nbsp;this.width&amp;nbsp;+&amp;nbsp;';&amp;nbsp;height='&amp;nbsp;+&amp;nbsp;this.height);&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;});&amp;nbsp; &lt;BR&gt;&amp;nbsp;*/&amp;nbsp; &lt;BR&gt;var&amp;nbsp;imgReady&amp;nbsp;=&amp;nbsp;(function&amp;nbsp;()&amp;nbsp;{&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;var&amp;nbsp;list&amp;nbsp;=&amp;nbsp;[],&amp;nbsp;intervalId&amp;nbsp;=&amp;nbsp;null,&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;//&amp;nbsp;用来执行队列&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;tick&amp;nbsp;=&amp;nbsp;function&amp;nbsp;()&amp;nbsp;{&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;list.length;&amp;nbsp;i++)&amp;nbsp;{&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list[i].end&amp;nbsp;?&amp;nbsp;list.splice(i--,&amp;nbsp;1)&amp;nbsp;:&amp;nbsp;list[i]();&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;!list.length&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;stop();&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;},&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;//&amp;nbsp;停止所有定时器队列&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;stop&amp;nbsp;=&amp;nbsp;function&amp;nbsp;()&amp;nbsp;{&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;clearInterval(intervalId);&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;intervalId&amp;nbsp;=&amp;nbsp;null;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;};&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;return&amp;nbsp;function&amp;nbsp;(url,&amp;nbsp;ready,&amp;nbsp;load,&amp;nbsp;error)&amp;nbsp;{&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;onready,&amp;nbsp;width,&amp;nbsp;height,&amp;nbsp;newWidth,&amp;nbsp;newHeight,&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;img&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Image();&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;img.src&amp;nbsp;=&amp;nbsp;url;&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;如果图片被缓存，则直接返回缓存数据&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(img.complete)&amp;nbsp;{&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ready.call(img);&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;load&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;load.call(img);&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;width&amp;nbsp;=&amp;nbsp;img.width;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;height&amp;nbsp;=&amp;nbsp;img.height;&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;加载错误后的事件&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;img.onerror&amp;nbsp;=&amp;nbsp;function&amp;nbsp;()&amp;nbsp;{&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;error&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;error.call(img);&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;onready.end&amp;nbsp;=&amp;nbsp;true;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;img&amp;nbsp;=&amp;nbsp;img.onload&amp;nbsp;=&amp;nbsp;img.onerror&amp;nbsp;=&amp;nbsp;null;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;图片尺寸就绪&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;onready&amp;nbsp;=&amp;nbsp;function&amp;nbsp;()&amp;nbsp;{&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newWidth&amp;nbsp;=&amp;nbsp;img.width;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newHeight&amp;nbsp;=&amp;nbsp;img.height;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(newWidth&amp;nbsp;!==&amp;nbsp;width&amp;nbsp;||&amp;nbsp;newHeight&amp;nbsp;!==&amp;nbsp;height&amp;nbsp;||&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;如果图片已经在其他地方加载可使用面积检测&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newWidth&amp;nbsp;*&amp;nbsp;newHeight&amp;nbsp;&amp;gt;&amp;nbsp;1024&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;{&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ready.call(img);&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;onready.end&amp;nbsp;=&amp;nbsp;true;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;onready();&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;完全加载完毕的事件&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;img.onload&amp;nbsp;=&amp;nbsp;function&amp;nbsp;()&amp;nbsp;{&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;onload在定时器时间差范围内可能比onready快&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;这里进行检查并保证onready优先执行&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;!onready.end&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;onready();&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;load&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;load.call(img);&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;IE&amp;nbsp;gif动画会循环执行onload，置空onload即可&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;img&amp;nbsp;=&amp;nbsp;img.onload&amp;nbsp;=&amp;nbsp;img.onerror&amp;nbsp;=&amp;nbsp;null;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;加入队列中定期执行&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(!onready.end)&amp;nbsp;{&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.push(onready);&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;无论何时只允许出现一个定时器，减少浏览器性能损耗&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(intervalId&amp;nbsp;===&amp;nbsp;null)&amp;nbsp;intervalId&amp;nbsp;=&amp;nbsp;setInterval(tick,&amp;nbsp;40);&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;};&amp;nbsp; &lt;BR&gt;})();&amp;nbsp; &lt;BR&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;BR&gt;调用例子： &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#f3f3f3&gt;&lt;FONT style=&quot;FONT-WEIGHT: bold; COLOR: #990000&quot;&gt;以下是引用片段：&lt;/FONT&gt;&lt;BR&gt;imgReady('/content/uploadfiles/2011-11/20111102223232734.png',&amp;nbsp;function&amp;nbsp;()&amp;nbsp;{&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;alert('size&amp;nbsp;ready:&amp;nbsp;width='&amp;nbsp;+&amp;nbsp;this.width&amp;nbsp;+&amp;nbsp;';&amp;nbsp;height='&amp;nbsp;+&amp;nbsp;this.height);&amp;nbsp; &lt;BR&gt;});&amp;nbsp; &lt;BR&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;是不是很简单？这样的方式获取摄影级别照片尺寸的速度往往是onload方式的几十多倍，而对于web普通(800&#215;600内)浏览级别的图片能达到秒杀效果。看了这个再回忆一下你见过的web相册，是否绝大部分都可以重构一下呢？ &lt;BR&gt;&lt;BR&gt;&lt;/P&gt;</description>
       </item>
       <item>
           <title>[JavaScript]js如何控制【停止】、【播放】gif动画图片</title>
           <link>http://www.yici.net/content/text_all/text_0/703_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>JavaScript</category>
           <pubDate>2011-9-24 21:04:21</pubDate>
           <comments></comments>
           <description>ShowModalDialog()能够使父窗口停滞,&amp;nbsp;{停止}就做出来了: &lt;BR&gt;试试这个代码: &lt;BR&gt;&amp;lt;img&amp;nbsp;src=&quot;/content/uploadfiles/2011-09/20110924210516734.gif&quot;/&amp;gt;&amp;lt;br/&amp;gt; &lt;BR&gt;&amp;lt;a&amp;nbsp;href=&quot;javascript:window.showModalDialog('about:&amp;lt;body&amp;nbsp;onload=close(this)&amp;gt;','');&quot;&amp;gt;【停止】&amp;lt;/a&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;lt;a&amp;nbsp;href=&quot;javascript:window.location.reload();&quot;&amp;gt;【播放】&amp;lt;/a&amp;gt;&amp;nbsp;</description>
       </item>
       <item>
           <title>[JavaScript]IE中多帧GIF可以触发多次Image().load事件，解决方案</title>
           <link>http://www.yici.net/content/text_all/text_0/702_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>JavaScript</category>
           <pubDate>2011-9-24 21:02:02</pubDate>
           <comments></comments>
           <description>昨天同事负责一个首页广告，广告采用的是多帧GIF动画，在HTML演示页面中采用的是jpg，运用Image对象的load事件来加上广告，这样就避免了广告播放出来而图片还没有加载完成的尴尬局面，但是却遇到了一个超级郁闷的事情，那就是在IE中load事件不停的执行，找了很多原因，最后在google上找到了：原来是多帧GIF引起的Image().load事件重复触发的问题。又一次长见识了！而且还有人发帖说可以通过这个bug来模拟js的多线程~ &lt;BR&gt;&lt;BR&gt;解决方法： &lt;BR&gt;&lt;BR&gt;var&amp;nbsp;img=new&amp;nbsp;Image(); &lt;BR&gt;img.load=function(){ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//do&amp;nbsp;something &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;img.load=null;//重新赋值为null &lt;BR&gt;} &lt;BR&gt;img.src='&#215;&#215;.gif';</description>
       </item>
       <item>
           <title>[JavaScript]一款好用的JavaScript 代码格式化工具：JavaScript Code Improver</title>
           <link>http://www.yici.net/content/text_all/text_0/701_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>JavaScript</category>
           <pubDate>2011-9-24 9:44:45</pubDate>
           <comments></comments>
           <description>&lt;P&gt;很多时候我们从其他站点上载回来的JS文件都是没有换行和缩进的，形如：&amp;nbsp;&lt;BR&gt;&lt;BR&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#f3f3f3&gt;&lt;FONT style=&quot;FONT-WEIGHT: bold; COLOR: #990000&quot;&gt;以下是引用片段：&lt;/FONT&gt;&lt;BR&gt;var&amp;nbsp;i=0,s=&quot;&quot;,k=0;function&amp;nbsp;foo(){for(j=0;j&amp;lt;10;j++){for(i=0;i&amp;lt;10;i++){s=&quot;string1&quot;;k=Math.floor(Math.random()*10);}for(i=20;i&amp;gt;9;i--){s=&quot;string2&quot;;k=i;}}}&amp;nbsp; &lt;BR&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;BR&gt;这极大的影响了我们分析它的效率！Dreamweaver可以对HTML进行格式化，但缺乏对JS的支持，上网搜索一番，还真有我们所要的软件：JavaScript&amp;nbsp;Code&amp;nbsp;Improver！使用方法也非常的简单：找到(加载)所要格式化的JS文件，选择保存位置，点击运行按钮即可完成格式化，下边是格式化后的效果： &lt;BR&gt;&lt;BR&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#f3f3f3&gt;&lt;FONT style=&quot;FONT-WEIGHT: bold; COLOR: #990000&quot;&gt;以下是引用片段：&lt;/FONT&gt;&lt;BR&gt;var&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0,&amp;nbsp;s&amp;nbsp;=&amp;nbsp;&quot;&quot;,&amp;nbsp;k&amp;nbsp;=&amp;nbsp;0;&amp;nbsp; &lt;BR&gt;function&amp;nbsp;foo()&amp;nbsp; &lt;BR&gt;{&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for(j&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;j&amp;nbsp;&amp;lt;&amp;nbsp;10;&amp;nbsp;j++)&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for(i&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;10;&amp;nbsp;i++)&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s&amp;nbsp;=&amp;nbsp;&quot;string1&quot;;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;k&amp;nbsp;=&amp;nbsp;Math.floor(&amp;nbsp;Math.random()*10&amp;nbsp;);&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for(i&amp;nbsp;=&amp;nbsp;20;&amp;nbsp;i&amp;nbsp;&amp;gt;&amp;nbsp;9;&amp;nbsp;i--)&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s&amp;nbsp;=&amp;nbsp;&quot;string2&quot;;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;k&amp;nbsp;=&amp;nbsp;i;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp; &lt;BR&gt;}&amp;nbsp; &lt;BR&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;BR&gt;看起来是不是舒服多了？呵呵。 &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;工具下载：&lt;IMG src=&quot;/content/webeditor/sysimage/file/rar.gif&quot; border=0&gt;&lt;A href=&quot;/content/uploadfiles/2011-09/20110924_094713.rar&quot; target=_blank&gt;js.rar&lt;/A&gt;&lt;/P&gt;</description>
       </item>
       <item>
           <title>[JavaScript]Tetris(俄罗斯方块) in jQuery/JavaScript!</title>
           <link>http://www.yici.net/content/text_all/text_0/677_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>JavaScript</category>
           <pubDate>2011-6-20 18:25:36</pubDate>
           <comments></comments>
           <description>&lt;P&gt;All&amp;nbsp;in&amp;nbsp;jQuery/JavaScript&amp;nbsp;+&amp;nbsp;HTML! &lt;BR&gt;&lt;BR&gt;Demo：Tetris(俄罗斯方块)&amp;nbsp;in&amp;nbsp;jQuery/JavaScript! &lt;BR&gt;&lt;BR&gt;文章最后会给出源码下载。 &lt;BR&gt;&lt;BR&gt;先上两张图： &lt;BR&gt;&lt;BR&gt;&lt;IMG src=&quot;/content/uploadfiles/2011-06/20110620_182716.jpg&quot; border=0&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;IMG src=&quot;/content/uploadfiles/2011-06/20110620_182730.jpg&quot; border=0&gt;&lt;BR&gt;&lt;BR&gt;其实很早就有这样的想法，无奈思想一直不是很成熟，各个细节没有想好。突然某一天灵光闪现，就想到办法了。相信应该也有很多人有过这样的想法，可是总是会被一些细节问题所卡住。只要思路有了，代码的实现上并不难。所以我重点说一下思路。 &lt;BR&gt;&lt;BR&gt;先说一下这样程序的功能吧。图里面能够看得很清楚了。基本的功能就不说了，其它的包括下一个下落形状的预览（左上角的小方块中），隐藏、显示网格线，隐藏、显示下落时对好的阴影形状。其它的就是俄罗斯方块的基本功能了。 &lt;BR&gt;&lt;BR&gt;很重要的一点，很多人可能受到了思维定势的影响，觉得既然是俄罗斯方块，那当然是一个个方块往下落。如果你这样想，我敢说这样就算程序的功能都可以完成，也绝对在1000行以上（我的程序不超过1000行，包括各个函数的注释），甚至要远远超过这个数。如果跳出了这个方块下落和思维定势，那问题就好解决了。 &lt;BR&gt;&lt;BR&gt;有人可能要问了，既然方块不动，那是什么在动呢？有人说颜色，但更确切地说是样式！每一次，让下一个方格的样式用上一个方块来替代，这样下落就成了对样式的操作了！虽然下落是位置在变，位置（top,left）也是样式，但是这可能要涉及到HTML，或者DOM元素的操作了。相比而言，前一种思路不用动任何的HTML元素！这是简化的最关键所在了。 &lt;BR&gt;&lt;BR&gt;再说一下其它方面。 &lt;BR&gt;&lt;BR&gt;方块的排列： &lt;BR&gt;&lt;BR&gt;用一个float:left就能排列好了，需要注意的是，在设置容器的长宽时，要注意小方块的方框宽度，这个也要计算在内。 &lt;BR&gt;&lt;BR&gt;按键的处理： &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG src=&quot;/content/uploadfiles/2011-06/20110620_182800.gif&quot; border=0&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;我们知道，像DIV，SPAN（容器用的DIV，方块用的SPAN）无法直接响应按键按下的事件（onkeydown），那我们只好先用可以响应的元素来接收这个事件，我用的是document，由于我把它写在了类的内部，所以，要把事件内容的this变成实际要处理的元素（Tetris），就需要用到javascript的call函数了。 &lt;BR&gt;&lt;BR&gt;形状在移动（左、右、下、旋转）的时候出界或者是否压住了其他方块的判断： &lt;BR&gt;&lt;BR&gt;有两种方式，第一种是先计算好方块可以移动的最小距离，然后再判断方块是否移动超过了这个最小距离。（注意我这里说的移动都是对样式的操作）。这种方式比较麻烦，因为首先要得到方块的最左，最右和最下的方块，然后再通过这些方块来计算这个最小距离，并且旋转就无法用距离来衡量了。但是如果要得到阴影（后面解释阴影的实现）的话，还是得计算这个最小距离。我的做法是移动一步（包括旋转）采取第二种方法，而直接下落和生成阴影而采用第一种方法。 &lt;BR&gt;&lt;BR&gt;第二种方式是先将坐标值预存起来，然后假设方块移动了，再判断这个方块是否在界内，并没在压住其它的方块。如果不符合条件，再将坐标值还原回去。这里插一句，如果预存坐标？我的坐标采用的是数组的形式储存的，不能直接用＝来赋值，这个只能将变量指向右值而成为右值的引用。要复制数组或对象，必须采用循环或者遍历对象属性，且元素或属性的值为基本类型时才能赋值。 &lt;BR&gt;&lt;BR&gt;下一个形状预览的问题： &lt;BR&gt;&lt;BR&gt;想清楚了最关键的问题，这个问题很好解决，这个就是大容器的缩小版，当前显示形状的时候同时计算下一个形状的序列号，并存储。下次显示形状的时候调用这个序列号就行了。 &lt;BR&gt;&lt;BR&gt;最后说一下旋转的问题： &lt;BR&gt;&lt;BR&gt;其实这是一个数学问题。 &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;由于旋转前后，向量的长度（设为R）不变，所以： &lt;BR&gt;&lt;BR&gt;cosA&amp;nbsp;=&amp;nbsp;x0/R,&amp;nbsp;&amp;nbsp;sinA&amp;nbsp;=&amp;nbsp;y0/R&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;……&amp;nbsp;&amp;nbsp;&amp;nbsp;（2） &lt;BR&gt;&lt;BR&gt;对于右图： &lt;BR&gt;&lt;BR&gt;x1&amp;nbsp;=&amp;nbsp;R&amp;nbsp;*&amp;nbsp;cos（A+B）＝R（cosAcosB&amp;nbsp;–&amp;nbsp;sinAsinB） &lt;BR&gt;&lt;BR&gt;y1&amp;nbsp;=&amp;nbsp;R|*&amp;nbsp;sin（A+B）＝R（sinAcosB&amp;nbsp;+&amp;nbsp;cosAsinB） &lt;BR&gt;&lt;BR&gt;将（2）代入得到： &lt;BR&gt;&lt;BR&gt;x1&amp;nbsp;=&amp;nbsp;x0&amp;nbsp;*&amp;nbsp;cosB&amp;nbsp;–&amp;nbsp;y0&amp;nbsp;*&amp;nbsp;sinB &lt;BR&gt;&lt;BR&gt;y1&amp;nbsp;=&amp;nbsp;x0&amp;nbsp;*&amp;nbsp;sinB&amp;nbsp;+&amp;nbsp;y0&amp;nbsp;*&amp;nbsp;cosB &lt;BR&gt;&lt;BR&gt;由于我设定的是逆时针旋转，所以再将B＝-B代入上式： &lt;BR&gt;&lt;BR&gt;x1&amp;nbsp;=&amp;nbsp;x0&amp;nbsp;*&amp;nbsp;cosB&amp;nbsp;+&amp;nbsp;y0&amp;nbsp;*&amp;nbsp;sinB &lt;BR&gt;&lt;BR&gt;y1&amp;nbsp;=&amp;nbsp;-x0&amp;nbsp;*&amp;nbsp;sinB&amp;nbsp;+&amp;nbsp;y0&amp;nbsp;*&amp;nbsp;cosB &lt;BR&gt;&lt;BR&gt;再者，我们旋转的角度为90度，再代入，得到： &lt;BR&gt;&lt;BR&gt;x1=y0,&amp;nbsp;y1=-x0&amp;nbsp;&amp;nbsp;&amp;nbsp;………….&amp;nbsp;（3） &lt;BR&gt;&lt;BR&gt;这是以原点为出发的向量，如果不是原点为出发点，假设这个点（旋转中心）为（cx，cy），将向量进行平移： &lt;BR&gt;&lt;BR&gt;x1-cx&amp;nbsp;=&amp;nbsp;y0-cy,&amp;nbsp;y1-cy&amp;nbsp;=&amp;nbsp;cx-x0，于是（3）变成： &lt;BR&gt;&lt;BR&gt;x1&amp;nbsp;=&amp;nbsp;cx-cy+y0,&amp;nbsp;y1&amp;nbsp;=&amp;nbsp;cx+cy-x0&amp;nbsp;&amp;nbsp;（4） &lt;BR&gt;&lt;BR&gt;这里值得提一下的是，尽管我们的坐标系和正规的xy平面坐标系不同，我们的原点在左上角，x（二维数组第一下标）轴垂直向下，y（二维数组第二下标）轴水平向右，但是由于我们旋转的时候选取的是向量，它的方向是确定的，不随坐标系的变化而变化，所以（4）仍然适用于我们的坐标系。 &lt;BR&gt;&lt;BR&gt;有了公式（4）,选取适当的旋转中心（x0,y0）就可以进行转换了。为了效率，我们可以把由四个小方块组成的大方块排除在外，不用旋转。 &lt;BR&gt;&lt;BR&gt;&lt;IMG src=&quot;/content/webeditor/sysimage/file/rar.gif&quot; border=0&gt;&lt;A href=&quot;/content/uploadfiles/2011-06/20110620_182813.rar&quot; target=_blank&gt;tetris.rar&lt;/A&gt;&lt;/P&gt;</description>
       </item>
       <item>
           <title>[JavaScript]jQuery插件：不超过50行的评分插件jquery.rate 1.0</title>
           <link>http://www.yici.net/content/text_all/text_0/676_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>JavaScript</category>
           <pubDate>2011-6-20 18:20:12</pubDate>
           <comments></comments>
           <description>整个插件不超过50行，包括css。 &lt;BR&gt;&lt;BR&gt;程序调用： &lt;BR&gt;&lt;BR&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#f3f3f3&gt;&lt;FONT style=&quot;FONT-WEIGHT: bold; COLOR: #990000&quot;&gt;以下是引用片段：&lt;/FONT&gt;&lt;BR&gt;$(function(){&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&quot;#hello&quot;).rate({ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ratePage:'rate.php', &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rateAfterEvent:&amp;nbsp;function(data){$(&quot;#hello&quot;).after(data)} &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}); &lt;BR&gt;});&amp;nbsp; &lt;BR&gt;//&amp;lt;span&amp;nbsp;id=hello&amp;gt;&amp;lt;/span&amp;gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;rate.php： &lt;BR&gt;&lt;BR&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#f3f3f3&gt;&lt;FONT style=&quot;FONT-WEIGHT: bold; COLOR: #990000&quot;&gt;以下是引用片段：&lt;/FONT&gt;&lt;BR&gt;print_r($_GET);&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;&lt;BR&gt;运行结果： &lt;BR&gt;&lt;BR&gt;&lt;IMG src=&quot;/content/uploadfiles/2011-06/20110620182339734.jpg&quot; border=0&gt;&lt;BR&gt;&lt;BR&gt;源代码 &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#f3f3f3&gt;&lt;FONT style=&quot;FONT-WEIGHT: bold; COLOR: #990000&quot;&gt;以下是引用片段：&lt;/FONT&gt;&lt;BR&gt;/* &lt;BR&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jquery.rate&amp;nbsp;1.0&amp;nbsp;-&amp;nbsp;2009-09-29 &lt;BR&gt;&amp;nbsp;* &lt;BR&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;All&amp;nbsp;the&amp;nbsp;stuff&amp;nbsp;written&amp;nbsp;by&amp;nbsp;pwwang&amp;nbsp;(pwwang.com)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Feel&amp;nbsp;free&amp;nbsp;to&amp;nbsp;do&amp;nbsp;whatever&amp;nbsp;you&amp;nbsp;want&amp;nbsp;with&amp;nbsp;this&amp;nbsp;file &lt;BR&gt;&amp;nbsp;* &lt;BR&gt;&amp;nbsp;*/ &lt;BR&gt;(function($)&amp;nbsp;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$.rate&amp;nbsp;=&amp;nbsp;function(wraper,&amp;nbsp;options)&amp;nbsp;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;$wraper&amp;nbsp;=&amp;nbsp;$(wraper); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;$rateUnits&amp;nbsp;=&amp;nbsp;[]; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for(var&amp;nbsp;i=0;&amp;nbsp;i&amp;lt;options.rateMax;&amp;nbsp;i++){&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$rateUnits[i]&amp;nbsp;=&amp;nbsp;&amp;nbsp;$(document.createElement(&quot;a&quot;))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.attr(&quot;href&quot;,&quot;javascript:;&quot;).addClass(options.rateClass);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(&amp;nbsp;i&amp;lt;options.rated&amp;nbsp;)&amp;nbsp;$rateUnits[i].addClass(options.ratedClass); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$wraper.append($rateUnits[i]); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$.each($rateUnits,&amp;nbsp;function(){&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(this).hover(&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;function(){&amp;nbsp;$(this).prevAll().add($(this)).addClass(options.rateOverClass)&amp;nbsp;},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;function(){&amp;nbsp;$(this).prevAll().add($(this)).removeClass(options.rateOverClass)&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(this).click(function(){ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;index&amp;nbsp;=&amp;nbsp;$wraper.children().index($(this));&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$.get(options.ratePage,&amp;nbsp;{&amp;nbsp;rate:index+1&amp;nbsp;},&amp;nbsp;function(data){&amp;nbsp;(options.rateAfterEvent)(data);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(this).prevAll().add($(this)).addClass(options.ratedClass); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(this).nextAll().removeClass(options.ratedClass); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$.fn.rate&amp;nbsp;=&amp;nbsp;function(options)&amp;nbsp;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;options&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;options&amp;nbsp;||&amp;nbsp;{}; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;options.rated&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;3; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;options.rateMax&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;options.rateMax&amp;nbsp;||&amp;nbsp;5; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;options.rateClass&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;options.rateClass&amp;nbsp;||&amp;nbsp;&quot;star&quot;; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;options.rateOverClass&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;options.rateOverClass&amp;nbsp;||&amp;nbsp;&quot;star_on&quot;; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;options.ratedClass&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;options.ratedClass&amp;nbsp;||&amp;nbsp;&quot;star_yes&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;options.rateImg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;options.rateImg&amp;nbsp;||&amp;nbsp;&quot;images/star.gif&quot;; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;options.rateAfterEvent&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;options.rateAfterEvent&amp;nbsp;||&amp;nbsp;function(){}; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;options.ratePage&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;options.ratePage&amp;nbsp;||&amp;nbsp;&quot;rate.php&quot;; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$.rate(this,&amp;nbsp;options); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;this;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;})(jQuery);&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;jquery.rate.css &lt;BR&gt;&lt;BR&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#f3f3f3&gt;&lt;FONT style=&quot;FONT-WEIGHT: bold; COLOR: #990000&quot;&gt;以下是引用片段：&lt;/FONT&gt;&lt;BR&gt;@charset&amp;nbsp;&quot;utf-8&quot;; &lt;BR&gt;/*&amp;nbsp;CSS&amp;nbsp;Document&amp;nbsp;*/ &lt;BR&gt;.star{&amp;nbsp;height:16px;&amp;nbsp;width:16px;&amp;nbsp;display:block;&amp;nbsp;float:left;&amp;nbsp;background:url(star.gif)&amp;nbsp;no-repeat&amp;nbsp;0&amp;nbsp;0;} &lt;BR&gt;.star_on{&amp;nbsp;background:&amp;nbsp;url(star.gif)&amp;nbsp;no-repeat&amp;nbsp;0&amp;nbsp;-16px&amp;nbsp;!important;} &lt;BR&gt;.star_yes{&amp;nbsp;background:&amp;nbsp;url(star.gif)&amp;nbsp;no-repeat&amp;nbsp;0&amp;nbsp;-32px;}&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;IMG src=&quot;/content/webeditor/sysimage/file/rar.gif&quot; border=0&gt;&lt;A href=&quot;/content/uploadfiles/2011-06/20110620_182332.rar&quot; target=_blank&gt;jquery.rar&lt;/A&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]ASP多条数据分页的思路整理</title>
           <link>http://www.yici.net/content/text_all/text_0/672_1.html</link>
           <author>Joker</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2011-6-19 23:35:17</pubDate>
           <comments></comments>
           <description>&lt;P&gt;好久没有修改程序了&lt;/P&gt;
&lt;P&gt;发现以前好多的思路都有点混乱&lt;/P&gt;
&lt;P&gt;大概整理了一下，留作笔记吧：&lt;/P&gt;
&lt;P&gt;为了方便理解，做几个定义：&lt;/P&gt;
&lt;P&gt;每页条目数：pagesize&lt;/P&gt;
&lt;P&gt;当前页数：currentPage&lt;/P&gt;
&lt;P&gt;搜索的数据表名：tablename&lt;/P&gt;
&lt;P&gt;1。分页如果确定数据库的ID连续，也就是从1、2、3、4……100、101、102……这样依次拍下去，中间没有任何被删除的数字，那就简单了：&lt;/P&gt;
&lt;P&gt;用个语句：select &amp;nbsp;top “pagesize” ID from“tablename”&amp;nbsp;where ID&amp;gt;pagesize*currentPage orderby ID DESC&lt;/P&gt;
&lt;P&gt;2。如果数据ID之间有跳跃，不持续连续，就麻烦一些了&lt;/P&gt;
&lt;P&gt;可以用本站的分页类：&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;A href=&quot;http://www.yici.net/content/text_all/text_0/671_1.html&quot;&gt;http://www.yici.net/content/text_all/text_0/671_1.html&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;A href=&quot;http://www.yici.net/content/text_all/text_0/670_1.html&quot;&gt;http://www.yici.net/content/text_all/text_0/670_1.html&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;3。其实还有个思路&lt;/P&gt;
&lt;P&gt;就是定义一个字段，表示数据的条数，每次增减数据都对该字段操作&lt;/P&gt;
&lt;P&gt;例如新建一个表，叫做“info-num”，其中的“total_num”字段就代表了记录数，每次增减记录，相应操作“total_num”&lt;/P&gt;
&lt;P&gt;这样就不需要为了读取记录数去“recordcount”了&lt;/P&gt;
&lt;P&gt;然后再用rs.move来制定记录指针&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;暂时想到这几个思路，共勉&lt;/P&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]ASP通用分页类</title>
           <link>http://www.yici.net/content/text_all/text_0/671_1.html</link>
           <author>cjj</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2011-6-19 22:29:45</pubDate>
           <comments></comments>
           <description>&lt;P&gt;一、类的属性、方法 &lt;BR&gt;　　这是一个ASP通用分页类。你可以用它方便的给记录集分页，当然在网上有许多的分页类和分页函数。本分页主要有Conn、SQL、URL、FieldList、PageSize、Template、Init、Show、Close等属性和方法。 &lt;BR&gt;　　1.Conn属性　　　&amp;nbsp;：用来获取一个已创建的Connection对象。 &lt;BR&gt;　　2.SQL属性　　　　　&amp;nbsp;：根据传入的SQL语句，自动创建RecordSet对象 &lt;BR&gt;　　3.PageSize属性　　&amp;nbsp;&amp;nbsp;：设置第页的记录条数 &lt;BR&gt;　　4.FieldList属性　　　&amp;nbsp;：如果需要显示库中的数据，一定要设置此属性。它是用来获取需要显示的正确的字段名。 &lt;BR&gt;　　5.URL属性　　　　&amp;nbsp;&amp;nbsp;：设置分页条中链接的文件地址。 &lt;BR&gt;　　6.Template属性&amp;nbsp;&amp;nbsp;　　：设置分页文件的模版。 &lt;BR&gt;　　7.Init过程　　　　&amp;nbsp;：分页类初始化数据。 &lt;BR&gt;　　8.Show过程　　&amp;nbsp;：显示数据。 &lt;BR&gt;　　9.Close过程　　　&amp;nbsp;&amp;nbsp;：分页类结束&lt;/P&gt;
&lt;P&gt;二、简化类的源代码及调用代码（不含数据显示功能） &lt;BR&gt;&lt;BR&gt;&amp;nbsp;pages.asp &lt;BR&gt;&lt;BR&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#f3f3f3&gt;&lt;FONT style=&quot;FONT-WEIGHT: bold; COLOR: #990000&quot;&gt;以下是引用片段：&lt;/FONT&gt;&lt;BR&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;lt;%Option Explicit&lt;BR&gt;&amp;nbsp; Dim strStartTime,intUseTime&lt;BR&gt;&amp;nbsp; strStartTime = timer()&lt;BR&gt;%&amp;gt;&lt;BR&gt;&amp;lt;!--#include file=&quot;inc_clsPages.asp&quot;--&amp;gt;&lt;BR&gt;&amp;lt;%&lt;BR&gt;&amp;nbsp; Dim clsPage,strShowTemp&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;'分页显示的位置：SW_intPageInAll,SW_intPageInTop,SW_intPageInBottom&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp; Set clsPage = New SWPage&lt;BR&gt;&amp;nbsp; clsPage.Conn&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = &quot;Driver={Microsoft Access Driver (*.mdb)};dbq=&quot; &amp;amp; Server.Mappath(&quot;../DB/datatest.mdb&quot;)&lt;BR&gt;&amp;nbsp; clsPage.SQL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = &quot;SELECT * FROM datatest&quot;&lt;BR&gt;&amp;nbsp; clsPage.PageSize&amp;nbsp;&amp;nbsp;&amp;nbsp; = 10&lt;BR&gt;&amp;nbsp; clsPage.URL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = &quot;pages.asp&quot;&lt;BR&gt;&amp;nbsp; clsPage.Init()&lt;BR&gt;&amp;nbsp; clsPage.Pages()&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;'..............................&lt;BR&gt;'............................&lt;BR&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 此处加入数据显示代码&lt;BR&gt;'..............................&lt;BR&gt;'..............................&lt;BR&gt;&amp;nbsp; clsPage.Pages()&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp; clsPage.Close&lt;BR&gt;&amp;nbsp; Set clsPage = Nothing&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp; intUseTime = FormatNumber((timer()-strStartTime)*1000,3)&lt;BR&gt;&amp;nbsp; Response.Write(&quot;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;center&amp;gt;共用时 &amp;lt;font color=&quot;&quot;#FF0000&quot;&quot;&amp;gt;&quot; &amp;amp; intUseTime &amp;amp; &quot;&amp;lt;/font&amp;gt; 毫秒&amp;lt;/center&amp;gt;&quot;)&lt;BR&gt;%&amp;gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;[NextPage]&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;inc_clsPages.asp&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#f3f3f3&gt;&lt;FONT style=&quot;FONT-WEIGHT: bold; COLOR: #990000&quot;&gt;以下是引用片段：&lt;/FONT&gt;&lt;BR&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;lt;%'Option Explicit&lt;BR&gt;&amp;nbsp; '/************************************************&lt;BR&gt;&amp;nbsp; '*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;BR&gt;&amp;nbsp; '* Name&amp;nbsp;&amp;nbsp;&amp;nbsp; : An common process database class&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;BR&gt;&amp;nbsp; '* Author&amp;nbsp; : cjj&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;BR&gt;&amp;nbsp; '* Version : V3.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;BR&gt;&amp;nbsp; '* Time&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2004-01-12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;BR&gt;&amp;nbsp; '* Comefrom: http://www.blueidea.com/&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;BR&gt;&amp;nbsp; '* HomePage: None (Maybe Soon)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;BR&gt;&amp;nbsp; '* Notice&amp;nbsp; :&amp;nbsp;&amp;nbsp; You can use and modify it freely,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;BR&gt;&amp;nbsp; '*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BUT PLEASE HOLD THIS ITEM.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;BR&gt;&amp;nbsp; '*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If you modify it that i hope you&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;BR&gt;&amp;nbsp; '*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; can send a mail for me.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;BR&gt;&amp;nbsp; '*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;BR&gt;&amp;nbsp; '************************************************/&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp; '#########声明变量#########&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp; '显示的页数的数字个数&lt;BR&gt;&amp;nbsp; Const SW_intShowPages&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 10&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp; 'SWData Class&lt;BR&gt;&amp;nbsp; Private SW_blnIsHaveRS,SW_strFields,SW_blnInConn,SW_intShowPagePos,SW_strShowWidth&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp; '#########初始化变量##########&lt;BR&gt;&amp;nbsp; SW_blnIsHaveRS&amp;nbsp;&amp;nbsp;&amp;nbsp; = false&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '设置记录集获取标志为Fasle，就是无记录集状态&lt;BR&gt;&amp;nbsp; SW_strShowWidth&amp;nbsp;&amp;nbsp; = &quot;90%&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '默认的显示宽度为90%&lt;BR&gt;&amp;nbsp; SW_strFields&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = &quot;&quot;&lt;BR&gt;&amp;nbsp; SW_blnInConn&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = true&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '由内部创建Connection,如果设为False则由外部创建&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp; ' 类型：&amp;nbsp;&amp;nbsp;&amp;nbsp; 类&lt;BR&gt;&amp;nbsp; ' 目的：&amp;nbsp;&amp;nbsp;&amp;nbsp; 给记录集分页&lt;BR&gt;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp; Class SWPage&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '声明类私有变量&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private SW_objRS,SW_objConn&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private SW_strSQL,SW_strURL,SW_strError,SW_strFormAction,SW_strHeadJS,SW_strFootJS,SW_strKeyFiled&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private SW_strTleBGColor,SW_strTleFTColor,SW_strTleWidth&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private SW_intPageSize,SW_intTleBDType,SW_intShowPageType,SW_intShowType&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private SW_lngTotalPage,SW_lngTotalRecord,SW_lngPageNo&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private SW_aryFldName,SW_aryFldNote,SW_aryFldWidth,SW_aryFldAlign,SW_aryFldLink&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private SW_blnInit,SW_blnOpenRS,SW_blnConn,SW_blnPageSize,SW_blnFieldList,SW_blnGetURL,SW_blnShowType,SW_blnShowPageType,SW_blnTemplate&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Property Let Conn(a_strConn)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set SW_objConn = CreateObject(&quot;Adodb.Connection&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; On Error Resume Next&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_objConn.Open a_strConn&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; On Error Goto 0&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Property&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Property Let SQL(a_strSQL)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strSQL = a_strSQL&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '创建RecordSet对象&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set SW_objRS = CreateObject(&quot;adodb.RecordSet&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; On Error Resume Next&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_objRS.Open SW_strSQL,SW_objConn,1,1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; on error goto 0&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Property&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Property Let PageSize(a_intPageSize)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_intPageSize = CLng(a_intPageSize)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Property&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Property Let URL(a_strURL)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strURL = a_strURL&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Property&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sub Init()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim intPostion,strError,i,objRSTemp,lngTotalRecord&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_objRS.Eof And SW_objRS.Bof Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strError = strError &amp;amp; &quot;&amp;lt;br&amp;gt;库中无任何记录&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '计算总计录数&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set objRSTemp = SW_objConn.Execute(&quot;SELECT * FROM SW_RecCount&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_lngTotalRecord = CLng(objRSTemp(&quot;SW_RecCount&quot;).Value)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '计算总页数&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_lngTotalRecord Mod SW_intPageSize = 0 Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_lngTotalPage = CLng(SW_lngTotalRecord \ SW_intPageSize * -1)*-1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_lngTotalPage = CLng(SW_lngTotalRecord \ SW_intPageSize * -1)*-1 + 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '获取页数&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_lngPageNo = Trim(Request.QueryString(&quot;pageno&quot;))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_lngPageNo = &quot;&quot; Then SW_lngPageNo = Trim(Request.Form(&quot;PageNo&quot;))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_lngPageNo = &quot;&quot; Then SW_lngPageNo = 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '如果没有选择第几页，则默认显示第一页&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_lngPageNo &amp;lt;&amp;gt; &quot;&quot; And IsNumeric(SW_lngPageNo) Then SW_lngPageNo = CLng(SW_lngPageNo)&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (SW_lngPageNo &amp;gt; SW_lngTotalPage AND SW_lngTotalPage&amp;lt;&amp;gt;0) Then SW_lngPageNo = SW_lngTotalPage&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_objRS.PageSize&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = SW_intPageSize&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_objRS.AbsolutePage = SW_lngPageNo&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; intPostion = InstrRev(SW_strURL,&quot;?&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strFormAction = SW_strURL&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If intPostion &amp;gt; 0 Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strURL = SW_strURL &amp;amp; &quot;&amp;amp;PageNo=&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strURL = SW_strURL &amp;amp; &quot;?PageNo=&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 类型：&amp;nbsp;&amp;nbsp;&amp;nbsp; 过程&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 目的：&amp;nbsp;&amp;nbsp;&amp;nbsp; 显示分页信息&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 输入：&amp;nbsp;&amp;nbsp;&amp;nbsp; 无&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 返回：&amp;nbsp;&amp;nbsp;&amp;nbsp; 无&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Sub Pages()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strPages,k,intTemp,intTemp1&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_lngTotalPage = 1 Then Exit Sub&lt;BR&gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;lt;table align=&quot;&quot;center&quot;&quot; class=&quot;&quot;css_ShowPage&quot;&quot; width=&quot;&quot;&quot; &amp;amp; SW_strShowWidth &amp;amp; &quot;&quot;&quot;&amp;gt;&quot; &amp;amp; vbcrlf)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp; &amp;lt;tr&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;table width=&quot;&quot;100%&quot;&quot;&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;tr&amp;gt;&quot; &amp;amp; vbcrlf &amp;amp; &quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td align=&quot;&quot;center&quot;&quot; valign=&quot;&quot;middle&quot;&quot; class=&quot;&quot;.test1&quot;&quot;&amp;gt;&quot; &amp;amp; vbcrlf)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_lngTotalPage &amp;gt;= 1 Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_lngPageNo &amp;lt;= 1 Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write (&quot;首页 前页 &amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL &amp;amp; SW_lngPageNo+1 &amp;amp; &quot;&quot;&quot;&amp;gt;后页&amp;lt;/a&amp;gt; &amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL &amp;amp; SW_lngTotalPage &amp;amp; &quot;&quot;&quot;&amp;gt;末页&amp;lt;/a&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_lngPageNo &amp;gt;= SW_lngTotalPage Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write (&quot;&amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL &amp;amp; &quot;1&quot;&quot;&amp;gt;首页&amp;lt;/a&amp;gt;&amp;nbsp; &amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL&amp;nbsp; &amp;amp; SW_lngPageNo -1 &amp;amp; &quot;&quot;&quot;&amp;gt;前页&amp;lt;/a&amp;gt;&amp;nbsp; &quot; &amp;amp; &quot;后页&amp;nbsp; 末页&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write (&quot;&amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL &amp;amp; &quot;1&quot;&quot;&amp;gt;首页&amp;lt;/a&amp;gt; &amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL&amp;nbsp; &amp;amp; SW_lngPageNo -1 &amp;amp; &quot;&quot;&quot;&amp;gt;前页&amp;lt;/a&amp;gt; &quot; &amp;amp; &quot;&amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL&amp;nbsp; &amp;amp; SW_lngPageNo+1 &amp;amp; &quot;&quot;&quot;&amp;gt;后页&amp;lt;/a&amp;gt; &amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL&amp;nbsp; &amp;amp; SW_lngTotalPage &amp;amp; &quot;&quot;&quot;&amp;gt;末页&amp;lt;/a&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write (&quot;　页次：&amp;lt;b&amp;gt;&quot; &amp;amp; SW_lngPageNo &amp;amp; &quot;&amp;lt;/b&amp;gt;/&quot; &amp;amp; SW_lngTotalPage &amp;amp; &quot;页 共&amp;lt;b&amp;gt;&quot; &amp;amp; SW_lngTotalRecord &amp;amp; &quot;&amp;lt;/b&amp;gt;条记录　&amp;lt;b&amp;gt;&quot; &amp;amp; SW_intPageSize &amp;amp; &quot;&amp;lt;/b&amp;gt;条/页&amp;lt;/td&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;form name=&quot;&quot;gopage&quot;&quot; action=&quot;&quot;&quot; &amp;amp; SW_strFormAction &amp;amp; &quot;&quot;&quot; method=&quot;&quot;post&quot;&quot;&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td&amp;gt; 第&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;input type=&quot;&quot;text&quot;&quot; name=&quot;&quot;pageno&quot;&quot; size=&quot;&quot;3&quot;&quot; maxlength=4 title=&quot;&quot;请输入页号,然后回车&quot;&quot;&amp;gt;页 &quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;lt;input type=&quot;&quot;submit&quot;&quot; value=&quot;&quot;GO&quot;&quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/form&amp;gt;&amp;lt;/tr&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/table&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/td&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp; &amp;lt;/tr&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;lt;/table&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sub Close()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set SW_objRS&amp;nbsp;&amp;nbsp; = Nothing&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set SW_objConn = Nothing&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;BR&gt;&amp;nbsp; End Class&lt;BR&gt;%&amp;gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;三、复杂类的源代码及调用代码（含数据显示功能） &lt;BR&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#f3f3f3&gt;&lt;FONT style=&quot;FONT-WEIGHT: bold; COLOR: #990000&quot;&gt;以下是引用片段：&lt;/FONT&gt;&lt;BR&gt;&amp;lt;%Option&amp;nbsp;Explicit &lt;BR&gt;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;strStartTime,intUseTime,clsPage,strShowTemp &lt;BR&gt;&amp;nbsp;&amp;nbsp;strStartTime&amp;nbsp;=&amp;nbsp;timer() &lt;BR&gt;%&amp;gt; &lt;BR&gt;&amp;lt;!--#include&amp;nbsp;file=&quot;inc_clsPages.asp&quot;--&amp;gt; &lt;BR&gt;&amp;lt;% &lt;BR&gt;'分页显示的位置：SW_intPageInAll,SW_intPageInTop,SW_intPageInBottom &lt;BR&gt;'页数的显示模式：SW_intShowChinese,SW_intShowEnglish,SW_intShowCharacter,SW_intShowImage &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;'页面显示模板设置　&amp;lt;文件头&amp;gt;&amp;nbsp;+&amp;nbsp;&amp;lt;页数设置：分页显示模式,页数显示的位置&amp;gt;&amp;nbsp;+&amp;nbsp;&amp;lt;数据显示&amp;gt;&amp;nbsp;+&amp;nbsp;&amp;lt;页数显示&amp;gt;&amp;nbsp;+&amp;nbsp;&amp;lt;文件尾&amp;gt;如果某项不需要，只要设置成&amp;lt;&amp;gt;就行了，不过&amp;lt;文件头&amp;gt;和&amp;lt;文件尾是必须的&amp;gt; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;'设置分页文件头,可以直接跟HTML代码({code=&amp;lt;html&amp;gt;....&amp;lt;/html&amp;gt;}) &lt;BR&gt;&amp;nbsp;&amp;nbsp;strShowTemp&amp;nbsp;=&amp;nbsp;&quot;[file=head.js]&amp;nbsp;+&amp;nbsp;&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;'设置分页条显示信息 &lt;BR&gt;&amp;nbsp;&amp;nbsp;strShowTemp&amp;nbsp;=&amp;nbsp;strShowTemp&amp;nbsp;&amp;amp;&amp;nbsp;&quot;[page=&quot;&amp;nbsp;&amp;amp;&amp;nbsp;SW_intPageInAll&amp;nbsp;&amp;amp;&amp;nbsp;&quot;,&quot;&amp;nbsp;&amp;amp;&amp;nbsp;SW_intShowCharacter&amp;nbsp;&amp;amp;&amp;nbsp;&quot;]&amp;nbsp;+&amp;nbsp;&quot; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;'########设置数据模版信息 &lt;BR&gt;&amp;nbsp;&amp;nbsp;strShowTemp&amp;nbsp;=&amp;nbsp;strShowTemp&amp;nbsp;&amp;amp;&amp;nbsp;&quot;[data=&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;'设置显示的宽度 &lt;BR&gt;&amp;nbsp;&amp;nbsp;strShowTemp&amp;nbsp;=&amp;nbsp;strShowTemp&amp;nbsp;&amp;amp;&amp;nbsp;&quot;90%|&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;'数据显示方式，竖排、横排 &lt;BR&gt;&amp;nbsp;&amp;nbsp;strShowTemp&amp;nbsp;=&amp;nbsp;strShowTemp&amp;nbsp;&amp;amp;&amp;nbsp;SW_intVerticalView&amp;nbsp;&amp;amp;&amp;nbsp;&quot;|&quot; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;'需要显示的字段的相应的中文说明 &lt;BR&gt;&amp;nbsp;&amp;nbsp;strShowTemp&amp;nbsp;=&amp;nbsp;strShowTemp&amp;nbsp;&amp;amp;&amp;nbsp;&quot;编号,用户名,生日#&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;'需要显示的字段的相应的对齐方式 &lt;BR&gt;&amp;nbsp;&amp;nbsp;strShowTemp&amp;nbsp;=&amp;nbsp;strShowTemp&amp;nbsp;&amp;amp;&amp;nbsp;&quot;left,center,right#&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;'需要显示的字段的相应的宽度 &lt;BR&gt;&amp;nbsp;&amp;nbsp;strShowTemp&amp;nbsp;=&amp;nbsp;strShowTemp&amp;nbsp;&amp;amp;&amp;nbsp;&quot;30%,30%,30%#&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;'需要显示的字段的相应的链接文件名 &lt;BR&gt;&amp;nbsp;&amp;nbsp;strShowTemp&amp;nbsp;=&amp;nbsp;strShowTemp&amp;nbsp;&amp;amp;&amp;nbsp;&quot;list.asp,,,&quot; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;strShowTemp&amp;nbsp;=&amp;nbsp;strShowTemp&amp;nbsp;&amp;amp;&amp;nbsp;&quot;]&amp;nbsp;+&amp;nbsp;&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;'#########数据模版结束 &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;'#########设置文件尾 &lt;BR&gt;&amp;nbsp;&amp;nbsp;strShowTemp&amp;nbsp;=&amp;nbsp;strShowTemp&amp;nbsp;&amp;amp;&amp;nbsp;&quot;[file=foot.js]&quot; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;clsPage&amp;nbsp;=&amp;nbsp;New&amp;nbsp;SWPage &lt;BR&gt;&amp;nbsp;&amp;nbsp;clsPage.Conn&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&quot;Driver={Microsoft&amp;nbsp;Access&amp;nbsp;Driver&amp;nbsp;(*.mdb)};dbq=&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Server.Mappath(&quot;../db/datatest.mdb&quot;) &lt;BR&gt;&amp;nbsp;&amp;nbsp;clsPage.SQL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&quot;SELECT&amp;nbsp;*&amp;nbsp;FROM&amp;nbsp;datatest&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;clsPage.PageSize&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;10 &lt;BR&gt;&amp;nbsp;&amp;nbsp;clsPage.URL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&quot;pages.asp&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;clsPage.FieldList&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&quot;id,field1,field2&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;clsPage.Template&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;strShowTemp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'显示模版 &lt;BR&gt;&amp;nbsp;&amp;nbsp;clsPage.Init() &lt;BR&gt;&amp;nbsp;&amp;nbsp;clsPage.Show &lt;BR&gt;&amp;nbsp;&amp;nbsp;clsPage.Close &lt;BR&gt;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;clsPage&amp;nbsp;=&amp;nbsp;Nothing &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;intUseTime&amp;nbsp;=&amp;nbsp;FormatNumber((timer()-strStartTime)*1000,3) &lt;BR&gt;&amp;nbsp;&amp;nbsp;Response.Write(&quot;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;center&amp;gt;共用时&amp;nbsp;&amp;lt;font&amp;nbsp;color=&quot;&quot;#FF0000&quot;&quot;&amp;gt;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;intUseTime&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;lt;/font&amp;gt;&amp;nbsp;毫秒&amp;lt;/center&amp;gt;&quot;) &lt;BR&gt;%&amp;gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;FONT face=Verdana&gt;[NextPage]&lt;/FONT&gt; 
&lt;P&gt;inc_clsPages.asp&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#f3f3f3&gt;&lt;FONT style=&quot;FONT-WEIGHT: bold; COLOR: #990000&quot;&gt;以下是引用片段：&lt;/FONT&gt;&lt;BR&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;lt;%&lt;BR&gt;&amp;nbsp; '/************************************************&lt;BR&gt;&amp;nbsp; '*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;BR&gt;&amp;nbsp; '* Name&amp;nbsp;&amp;nbsp;&amp;nbsp; : Asp pagnation class&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;BR&gt;&amp;nbsp; '* Author&amp;nbsp; : cjj&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;BR&gt;&amp;nbsp; '* Version : V2.8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;BR&gt;&amp;nbsp; '* Time&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2004-01-16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;BR&gt;&amp;nbsp; '* Comefrom: http://www.blueidea.com/&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;BR&gt;&amp;nbsp; '* HomePage: None (Maybe Soon)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;BR&gt;&amp;nbsp; '* Notice&amp;nbsp; :&amp;nbsp;&amp;nbsp; You can use and modify it freely, *&lt;BR&gt;&amp;nbsp; '*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BUT PLEASE HOLD THIS ITEM.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;BR&gt;&amp;nbsp; '*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If you modify it that i hope you&amp;nbsp; *&lt;BR&gt;&amp;nbsp; '*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; can send a mail for me.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;BR&gt;&amp;nbsp; '*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;BR&gt;&amp;nbsp; '************************************************/&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp; '#########声明变量#########&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp; '定义链接的显示类型&lt;BR&gt;&amp;nbsp; Const SW_intShowChinese&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0&amp;nbsp; '汉字，如&quot;上一页、下一页&quot;&lt;BR&gt;&amp;nbsp; Const SW_intShowEnglish&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1&amp;nbsp; '英文，如&quot;Back、Next&quot;&lt;BR&gt;&amp;nbsp; Const SW_intShowCharacter&amp;nbsp;&amp;nbsp; = 2&amp;nbsp; '特殊字符&lt;BR&gt;&amp;nbsp; '定义数据的显示类型&lt;BR&gt;&amp;nbsp; Const SW_intHorizontalView&amp;nbsp; = 0&amp;nbsp; '横排&lt;BR&gt;&amp;nbsp; Const SW_intVerticalView&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1&amp;nbsp; '竖排&lt;BR&gt;&amp;nbsp; '线的显示类型&lt;BR&gt;&amp;nbsp; Const SW_intShowBigBorder&amp;nbsp;&amp;nbsp; = 2&amp;nbsp; '粗线&lt;BR&gt;&amp;nbsp; Const SW_intShowSmallBorder = 1&amp;nbsp; '细线&lt;BR&gt;&amp;nbsp; Const SW_intShowNoBorder&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0&amp;nbsp; '无线&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp; '标题栏线的显示类型&lt;BR&gt;&amp;nbsp; Const SW_intTleSmallBorder = 1&amp;nbsp; '细线&lt;BR&gt;&amp;nbsp; Const SW_intTleNoBorder&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0&amp;nbsp; '无线&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp; '显示分页信息的位置&lt;BR&gt;&amp;nbsp; Const SW_intPageInNone&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0&amp;nbsp; '不显示分页条&lt;BR&gt;&amp;nbsp; Const SW_intPageInTop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1&amp;nbsp; '在顶部显示&lt;BR&gt;&amp;nbsp; Const SW_intPageInBottom&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2&amp;nbsp; '在底部显示&lt;BR&gt;&amp;nbsp; Const SW_intPageInAll&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 3&amp;nbsp; '在顶、底部显示&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp; '显示的页数的数字个数&lt;BR&gt;&amp;nbsp; Const SW_intShowPages&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 10&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;nbsp; 'SWPage Class&lt;BR&gt;&amp;nbsp; Private SW_blnIsHaveRS,SW_strFields,SW_blnInConn,SW_intShowPagePos,SW_strShowWidth&lt;BR&gt;&amp;nbsp; '#########初始化变量##########&lt;BR&gt;&amp;nbsp; SW_blnIsHaveRS&amp;nbsp;&amp;nbsp;&amp;nbsp; = false&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '设置记录集获取标志为Fasle，就是无记录集状态&lt;BR&gt;&amp;nbsp; SW_strShowWidth&amp;nbsp;&amp;nbsp; = &quot;90%&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '默认的显示宽度为90%&lt;BR&gt;&amp;nbsp; SW_strFields&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = &quot;&quot;&lt;BR&gt;&amp;nbsp; SW_blnInConn&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = true&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '由内部创建Connection,如果设为False则由外部创建&lt;BR&gt;&amp;nbsp; SW_intShowPagePos = SW_intPageInAll&lt;/FONT&gt;&lt;/P&gt;&lt;FONT face=Verdana&gt;
&lt;P&gt;&lt;BR&gt;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp; ' 类型：&amp;nbsp;&amp;nbsp;&amp;nbsp; 类&lt;BR&gt;&amp;nbsp; ' 目的：&amp;nbsp;&amp;nbsp;&amp;nbsp; 给记录集分页&lt;BR&gt;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp; Class SWPage&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '声明类私有变量&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private SW_objRS,SW_objConn&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; Private SW_strSQL,SW_strURL,SW_strError,SW_strFormAction,SW_strHeadJS,SW_strFootJS&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; Private SW_intPageSize,SW_intTleBDType,SW_intShowPageType,SW_intShowType&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private SW_lngTotalPage,SW_lngTotalRecord,SW_lngPageNo&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private SW_aryFldName,SW_aryFldNote,SW_aryFldWidth,SW_aryFldAlign,SW_aryFldLink&lt;BR&gt;&amp;nbsp;&amp;nbsp; Private SW_blnInit,SW_blnOpenRS,SW_blnConn,SW_blnPageSize,SW_blnFieldList,SW_blnGetURL,SW_blnShowType,SW_blnShowPageType,SW_blnTemplate&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp; ' 类型：&amp;nbsp;&amp;nbsp;&amp;nbsp; 属性&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 目的：&amp;nbsp;&amp;nbsp;&amp;nbsp; 根据获取的信息，创建数据库连接&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 输入：&amp;nbsp;&amp;nbsp;&amp;nbsp; a_strConn:数据类型字符串&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 返回：&amp;nbsp;&amp;nbsp;&amp;nbsp; 无&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Property Let Conn(a_strConn)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strError&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_blnConn = false&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set SW_objConn = CreateObject(&quot;Adodb.Connection&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; On Error Resume Next&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_objConn.Open a_strConn&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Err.Number &amp;lt;&amp;gt; 0 Then strError = strError &amp;amp; &quot;&amp;lt;br&amp;gt;创建Connection对象失败&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; On Error Goto 0&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Trim(strError)=&quot;&quot; Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_blnConn = true&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strError = SW_strError &amp;amp; &quot;&amp;nbsp; &amp;lt;tr bgcolor=&quot;&quot;#336699&quot;&quot; height=&quot;&quot;28&quot;&quot;&amp;gt;&amp;lt;td&amp;gt;&amp;lt;font color=&quot;&quot;#FFFFFF&quot;&quot;&amp;gt;Conn属性：&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&quot; &amp;amp; vbcrlf&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strError = SW_strError &amp;amp; &quot;&amp;nbsp; &amp;lt;tr bgcolor=&quot;&quot;#ffffff&quot;&quot;&amp;gt;&amp;lt;td&amp;gt;&quot; &amp;amp; strError &amp;amp; &quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&quot; &amp;amp; vbcrlf&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp; End Property&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp; ' 类型：&amp;nbsp;&amp;nbsp;&amp;nbsp; 属性&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 目的：&amp;nbsp;&amp;nbsp;&amp;nbsp; 设定或显示SQL语句。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 输入：&amp;nbsp;&amp;nbsp;&amp;nbsp; a_strSQL:&amp;nbsp;&amp;nbsp; SQL语句。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 返回：&amp;nbsp;&amp;nbsp;&amp;nbsp; SQL语句。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp; Public Property Let SQL(a_strSQL)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strError&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_blnOpenRS = false&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strSQL = a_strSQL&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '创建RecordSet对象&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set SW_objRS = CreateObject(&quot;adodb.RecordSet&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; On Error Resume Next&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_objRS.Open SW_strSQL,SW_objConn,1,1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Err.Number &amp;lt;&amp;gt; 0 Then strError = &quot;&amp;lt;br&amp;gt;记录集打开失败&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; On Error Goto 0&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Trim(strError)=&quot;&quot; Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_blnOpenRS = true&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strError = SW_strError &amp;amp; &quot;&amp;nbsp;&amp;nbsp; &amp;lt;tr bgcolor=&quot;&quot;#336699&quot;&quot; height=&quot;&quot;28&quot;&quot;&amp;gt;&amp;lt;td&amp;gt;&amp;lt;font color=&quot;&quot;#FFFFFF&quot;&quot;&amp;gt;SQL属性：&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&quot; &amp;amp; vbcrlf&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strError = SW_strError &amp;amp; &quot;&amp;nbsp; &amp;lt;tr bgcolor=&quot;&quot;#ffffff&quot;&quot;&amp;gt;&amp;lt;td&amp;gt;&quot; &amp;amp; strError &amp;amp; &quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&quot; &amp;amp; vbcrlf&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp; End Property&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp; ' 类型：&amp;nbsp;&amp;nbsp;&amp;nbsp; 属性&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 目的：&amp;nbsp;&amp;nbsp;&amp;nbsp; 设置需要显示的数据的字段名&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 输入：&amp;nbsp;&amp;nbsp;&amp;nbsp; a_strFldName:字段名字符串，多个字段之间以逗号分隔&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 返回：&amp;nbsp;&amp;nbsp;&amp;nbsp; 无&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Property Let FieldList(a_strFldName)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strError&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_blnFieldList = false&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Trim(a_strFldName) &amp;lt;&amp;gt; &quot;&quot; Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_aryFldName = Split(LCase(a_strFldName),&quot;,&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strError = strError &amp;amp; &quot;&amp;lt;br&amp;gt;你必须设置需要显示的字段名，否则无法显示数据&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Trim(strError)=&quot;&quot; Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_blnFieldList = true&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strError = SW_strError &amp;amp; &quot;&amp;nbsp; &amp;lt;tr bgcolor=&quot;&quot;#336699&quot;&quot; height=&quot;&quot;28&quot;&quot;&amp;gt;&amp;lt;td&amp;gt;&amp;lt;font color=&quot;&quot;#FFFFFF&quot;&quot;&amp;gt;FieldList属性：&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&quot; &amp;amp; vbcrlf&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strError = SW_strError &amp;amp; &quot;&amp;nbsp; &amp;lt;tr bgcolor=&quot;&quot;#ffffff&quot;&quot;&amp;gt;&amp;lt;td&amp;gt;&quot; &amp;amp; strError &amp;amp; &quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&quot; &amp;amp; vbcrlf&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp; End Property&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp; ' 类型：&amp;nbsp;&amp;nbsp;&amp;nbsp; 属性&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 目的：&amp;nbsp;&amp;nbsp;&amp;nbsp; 设定或显示每页的记录数。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 输入：&amp;nbsp;&amp;nbsp;&amp;nbsp; a_intPageSize:&amp;nbsp;&amp;nbsp; 每页显示的记录数。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 返回：&amp;nbsp;&amp;nbsp;&amp;nbsp; 每页显示的记录数。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp; Public Property Let PageSize(a_intPageSize)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strError&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'PageSize获取失败标志&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_blnPageSize = false&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Trim(a_intPageSize) = &quot;&quot; OR (Not(IsNumeric(a_intPageSize))) Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strError = strError &amp;amp; &quot;&amp;lt;br&amp;gt;非法的pagesize&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (a_intPageSize &amp;lt;= 2147483647 And a_intPageSize&amp;gt;=-2147483648) Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_intPageSize = CLng(a_intPageSize)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strError = strError &amp;amp; &quot;&amp;lt;br&amp;gt;PageSize溢出&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (SW_intPageSize&amp;lt;=0) Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strError = strError &amp;amp; &quot;&amp;lt;br&amp;gt;PageSize只能是正整数&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Trim(strError)=&quot;&quot; Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_blnPageSize = True&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strError = SW_strError &amp;amp; &quot;&amp;nbsp; &amp;lt;tr bgcolor=&quot;&quot;#336699&quot;&quot; height=&quot;&quot;28&quot;&quot;&amp;gt;&amp;lt;td&amp;gt;&amp;lt;font color=&quot;&quot;#FFFFFF&quot;&quot;&amp;gt;PageSize属性：&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&quot; &amp;amp; vbcrlf&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strError = SW_strError &amp;amp; &quot;&amp;nbsp; &amp;lt;tr bgcolor=&quot;&quot;#ffffff&quot;&quot;&amp;gt;&amp;lt;td&amp;gt;&quot; &amp;amp; strError &amp;amp; &quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&quot; &amp;amp; vbcrlf&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp; End Property&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp; ' 类型：&amp;nbsp;&amp;nbsp;&amp;nbsp; 属性&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 目的：&amp;nbsp;&amp;nbsp;&amp;nbsp; 设定分页文件显示模板信息。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 输入：&amp;nbsp;&amp;nbsp;&amp;nbsp; a_strTemplate:&amp;nbsp;&amp;nbsp; 模板描述。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 返回：&amp;nbsp;&amp;nbsp;&amp;nbsp; 无。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp; Public Property Let Template(a_strTemplate)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim aryTemplate,i,j,strError,strTemp,intItem,aryTemp,aryTemp1&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_blnTemplate = false&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; aryTemplate = Split(Trim(LCase(a_strTemplate)),&quot;+&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; intItem = UBound(aryTemplate)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If intItem &amp;lt; 4 Then strError = &quot;&amp;lt;br&amp;gt;此属性是必选项&quot;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If intItem &amp;lt; 4 Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '获取文件头&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTemp = TriM(aryTemplate(0))&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If strcomp(Left(strTemp,6),&quot;[file=&quot;)= 0 Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strHeadJS = &quot;&amp;lt;script src=&quot;&quot;&quot; &amp;amp; Mid(strTemp,7,Len(strTemp)-7) &amp;amp; &quot;&quot;&quot;&amp;gt;&amp;lt;/script&amp;gt;&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strHeadJS = Mid(strTemp,7,Len(strTemp)-7)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '获取文件尾&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTemp = Trim(aryTemplate(3))&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If strComp(Left(strTemp,6),&quot;[file=&quot;) = 0 Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strFootJS = &quot;&amp;lt;script src=&quot;&quot;&quot; &amp;amp; Mid(strTemp,7,Len(strTemp)-7) &amp;amp; &quot;&quot;&quot;&amp;gt;&amp;lt;/script&amp;gt;&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strFootJS = Mid(strTemp,7,Len(strTemp)-7)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '获取分页模版&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; aryTemp = Split(aryTemplate(1),&quot;,&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If aryTemp(0) &amp;lt;&amp;gt; &quot;&quot; Then strTemp = Replace(aryTemp(0),&quot;[page=&quot;,&quot;&quot;)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If IsNumeric(strTemp) Then strTemp = CInt(strTemp)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If strTemp &amp;lt;&amp;gt; SW_intPageInNone Then&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If IsNumeric(strTemp) Then strTemp = CInt(strTemp)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_intShowPagePos = strTemp&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTemp = aryTemp(1)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If strTemp &amp;lt;&amp;gt; &quot;&quot; Then strTemp = Replace(strTemp,&quot;]&quot;,&quot;&quot;)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If IsNumeric(strTemp) Then strTemp = CInt(strTemp)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_intShowPageType = strTemp&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_intShowPagePos = SW_intPageShowInNone&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '获取数据显示模版&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; aryTemp = Split(aryTemplate(2),&quot;|&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = 0 To UBound(aryTemp)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTemp = LCase(Trim(aryTemp(i)))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select Case i&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 0&amp;nbsp; '获取并设置显示宽度&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If strTemp &amp;lt;&amp;gt; &quot;&quot; Then strTemp = Replace(strTemp,&quot;[data=&quot;,&quot;&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strShowWidth = strTemp&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 1&amp;nbsp; '获取数据显示方式&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If IsNumeric(strTemp) Then strTemp = CInt(strTemp)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_intShowType = strTemp&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 2&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If strTemp &amp;lt;&amp;gt; &quot;&quot; Then strTemp = Replace(strTemp,&quot;]&quot;,&quot;&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; aryTemp1 = Split(Trim(strTemp),&quot;#&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If UBound(aryTemp1) &amp;gt;= 3 Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_aryFldNote = Split(aryTemp1(0),&quot;,&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_aryFldAlign = Split(aryTemp1(1),&quot;,&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_aryFldWidth = Split(aryTemp1(2),&quot;,&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_aryFldLink = Split(aryTemp1(3),&quot;,&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Select&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If strError = &quot;&quot; Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_blnTemplate = true&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strError = SW_strError &amp;amp; &quot;&amp;nbsp; &amp;lt;tr bgcolor=&quot;&quot;#336699&quot;&quot; height=&quot;&quot;28&quot;&quot;&amp;gt;&amp;lt;td&amp;gt;&amp;lt;font color=&quot;&quot;#FFFFFF&quot;&quot;&amp;gt;Template属性：&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&quot; &amp;amp; vbcrlf&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strError = SW_strError &amp;amp; &quot;&amp;nbsp; &amp;lt;tr bgcolor=&quot;&quot;#ffffff&quot;&quot;&amp;gt;&amp;lt;td&amp;gt;&quot; &amp;amp; strError &amp;amp; &quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&quot; &amp;amp; vbcrlf&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Property&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp; ' 类型：&amp;nbsp;&amp;nbsp;&amp;nbsp; 属性&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 目的：&amp;nbsp;&amp;nbsp;&amp;nbsp; 设定或显示URL。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 输入：&amp;nbsp;&amp;nbsp;&amp;nbsp; a_strURL:&amp;nbsp;&amp;nbsp; 需要分页的文件地址。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 返回：&amp;nbsp;&amp;nbsp;&amp;nbsp; 需要分页的文件地址。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp; Public Property Let URL(a_strURL)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strError,objFSO&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_blnGetURL = false&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Trim(a_strURL)=&quot;&quot; Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strError = &quot;&amp;lt;br&amp;gt;非法的URL地址&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set objFSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If objFSO.FileExists(Server.Mappath(a_strURL)) Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strURL = a_strURL&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strError = strError &amp;amp; &quot;&amp;lt;br&amp;gt;你能确定文件 &amp;lt;font color=&quot;&quot;#ff0000&quot;&quot;&amp;gt;&quot; &amp;amp; a_strURL &amp;amp; &quot;&amp;lt;/font&amp;gt; 存在么？&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set objFSO = Nothing&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If strError = &quot;&quot; Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_blnGetURL = true&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strError = SW_strError &amp;amp; &quot;&amp;nbsp; &amp;lt;tr bgcolor=&quot;&quot;#336699&quot;&quot; height=&quot;&quot;28&quot;&quot;&amp;gt;&amp;lt;td&amp;gt;&amp;lt;font color=&quot;&quot;#FFFFFF&quot;&quot;&amp;gt;URL属性：&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&quot; &amp;amp; vbcrlf&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strError = SW_strError &amp;amp; &quot;&amp;nbsp; &amp;lt;tr bgcolor=&quot;&quot;#ffffff&quot;&quot;&amp;gt;&amp;lt;td&amp;gt;&quot; &amp;amp; strError &amp;amp; &quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&quot; &amp;amp; vbcrlf&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp; End Property&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp; ' 类型：&amp;nbsp;&amp;nbsp;&amp;nbsp; 属性&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 目的：&amp;nbsp;&amp;nbsp;&amp;nbsp; 设置显示标题时单元格的宽度&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 输入：&amp;nbsp;&amp;nbsp;&amp;nbsp; a_strTleWidth:单元格宽度字符串&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 返回：&amp;nbsp;&amp;nbsp;&amp;nbsp; 无&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Property Let TleWidth(a_strWidth)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strTleWidth = a_strWidth&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Property&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp; ' 类型：&amp;nbsp;&amp;nbsp;&amp;nbsp; 属性&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 目的：&amp;nbsp;&amp;nbsp;&amp;nbsp; 设置显示标题时单元格分隔线的类型&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 输入：&amp;nbsp;&amp;nbsp;&amp;nbsp; a_intBDType 单元格分隔线的类型&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 返回：&amp;nbsp;&amp;nbsp;&amp;nbsp; 无&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Property Let TleBDType(a_intBDType)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_intTleBDType = a_intBDType&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Property&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp; ' 类型：&amp;nbsp;&amp;nbsp;&amp;nbsp; 过程&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 目的：&amp;nbsp;&amp;nbsp;&amp;nbsp; 统计总记录数、计算总页数&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 输入：&amp;nbsp;&amp;nbsp;&amp;nbsp; 无&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 返回：&amp;nbsp;&amp;nbsp;&amp;nbsp; 无&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp; Sub Init()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim intPostion,strError,i,objRSTemp,lngTotalRecord&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Not (SW_blnConn and SW_blnOpenRS and SW_blnPageSize and SW_blnGetURL) Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Call ShowErrors()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit Sub&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_objRS.Eof And SW_objRS.Bof Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strError = strError &amp;amp; &quot;&amp;lt;br&amp;gt;库中无任何记录&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '计算总计录数&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set objRSTemp = SW_objConn.Execute(&quot;SELECT * FROM SW_RecCount&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lngTotalRecord = CLng(objRSTemp(&quot;SW_RecCount&quot;).Value)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_lngTotalRecord = lngTotalRecord&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (SW_lngTotalRecord&amp;lt;=2147483647 AND SW_lngTotalRecord&amp;gt;=-2147483648) Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_lngTotalRecord = CLng(SW_lngTotalRecord)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strError = strError &amp;amp; &quot;&amp;lt;br&amp;gt;分页初始化时：总记录数溢出&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_lngTotalRecord &amp;lt;=0 Then strError = strError &amp;amp; &quot;&amp;lt;br&amp;gt;分页初始化时：总记录数小于零&quot;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '计算总页数&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_lngTotalRecord Mod SW_intPageSize = 0 Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_lngTotalPage = CLng(SW_lngTotalRecord \ SW_intPageSize * -1)*-1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_lngTotalPage = CLng(SW_lngTotalRecord \ SW_intPageSize * -1)*-1 + 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '获取页数&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_lngPageNo = Trim(Request.QueryString(&quot;pageno&quot;))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_lngPageNo = &quot;&quot; Then SW_lngPageNo = Trim(Request.Form(&quot;PageNo&quot;))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_lngPageNo = &quot;&quot; Then SW_lngPageNo = 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '如果没有选择第几页，则默认显示第一页&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_lngPageNo &amp;lt;&amp;gt; &quot;&quot; And IsNumeric(SW_lngPageNo) Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (SW_lngPageNo &amp;lt;= 2147483647 And SW_lngPageNo&amp;gt;=-2147483648) Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_lngPageNo = CLng(SW_lngPageNo)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strError = strError &amp;amp; &quot;&amp;lt;br&amp;gt;页数溢出，请检查！&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (SW_lngPageNo&amp;lt;=0) Then strError = strError &amp;amp; &quot;&amp;lt;br&amp;gt;页数只能是正整数！&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strError = strError &amp;amp; &quot;&amp;lt;br&amp;gt;你确信此页数　&amp;lt;font color=&quot;&quot;#FF0000&quot;&quot;&amp;gt;&quot; &amp;amp; SW_lngPageNo &amp;amp; &quot;&amp;lt;/font&amp;gt;　存在？&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (SW_lngPageNo &amp;gt; SW_lngTotalPage AND SW_lngTotalPage&amp;lt;&amp;gt;0) Then SW_lngPageNo = SW_lngTotalPage&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_objRS.PageSize&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = SW_intPageSize&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_objRS.AbsolutePage = SW_lngPageNo&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; intPostion = InstrRev(SW_strURL,&quot;?&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strFormAction = SW_strURL&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If intPostion &amp;gt; 0 Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strURL = SW_strURL &amp;amp; &quot;&amp;amp;PageNo=&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strURL = SW_strURL &amp;amp; &quot;?PageNo=&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Trim(SW_strFields) = &quot;&quot; Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = 0 To SW_objRS.Fields.Count-1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strFields = SW_strFields &amp;amp; SW_objRS(i).Name &amp;amp; &quot;,&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strFields = LCase(&quot;,&quot; &amp;amp; Trim(SW_strFields))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If IsArray(SW_aryFldName) Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = LBound(SW_aryFldName) To Ubound(SW_aryFldName)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If&amp;nbsp; Instr(SW_strFields,&quot;,&quot; &amp;amp; SW_aryFldName(i) &amp;amp; &quot;,&quot;) = 0 Then strError = strError &amp;amp; &quot;&amp;lt;br&amp;gt;字段名 &amp;lt;font color=&quot;&quot;#ff0000&quot;&quot;&amp;gt;&quot; &amp;amp; SW_aryFldName(i) &amp;amp; &quot;&amp;lt;/font&amp;gt; 正确吗？&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (IsArray(SW_aryFldNote) AND UBound(SW_aryFldName)&amp;gt;UBound(SW_aryFldNote)) Then strError = strError &amp;amp; &quot;&amp;lt;br&amp;gt;字段相应中文说明项目不能小于字段个数&quot;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (IsArray(SW_aryFldWidth) AND UBound(SW_aryFldName)&amp;gt;UBound(SW_aryFldWidth)) Then strError = strError &amp;amp; &quot;&amp;lt;br&amp;gt;字段相应宽度项目不能小于字段个数&quot;&lt;BR&gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (IsArray(SW_aryFldAlign) AND UBound(SW_aryFldName)&amp;gt;UBound(SW_aryFldAlign)) Then strError = strError &amp;amp; &quot;&amp;lt;br&amp;gt;字段数据相应对齐方式项目不能小于字段个数&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (IsArray(SW_aryFldLink) AND UBound(SW_aryFldName)&amp;gt;UBound(SW_aryFldLink)) Then strError = strError &amp;amp; &quot;&amp;lt;br&amp;gt;字段数据相应文件链接项目不能小于字段个数&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Trim(strError) = &quot;&quot; Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_blnInit = true&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strError = SW_strError &amp;amp; &quot;&amp;nbsp; &amp;lt;tr bgcolor=&quot;&quot;#336699&quot;&quot; height=&quot;&quot;28&quot;&quot;&amp;gt;&amp;lt;td&amp;gt;&amp;lt;font color=&quot;&quot;#FFFFFF&quot;&quot;&amp;gt;Init过程：&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&quot; &amp;amp; vbcrlf&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strError = SW_strError &amp;amp; &quot;&amp;nbsp; &amp;lt;tr bgcolor=&quot;&quot;#ffffff&quot;&quot;&amp;gt;&amp;lt;td&amp;gt;&quot; &amp;amp; strError &amp;amp; &quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&quot; &amp;amp; vbcrlf&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(SW_strHeadJS &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp; End Sub&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp; ' 类型：&amp;nbsp;&amp;nbsp;&amp;nbsp; 过程&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 目的：&amp;nbsp;&amp;nbsp;&amp;nbsp; 显示分页信息&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 输入：&amp;nbsp;&amp;nbsp;&amp;nbsp; 无&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 返回：&amp;nbsp;&amp;nbsp;&amp;nbsp; 无&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Sub Pages()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strPages,k,intTemp,intTemp1&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Not(SW_blnInit) Then&amp;nbsp; Call ShowErrors()&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_lngTotalPage = 1 Then Exit Sub&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;lt;table align=&quot;&quot;center&quot;&quot; class=&quot;&quot;css_ShowPage&quot;&quot; width=&quot;&quot;&quot; &amp;amp; SW_strShowWidth &amp;amp; &quot;&quot;&quot;&amp;gt;&quot; &amp;amp; vbcrlf)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp; &amp;lt;tr&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;table width=&quot;&quot;100%&quot;&quot;&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;tr&amp;gt;&quot; &amp;amp; vbcrlf &amp;amp; &quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td align=&quot;&quot;center&quot;&quot; valign=&quot;&quot;middle&quot;&quot; class=&quot;&quot;.test1&quot;&quot;&amp;gt;&quot; &amp;amp; vbcrlf)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_lngTotalPage &amp;gt;= 1 Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT CASE SW_intShowPageType&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case SW_intShowChinese&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_lngPageNo &amp;lt;= 1 Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write (&quot;&amp;lt;font color=&quot;&quot;&quot; &amp;amp; SW_strFTColor &amp;amp; &quot;&quot;&quot;&amp;gt;首页 前页 &amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL &amp;amp; SW_lngPageNo+1 &amp;amp; &quot;&quot;&quot;&amp;gt;后页&amp;lt;/a&amp;gt; &amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL &amp;amp; SW_lngTotalPage &amp;amp; &quot;&quot;&quot;&amp;gt;末页&amp;lt;/a&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_lngPageNo &amp;gt;= SW_lngTotalPage Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write (&quot;&amp;lt;font color=&quot;&quot;&quot; &amp;amp; SW_strFTColor &amp;amp; &quot;&quot;&quot;&amp;gt;&amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL &amp;amp; &quot;1&quot;&quot;&amp;gt;首页&amp;lt;/a&amp;gt;&amp;nbsp; &amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL&amp;nbsp; &amp;amp; SW_lngPageNo -1 &amp;amp; &quot;&quot;&quot;&amp;gt;前页&amp;lt;/a&amp;gt;&amp;nbsp; &quot; &amp;amp; &quot;后页&amp;nbsp; 末页&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write (&quot;&amp;lt;font color=&quot;&quot;&quot; &amp;amp; SW_strFTColor &amp;amp; &quot;&quot;&quot;&amp;gt;&amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL &amp;amp; &quot;1&quot;&quot;&amp;gt;首页&amp;lt;/a&amp;gt; &amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL&amp;nbsp; &amp;amp; SW_lngPageNo -1 &amp;amp; &quot;&quot;&quot;&amp;gt;前页&amp;lt;/a&amp;gt; &quot; &amp;amp; &quot;&amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL&amp;nbsp; &amp;amp; SW_lngPageNo+1 &amp;amp; &quot;&quot;&quot;&amp;gt;后页&amp;lt;/a&amp;gt; &amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL&amp;nbsp; &amp;amp; SW_lngTotalPage &amp;amp; &quot;&quot;&quot;&amp;gt;末页&amp;lt;/a&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write (&quot;　页次：&amp;lt;b&amp;gt;&quot; &amp;amp; SW_lngPageNo &amp;amp; &quot;&amp;lt;/b&amp;gt;/&quot; &amp;amp; SW_lngTotalPage &amp;amp; &quot;页 共&amp;lt;b&amp;gt;&quot; &amp;amp; SW_lngTotalRecord &amp;amp; &quot;&amp;lt;/b&amp;gt;条记录　&amp;lt;b&amp;gt;&quot; &amp;amp; SW_intPageSize &amp;amp; &quot;&amp;lt;/b&amp;gt;条/页&amp;lt;/td&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;form name=&quot;&quot;gopage&quot;&quot; action=&quot;&quot;&quot; &amp;amp; SW_strFormAction &amp;amp; &quot;&quot;&quot; method=&quot;&quot;post&quot;&quot;&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td&amp;gt; 第&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;input type=&quot;&quot;text&quot;&quot; name=&quot;&quot;pageno&quot;&quot; size=&quot;&quot;3&quot;&quot; maxlength=4 title=&quot;&quot;请输入页号,然后回车&quot;&quot;&amp;gt;页 &quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;lt;input type=&quot;&quot;submit&quot;&quot; value=&quot;&quot;GO&quot;&quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/form&amp;gt;&amp;lt;/tr&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case SW_intShowEnglish&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_lngPageNo &amp;lt;= 1 Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write (&quot;&amp;lt;font color=&quot;&quot;&quot; &amp;amp; SW_strFTColor &amp;amp; &quot;&quot;&quot;&amp;gt;First Prev &amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL &amp;amp; SW_lngPageNo+1 &amp;amp; &quot;&quot;&quot;&amp;gt;Next&amp;lt;/a&amp;gt; &amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL &amp;amp; SW_lngTotalPage &amp;amp; &quot;&quot;&quot;&amp;gt;Last&amp;lt;/a&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_lngPageNo &amp;gt;= SW_lngTotalPage Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write (&quot;&amp;lt;font color=&quot;&quot;&quot; &amp;amp; SW_strFTColor &amp;amp; &quot;&quot;&quot;&amp;gt;&amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL &amp;amp; &quot;1&quot;&quot;&amp;gt;First&amp;lt;/a&amp;gt;&amp;nbsp; &amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL&amp;nbsp; &amp;amp; SW_lngPageNo -1 &amp;amp; &quot;&quot;&quot;&amp;gt;Prev&amp;lt;/a&amp;gt;&amp;nbsp; &quot; &amp;amp; &quot;Next&amp;nbsp; Last&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write (&quot;&amp;lt;font color=&quot;&quot;&quot; &amp;amp; SW_strFTColor &amp;amp; &quot;&quot;&quot;&amp;gt;&amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL &amp;amp; &quot;1&quot;&quot;&amp;gt;First&amp;lt;/a&amp;gt; &amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL&amp;nbsp; &amp;amp; SW_lngPageNo -1 &amp;amp; &quot;&quot;&quot;&amp;gt;Prev&amp;lt;/a&amp;gt; &quot; &amp;amp; &quot;&amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL&amp;nbsp; &amp;amp; SW_lngPageNo+1 &amp;amp; &quot;&quot;&quot;&amp;gt;Next&amp;lt;/a&amp;gt; &amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL&amp;nbsp; &amp;amp; SW_lngTotalPage &amp;amp; &quot;&quot;&quot;&amp;gt;Last&amp;lt;/a&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write (&quot;　Page No：&amp;lt;b&amp;gt;&quot; &amp;amp; SW_lngPageNo &amp;amp; &quot;&amp;lt;/b&amp;gt;/&quot; &amp;amp; SW_lngTotalPage &amp;amp; &quot;　Total Records:&amp;lt;b&amp;gt;&quot; &amp;amp; SW_lngTotalRecord &amp;amp; &quot;&amp;lt;/b&amp;gt;　PageSize:&amp;lt;b&amp;gt;&quot; &amp;amp; SW_intPageSize &amp;amp; &quot;&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;form name=&quot;&quot;gopage&quot;&quot; action=&quot;&quot;&quot; &amp;amp; SW_strFormAction &amp;amp; &quot;&quot;&quot; method=&quot;&quot;post&quot;&quot;&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td&amp;gt; &quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;input type=&quot;&quot;text&quot;&quot; name=&quot;&quot;pageno&quot;&quot; size=&quot;&quot;3&quot;&quot;&amp;nbsp; maxlength=4 title=&quot;&quot;Please input pageno then enter&quot;&quot;&amp;gt; &quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;lt;input type=&quot;&quot;submit&quot;&quot; value=&quot;&quot;GO&quot;&quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/form&amp;gt;&amp;lt;/tr&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case SW_intShowCharacter&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strPages = &quot;&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; intTemp = (SW_lngPageNo \ SW_intShowPages) * SW_intShowPages&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_lngPageNo Mod SW_intShowPages = 0 Then intTemp = intTemp - 10&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For k = 1 To SW_intShowPages&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; intTemp1 = intTemp + k&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If intTemp1 &amp;gt; SW_lngTotalPage Then Exit For&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_lngPageNo = intTemp1 Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Len(Trim(CStr(intTemp1)))&amp;lt;2 Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strPages = strPages &amp;amp; &quot; 0&quot; &amp;amp; CStr(intTemp1)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strPages = strPages &amp;amp; &quot; &quot; &amp;amp; CStr(intTemp1)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strPages = strPages &amp;amp; &quot;　&amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL &amp;amp; CStr(intTemp1) &amp;amp; &quot;&quot;&quot;&amp;gt;&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Len(Trim(CStr(intTemp1)))&amp;lt;2 Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strPages = strPages &amp;amp; &quot;0&quot; &amp;amp; CStr(intTemp1)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strPages = strPages &amp;amp; CStr(intTemp1)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strPages = strPages &amp;amp; &quot;&amp;lt;/a&amp;gt;&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_lngPageNo &amp;lt;= 1 Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write (&quot;&amp;lt;font face=&quot;&quot;Webdings&quot;&quot;&amp;gt;9 7&amp;lt;/font&amp;gt;&quot; &amp;amp; strPages &amp;amp; &quot; &amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL &amp;amp; SW_lngPageNo+1 &amp;amp; &quot;&quot;&quot;&amp;gt;&amp;lt;font face=&quot;&quot;Webdings&quot;&quot;&amp;gt;8&amp;lt;/font&amp;gt;&amp;lt;/a&amp;gt; &amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL &amp;amp; SW_lngTotalPage &amp;amp; &quot;&quot;&quot;&amp;gt;&amp;lt;font&amp;nbsp; face=&quot;&quot;Webdings&quot;&quot;&amp;gt;:&amp;lt;/font&amp;gt;&amp;lt;/a&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_lngPageNo &amp;gt;= SW_lngTotalPage Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write (&quot;&amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL &amp;amp; &quot;1&quot;&quot;&amp;gt;&amp;lt;font&amp;nbsp; face=&quot;&quot;Webdings&quot;&quot;&amp;gt;9&amp;lt;/font&amp;gt;&amp;lt;/a&amp;gt;&amp;nbsp; &amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL&amp;nbsp; &amp;amp; SW_lngPageNo -1 &amp;amp; &quot;&quot;&quot;&amp;gt;&amp;lt;font&amp;nbsp; face=&quot;&quot;Webdings&quot;&quot;&amp;gt;7&amp;lt;/font&amp;gt;&amp;lt;/a&amp;gt;&quot; &amp;amp; strPages &amp;amp; &quot; &amp;lt;font&amp;nbsp; face=&quot;&quot;Webdings&quot;&quot;&amp;gt;8&amp;nbsp; :&amp;lt;/font&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write (&quot;&amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL &amp;amp; &quot;1&quot;&quot;&amp;gt;&amp;lt;font&amp;nbsp; face=&quot;&quot;Webdings&quot;&quot;&amp;gt;9&amp;lt;/font&amp;gt;&amp;lt;/a&amp;gt; &amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL&amp;nbsp; &amp;amp; SW_lngPageNo -1 &amp;amp; &quot;&quot;&quot;&amp;gt;&amp;lt;font&amp;nbsp; face=&quot;&quot;Webdings&quot;&quot;&amp;gt;7&amp;lt;/font&amp;gt;&amp;lt;/a&amp;gt; &quot; &amp;amp; strPages &amp;amp; &quot; &amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL&amp;nbsp; &amp;amp; SW_lngPageNo+1 &amp;amp; &quot;&quot;&quot;&amp;gt;&amp;lt;font&amp;nbsp; face=&quot;&quot;Webdings&quot;&quot;&amp;gt;8&amp;lt;/font&amp;gt;&amp;lt;/a&amp;gt; &amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_strURL&amp;nbsp; &amp;amp; SW_lngTotalPage &amp;amp; &quot;&quot;&quot;&amp;gt;&amp;lt;font&amp;nbsp; face=&quot;&quot;Webdings&quot;&quot;&amp;gt;:&amp;lt;/font&amp;gt;&amp;lt;/a&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write (&quot;&amp;lt;/td&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;form name=&quot;&quot;gopage&quot;&quot; action=&quot;&quot;&quot; &amp;amp; SW_strFormAction &amp;amp; &quot;&quot;&quot; method=&quot;&quot;post&quot;&quot;&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td&amp;gt; &quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;input type=&quot;&quot;text&quot;&quot; name=&quot;&quot;pageno&quot;&quot; size=&quot;&quot;3&quot;&quot;&amp;nbsp; maxlength=10 title=&quot;&quot;Please input pageno then enter&quot;&quot;&amp;gt; &quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;lt;input type=&quot;&quot;submit&quot;&quot; value=&quot;&quot;GO&quot;&quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/form&amp;gt;&amp;lt;/tr&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case SW_intShowImage&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;lt;br&amp;gt;对不起，你设置的显示方式SWPage不支持。&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.End&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Select&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/table&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/td&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp; &amp;lt;/tr&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;lt;/table&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp; ' 类型：&amp;nbsp;&amp;nbsp;&amp;nbsp; 过程&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 目的：&amp;nbsp;&amp;nbsp;&amp;nbsp; 显示分页数据&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 输入：&amp;nbsp;&amp;nbsp;&amp;nbsp; 无&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 返回：&amp;nbsp;&amp;nbsp;&amp;nbsp; 无&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sub Show()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim i,j&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Not(SW_blnInit) Then Call ShowError()&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; j = 0&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_objRS.Eof And SW_objRS.Bof Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;库中无任何记录&amp;lt;br&amp;gt;&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.End&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_intShowPagePos = SW_intPageInAll Or SW_intShowPagePos = SW_intPageInTop Then Call Pages()&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '空行&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td height=&quot;&quot;5&quot;&quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&quot; &amp;amp; vbcrlf)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT CASE SW_intShowType&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case SW_intHorizontalView '横排&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Do While (Not SW_objRS.Eof AND j&amp;lt;SW_intPageSize)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp; &amp;lt;table class=&quot;&quot;css_showdata_tb&quot;&quot; width=&quot;&quot;&quot; &amp;amp; SW_strShowWidth &amp;amp; &quot;&quot;&quot; align=&quot;&quot;center&quot;&quot;&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = LBound(SW_aryFldName) To UBound(SW_aryFldName)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;tr class=&quot;&quot;css_showdata_title_H&quot;&quot; height=&quot;&quot;28&quot;&quot;&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td class=&quot;&quot;css_showdata_V&quot;&quot; align=&quot;&quot;center&quot;&quot; width=&quot;&quot;&quot; &amp;amp; SW_strTleWidth &amp;amp; &quot;&quot;&quot;&amp;gt;&quot; &amp;amp; vbcrlf &amp;amp; &quot;&amp;amp;nbsp;&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (IsArray(SW_aryFldNote)) Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(SW_aryFldNote(i) &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(SW_aryFldName(i) &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/td&amp;gt;&quot; &amp;amp; vbcrlf &amp;amp; &quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td class=&quot;&quot;css_showdata_td&quot;&quot; &quot;)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (IsArray(SW_aryFldWidth)) Then Response.Write(&quot; width=&quot;&quot;&quot; &amp;amp; SW_aryFldWidth(i) &amp;amp; &quot;&quot;&quot;&quot;)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (IsArray(SW_aryFldAlign)) Then Response.Write(&quot; align=&quot;&quot;&quot; &amp;amp; SW_aryFldAlign(i) &amp;amp; &quot;&quot;&quot;&quot;)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;gt;&quot; &amp;amp; vbcrlf)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (IsArray(SW_aryFldLink) AND (Trim(SW_aryFldLink(i))&amp;lt;&amp;gt;&quot;&quot;)) Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_aryFldLink(i) &amp;amp; &quot;&quot;&quot; target=&quot;&quot;_blank&quot;&quot;&amp;gt;&quot; &amp;amp; SW_objRS(SW_aryFldName(i)) &amp;amp; &quot;&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(SW_objRS(SW_aryFldName(i)) &amp;amp; &quot;&amp;lt;/td&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/tr&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp; &amp;lt;/table&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '空行&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td height=&quot;&quot;5&quot;&quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_objRS.MoveNext&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; j = j + 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Loop&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CASE SW_intVerticalView&amp;nbsp; '竖排&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_intTleBDType = SW_intTleNoBorder Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp; &amp;lt;table class=&quot;&quot;css_showdata_tb&quot;&quot; align=&quot;&quot;center&quot;&quot; width=&quot;&quot;&quot; &amp;amp; SW_strShowWidth &amp;amp; &quot;&quot;&quot;&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;tr class=&quot;&quot;css_title&quot;&quot;&amp;gt;&amp;lt;td colspan=&quot;&quot;&quot; &amp;amp; CStr(UBound(SW_aryFldName)+1) &amp;amp; &quot;&quot;&quot;&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;table border=&quot;&quot;0&quot;&quot; width=&quot;&quot;100%&quot;&quot;&amp;gt;&amp;lt;tr&amp;gt;&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = LBound(SW_aryFldName) To UBound(SW_aryFldName)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td align=&quot;&quot;center&quot;&quot;&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (IsArray(SW_aryFldWidth)) Then Response.Write(&quot; width=&quot;&quot;&quot; &amp;amp; SW_aryFldWidth(i) &amp;amp; &quot;&quot;&quot;&amp;gt;&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (IsArray(SW_aryFldNote)) Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(SW_aryFldNote(i) &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(SW_aryFldName(i) &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/td&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp; &amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp; &amp;lt;table&amp;nbsp; class=&quot;&quot;css_showdata_tb&quot;&quot; width=&quot;&quot;&quot; &amp;amp; SW_strShowWidth &amp;amp; &quot;&quot;&quot; align=&quot;&quot;center&quot;&quot;&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;tr class=&quot;&quot;css_Title&quot;&quot; height=&quot;&quot;28&quot;&quot;&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = LBound(SW_aryFldName) To UBound(SW_aryFldName)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td class=&quot;&quot;css_showdata_td&quot;&quot; align=&quot;&quot;center&quot;&quot;&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (IsArray(SW_aryFldWidth)) Then Response.Write(&quot; width=&quot;&quot;&quot; &amp;amp; SW_aryFldWidth(i) &amp;amp; &quot;&quot;&quot;&amp;gt;&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (IsArray(SW_aryFldNote)) Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(SW_aryFldNote(i))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(SW_aryFldName(i))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/td&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp; &amp;lt;/tr&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Do While (Not SW_objRS.Eof AND j&amp;lt;SW_intPageSize)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;tr class=&quot;&quot;CSS_ShowData_tr&quot;&quot; height=&quot;&quot;28&quot;&quot;&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = LBound(SW_aryFldName) To UBound(SW_aryFldName)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;&amp;lt;td class=&quot;&quot;css_showdata_td&quot;&quot;&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (IsArray(SW_aryFldAlign)) Then Response.Write(&quot; align=&quot;&quot;&quot; &amp;amp; SW_aryFldAlign(i) &amp;amp; &quot;&quot;&quot; width=&quot;&quot;&quot; &amp;amp; SW_aryFldWidth(i) &amp;amp; &quot;&quot;&quot;&amp;gt;&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (IsArray(SW_aryFldLink) AND Trim(SW_aryFldLink(i)&amp;lt;&amp;gt;&quot;&quot;)) Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a href=&quot;&quot;&quot; &amp;amp; SW_aryFldLink(i) &amp;amp; &quot;&quot;&quot; target=&quot;&quot;_blnak&quot;&quot;&amp;gt;&quot; &amp;amp; SW_objRS(SW_aryFldName(i)) &amp;amp; &quot;&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(SW_objRS(SW_aryFldName(i)) &amp;amp; &quot; &amp;lt;/td&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/tr&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_objRS.MoveNext&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; j = j + 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Loop&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;nbsp; &amp;lt;/table&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td height=&quot;&quot;5&quot;&quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&quot; &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CASE ELSE&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(&quot;&amp;lt;br&amp;gt;你还没设置数据的显示方式?或者你的设置的显示方式SWPage不支持！&amp;lt;br&amp;gt;&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.End&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End SELECT&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_intShowPagePos = SW_intPageInAll Or SW_intShowPagePos = SW_intPageInBottom Then Call Pages()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write( SW_strFootJS &amp;amp; vbcrlf)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp; ' 类型：&amp;nbsp;&amp;nbsp;&amp;nbsp; 过程&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 目的：&amp;nbsp;&amp;nbsp;&amp;nbsp; 显示分页类中出现的错误信息&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 输入：&amp;nbsp;&amp;nbsp;&amp;nbsp; 无&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 返回：&amp;nbsp;&amp;nbsp;&amp;nbsp; 无&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp; Private Sub ShowErrors()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If SW_strError &amp;lt;&amp;gt; &quot;&quot; Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SW_strError = &quot;&amp;lt;table bgcolor=&quot;&quot;#0000&quot;&quot; cellspacing=&quot;&quot;1&quot;&quot; cellpadding=&quot;&quot;0&quot;&quot; width=&quot;&quot;90%&quot;&quot; align=&quot;&quot;center&quot;&quot;&amp;gt;&quot; &amp;amp; vbcrlf &amp;amp; &quot;&amp;nbsp; &amp;lt;tr bgcolor=&quot;&quot;#ff9900&quot;&quot; height=&quot;&quot;30&quot;&quot;&amp;gt;&amp;lt;td align=&quot;&quot;center&quot;&quot; valign=&quot;&quot;middle&quot;&quot;&amp;gt;&amp;lt;b&amp;gt;SWPage分页类错误信息&amp;lt;b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&quot; &amp;amp; vbcrlf &amp;amp; SW_strError &amp;amp; &quot;&amp;lt;/table&amp;gt;&quot; &amp;amp; vbcrlf&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(SW_strError)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.End&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp; End Sub&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp; ' 类型：&amp;nbsp;&amp;nbsp;&amp;nbsp; 过程&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 目的：&amp;nbsp;&amp;nbsp;&amp;nbsp; 释放资源&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 输入：&amp;nbsp;&amp;nbsp;&amp;nbsp; 无&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' 返回：&amp;nbsp;&amp;nbsp;&amp;nbsp; 无&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '*****************************************&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sub Close()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set SW_objRS&amp;nbsp;&amp;nbsp; = Nothing&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set SW_objConn = Nothing&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;BR&gt;&amp;nbsp; End Class&lt;BR&gt;%&amp;gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;四、注意事项 &lt;BR&gt;　　你可以随意修改、使用此代码，但是当你修改后，希望能给我一份拷贝(cjj8110@xxx163.com为了防止垃圾邮件，发邮件时请把163前面的&quot;xxx&quot;删除)。如在使用中发现有Bug请通知我或帮我改正，需要注意的是本类需要用到FSO，主要是URL属性中用到它。现在不使有RecordSet对象的RecordCount属性来获取总记录数了，而是将总记录数存在另外的一个表中，所以在通用方面降低了很多，有兴趣的朋友也可以用Application对象来记录总记录数。不管哪种方法，都使添加记录、删除记录的操作麻烦起来了，但分页中最耗时的地方就是用RecordCount来取总记录数了，当然如果你的库记录数不多的话，是无所谓的。但如果有几十或几百万条记录时，可以很明显的感觉到用不用RecordCount的区别了。 &lt;BR&gt;&lt;BR&gt;&lt;IMG src=&quot;/content/webeditor/sysimage/file/zip.gif&quot; border=0&gt;&lt;A href=&quot;/content/uploadfiles/2011-06/20110619_223333.zip&quot; target=_blank&gt;pages.zip&lt;/A&gt;&lt;/P&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]asp分页代码，第几页开始，优化效率</title>
           <link>http://www.yici.net/content/text_all/text_0/670_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2011-6-19 22:27:09</pubDate>
           <comments></comments>
           <description>我自己也是看下面这个分页效果学会的，总的来说分页主要分成设置rs.pagesize和rs.absolutepage还有输出结果等几个步骤。 &lt;BR&gt;你自己仔细看看分页效果的目的是把信息分屏显示等等！！ &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;近段时间看了一些论坛上面关于分页的ASP程序依然有许多的关注者，但里面只有代码，没有详细的解释，对于初学者来说，这样总是得不到真正的掌握，此次我将针对分页技术进行详解，让大家来理解ASP分页，好了，一起来对分页程序来次透彻的了解吧！ &lt;BR&gt;&lt;BR&gt;首先，来看看效果！ &lt;BR&gt;&lt;BR&gt;看看功能：分页程序首先读取每页预置的记录条数，在此是5条，其它将在下页中显示，同时提示当前页数、总页数、总记录数，当显示的页数为第一页时，“首页”、“上一页”链接失效，当显示的页数为最后页时，“下一页”、“尾页”链接失效。 &lt;BR&gt;&lt;BR&gt;接下来，以实例的方式告诉大家怎么一步步的做出这种分页效果。 &lt;BR&gt;&lt;BR&gt;首先，数据库中字段record_info存在于info表中（实例下载中有数据库），先链接数据库并将一个记录集打开，以下代码： &lt;BR&gt;&lt;BR&gt;以下为引用的内容： &lt;BR&gt;&lt;BR&gt;&amp;lt;% &lt;BR&gt;Set&amp;nbsp;conn=Server.CreateObject(&quot;Adodb.Connection&quot;) &lt;BR&gt;connstr=&quot;provider=Microsoft.JET.OLEDB.4.0;Data&amp;nbsp;Source=&quot;&amp;amp;Server.MapPath(&quot;data.mdb&quot;) &lt;BR&gt;conn.open&amp;nbsp;connstr &lt;BR&gt;Set&amp;nbsp;rs=Server.CreateObject(&quot;Adodb.Recordset&quot;) &lt;BR&gt;sql=&quot;Select&amp;nbsp;*&amp;nbsp;from&amp;nbsp;info&quot; &lt;BR&gt;rs.open&amp;nbsp;sql,conn,1,1 &lt;BR&gt;%&amp;gt; &lt;BR&gt;&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;这段代码不详解，相信初入门的都会，具体的解释可以看看《手把手教你用ASP做留言本》教程， &lt;BR&gt;&lt;BR&gt;接下来这是分页中比较重要的部分，了了三行而已： &lt;BR&gt;&lt;BR&gt;以下为引用的内容： &lt;BR&gt;&lt;BR&gt;&amp;lt;% &lt;BR&gt;rs.pagesize=5 &lt;BR&gt;curpage=Request.QueryString(&quot;curpage&quot;) &lt;BR&gt;rs.absolutepage=curpage &lt;BR&gt;%&amp;gt; &lt;BR&gt;&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;第二句： &lt;BR&gt;&lt;BR&gt;rs.pagesize=5，这个什么意思呢？它就是在Recordset对象中的一个内置属性，它的作用是指定每页的记录条数，设置为5时，每5条记录放在一起成一页，比如实例中共有21条记录，那么，使用rs.pagesize分页后，这21条记录将分成5页进行显示。 &lt;BR&gt;&lt;BR&gt;第三句： &lt;BR&gt;&lt;BR&gt;这里主要是用于翻页的功能，将URL的post参数curpage传递给curpage变量，这个curpage将得到浏览者想要到达的页数。（运行一下实例就会明白） &lt;BR&gt;&lt;BR&gt;第四句： &lt;BR&gt;&lt;BR&gt;rs.absolutepage，这个也是个内置的属性，，它代表的意思就是将curpage变量的数值指定为当前页。 &lt;BR&gt;&lt;BR&gt;现在开始可以让记录循环显示了： &lt;BR&gt;&lt;BR&gt;以下为引用的内容： &lt;BR&gt;&lt;BR&gt;&amp;lt;% &lt;BR&gt;for&amp;nbsp;i=&amp;nbsp;1&amp;nbsp;to&amp;nbsp;rs.pagesize &lt;BR&gt;if&amp;nbsp;rs.eof&amp;nbsp;then &lt;BR&gt;exit&amp;nbsp;for &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;%&amp;gt; &lt;BR&gt;&amp;lt;%=rs(&quot;record_info&quot;)%&amp;gt;&amp;lt;br&amp;gt; &lt;BR&gt;&amp;lt;% &lt;BR&gt;rs.movenext &lt;BR&gt;next &lt;BR&gt;%&amp;gt; &lt;BR&gt;&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;第二句： &lt;BR&gt;&lt;BR&gt;利用for循环在每页显示rs.pagesize属性中指定的记录数。 &lt;BR&gt;&lt;BR&gt;第三、四、五句： &lt;BR&gt;&lt;BR&gt;这句意思是当最后一页达不到指定记录时就退出循环，以免出错。 &lt;BR&gt;&lt;BR&gt;第七句： &lt;BR&gt;&lt;BR&gt;绑定从数据库取出的record_info字段，就是叫这字段内的记录循环显示的。 &lt;BR&gt;&lt;BR&gt;第九句： &lt;BR&gt;&lt;BR&gt;用rs.movenext方法将rs记录集往下移一条记录。 &lt;BR&gt;&lt;BR&gt;第十句： &lt;BR&gt;&lt;BR&gt;for循环语句。 &lt;BR&gt;&lt;BR&gt;另外可以用&amp;lt;%=curpage%&amp;gt;读出当前页次，用&amp;lt;%=rs.pagecount%&amp;gt;读出总页数，用&amp;lt;%=rs.recordcount%&amp;gt;读出总记录数。例如：“当前第&amp;lt;%=curpage%&amp;gt;页，共有&amp;lt;%=rs.pagecount%&amp;gt;页，共有：&amp;lt;%=rs.recordcount%&amp;gt;条记录”。 &lt;BR&gt;&lt;BR&gt;在显示首页、上页、下页、尾页功能上，采用了if...else...语句，比较好懂。 &lt;BR&gt;&lt;BR&gt;以下为引用的内容： &lt;BR&gt;&lt;BR&gt;&amp;lt;%if&amp;nbsp;curpage=1&amp;nbsp;then%&amp;gt; &lt;BR&gt;首页 &lt;BR&gt;&amp;lt;%else%&amp;gt; &lt;BR&gt;&amp;lt;a&amp;nbsp;href=&quot;?curpage=1&quot;&amp;gt;首页&amp;lt;/a&amp;gt; &lt;BR&gt;&amp;lt;%end&amp;nbsp;if%&amp;gt; &lt;BR&gt;&lt;BR&gt;&amp;lt;%if&amp;nbsp;curpage=1&amp;nbsp;then%&amp;gt; &lt;BR&gt;上一页 &lt;BR&gt;&amp;lt;%else%&amp;gt; &lt;BR&gt;&amp;lt;a&amp;nbsp;href=&quot;?curpage=&amp;lt;%=curpage-1%&amp;gt;&quot;&amp;gt;上一页&amp;lt;/a&amp;gt; &lt;BR&gt;&amp;lt;%end&amp;nbsp;if%&amp;gt; &lt;BR&gt;&lt;BR&gt;&amp;lt;%if&amp;nbsp;rs.pagecount&amp;lt;curpage+1&amp;nbsp;then%&amp;gt; &lt;BR&gt;下一页 &lt;BR&gt;&amp;lt;%else%&amp;gt; &lt;BR&gt;&amp;lt;a&amp;nbsp;href=&quot;?curpage=&amp;lt;%=curpage+1%&amp;gt;&quot;&amp;gt;下一页&amp;lt;/a&amp;gt; &lt;BR&gt;&amp;lt;%end&amp;nbsp;if%&amp;gt; &lt;BR&gt;&lt;BR&gt;&amp;lt;%if&amp;nbsp;rs.pagecount&amp;lt;curpage+1&amp;nbsp;then%&amp;gt; &lt;BR&gt;尾页 &lt;BR&gt;&amp;lt;%else%&amp;gt; &lt;BR&gt;&amp;lt;a&amp;nbsp;href=&quot;?curpage=&amp;lt;%=rs.pagecount%&amp;gt;&quot;&amp;gt;尾页&amp;lt;/a&amp;gt; &lt;BR&gt;&amp;lt;%end&amp;nbsp;if%&amp;gt; &lt;BR&gt;&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;理解一下： &lt;BR&gt;&lt;BR&gt;首页： &lt;BR&gt;&lt;BR&gt;这个使用当前页是否为第一页时判别，如果当前为第一页（也就是首页），那么显示首页两字，没有链接，否则提供直接跳转到首页的链接。&amp;nbsp; &lt;BR&gt;&lt;BR&gt;上一页： &lt;BR&gt;&lt;BR&gt;当前为第一页时，链接失效，反过来，链接到当前面的上一页，这里使用：&amp;lt;%=curpage-1%&amp;gt;，就是用当前的页数减去1，得到上一页。&amp;nbsp; &lt;BR&gt;&lt;BR&gt;下一页： &lt;BR&gt;&lt;BR&gt;这里需要使用rs.pagecount这个属性来比较，假如总页数小于当前页数加1的值，那表明这就是第后一页，链接将失效，否则链接到下一页。&amp;nbsp; &lt;BR&gt;&lt;BR&gt;尾页： &lt;BR&gt;&lt;BR&gt;和下一页的功能一样判定出是最后页时链接失效，否则将当前页指定为rs.pagecount(总页数)。 &lt;BR&gt;这个教程到此结束，经过讲解，大家应该对ASP的分页技术有较深的理解了吧？有问题可以通过在blog留言的方式和我联系。</description>
       </item>
       <item>
           <title>[XML/Ajax]网页编程必看:XML文法分析</title>
           <link>http://www.yici.net/content/text_all/text_0/669_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>XML/Ajax</category>
           <pubDate>2011-5-24 10:45:19</pubDate>
           <comments></comments>
           <description>　　在进行XML文法分析之前，首先有必要了解XML语法的基本规则： &lt;BR&gt;&lt;BR&gt;　　词法特征：1）XML区分大小写，如元素名在打开和关闭标记中应保持大小写一致&amp;lt;mytag&amp;gt;…&amp;lt;/mytag&amp;gt;，XML的保留词串应符合大小写要求&amp;lt;?xml&amp;nbsp;…&amp;gt;&amp;nbsp;&amp;lt;!ENTITY&amp;gt;…。 &lt;BR&gt;&lt;BR&gt;　　2）XML保留标记字符为：&amp;lt;&amp;nbsp;&amp;gt;&amp;nbsp;&amp;amp;，保留字符不允许出现在元素名、元素文本、属性名、属性值中，&amp;lt;&amp;nbsp;用户打开标记，&amp;gt;用于关闭标记，&amp;amp;用于转意，常见的转意为&amp;nbsp;&amp;amp;lt生成&amp;lt;，&amp;amp;gt生成&amp;gt;，&amp;amp;amp生成&amp;amp;，&amp;amp;apos生成’，&amp;amp;quot生成” &lt;BR&gt;&lt;BR&gt;　　3）元素名以下划线或字母开始，可包含字母、数字、句点、连字符、下划线、冒号和用于其他语言的扩展字符，元素名中不能有空格符（分格符、跳格符、换行符、回车符），元素名可以由名域前缀。如：&amp;lt;mytag&amp;gt;&amp;nbsp;&amp;lt;dt:mytag&amp;gt;&amp;nbsp;元素文本可以是除XML保留字符外的字符集合，如&amp;lt;mytag&amp;gt;&amp;nbsp;my&amp;nbsp;money&amp;nbsp;is&amp;nbsp;$2000&amp;nbsp;&amp;lt;/mytag&amp;gt; &lt;BR&gt;&lt;BR&gt;　　4）属性名的规则同元素名，属性值由单引号或双引号括约其中，可由除XML保留字符以外的字符串组成，如：&amp;lt;mytag&amp;nbsp;myprop=”proper&amp;nbsp;value”&amp;gt;。属性名有xmlns前缀，表明该属性定义了一个名域，如：&amp;lt;mytag&amp;nbsp;xmlns:ns=”http://www.myweb.com/myschema”&amp;gt; &lt;BR&gt;&lt;BR&gt;　　句法特征：1）XML文档由一个XML说明、多个可选的文档说明、多个可选的XML指令、多个可选的XML注释和一个根元素的数据体组成，此外还可以有嵌入语句中的CDATA段，如： &lt;BR&gt;&lt;BR&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#f3f3f3&gt;&lt;FONT style=&quot;FONT-WEIGHT: bold; COLOR: #990000&quot;&gt;以下是引用片段：&lt;/FONT&gt;&lt;BR&gt;　　&amp;lt;?xml&amp;nbsp;…?&amp;gt;&amp;nbsp;/*XML说明*/ &lt;BR&gt;　　&amp;lt;!DOCTYPE&amp;nbsp;…&amp;gt;&amp;nbsp;/*XML文档说明*/ &lt;BR&gt;　　&amp;lt;!--&amp;nbsp;…&amp;nbsp;--&amp;gt;&amp;nbsp;/*XML注释*/ &lt;BR&gt;　　&amp;lt;?xml-stylesheet&amp;nbsp;…?&amp;gt;&amp;nbsp;/*XML指令*/ &lt;BR&gt;　　&amp;lt;root&amp;gt;&amp;nbsp;/*根数据元素*/ &lt;BR&gt;　　&amp;lt;child&amp;gt; &lt;BR&gt;　　…&amp;lt;![CDATA[…]]&amp;gt; &lt;BR&gt;　　&amp;lt;/child&amp;gt; &lt;BR&gt;　　&amp;lt;/root&amp;gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;　　2）XML说明由&amp;lt;?xml打开，由?&amp;gt;标关闭，其中包含版本、编码等可选说明，如：&amp;lt;?xml&amp;nbsp;version=”1.0”&amp;nbsp;encoding=”UTF-9”?&amp;gt; &lt;BR&gt;　　3）XML文档说明由&amp;lt;!和保留串打开，由&amp;gt;关闭，如：&amp;lt;!DOCTYPE&amp;nbsp;mydoc&amp;nbsp;SYSTEM&amp;nbsp;“mydoc.dtd”&amp;gt; &lt;BR&gt;　　4)XML指令由&amp;lt;?和保留串打开，由?&amp;gt;关闭，如：&amp;lt;?xml-stylesheet&amp;nbsp;type=”text/xsl”&amp;nbsp;href=”mystyle.xsl”?&amp;gt; &lt;BR&gt;　　5）XML注释由&amp;lt;!――打开，由――&amp;gt;关闭，如：&amp;lt;!--&amp;nbsp;&amp;nbsp;&amp;nbsp;this&amp;nbsp;is&amp;nbsp;my&amp;nbsp;xml&amp;nbsp;document&amp;nbsp;&amp;nbsp;--&amp;gt; &lt;BR&gt;　　6）XML元素由&amp;lt;元素名&amp;gt;打开，由/&amp;gt;，或&amp;lt;/元素名&amp;gt;关闭，元素的打开和关闭标记相互匹配，如&amp;lt;myteg&amp;nbsp;../&amp;gt;或&amp;lt;mytag&amp;gt;…&amp;lt;/myteg&amp;gt;，XML的元素允许嵌套，应此还应保持层次上的匹配，如&amp;lt;myteg&amp;gt;&amp;lt;subtag&amp;gt;..&amp;lt;/subtag&amp;gt;&amp;lt;/mytag&amp;gt;。 &lt;BR&gt;　　7）CDTATA段由&amp;lt;![CDATA[&amp;gt;打开，由]]&amp;gt;关闭，用于使居于其中的语句规避XML解析规则。如：&amp;lt;![CDATA[&amp;nbsp;select&amp;nbsp;*&amp;nbsp;from&amp;nbsp;mytable&amp;nbsp;where&amp;nbsp;thefield&amp;nbsp;&amp;lt;=&amp;nbsp;‘100’&amp;nbsp;]]&amp;gt; &lt;BR&gt;　　根据以上的XML文法特征，可以构造出用于词法分析的正则式和用于句法分析的下推自动机结构。 &lt;BR&gt;　　XML词法正则式： &lt;BR&gt;　　#define&amp;nbsp;digit&amp;nbsp;[1,2,…,9]&amp;nbsp;/*数字字符*/ &lt;BR&gt;　　#define&amp;nbsp;letter&amp;nbsp;[a,b,…,z,A,B,…,Z]&amp;nbsp;/*字母字符*/ &lt;BR&gt;　　#define&amp;nbsp;signs&amp;nbsp;[~,&amp;nbsp;!&amp;nbsp;,&amp;nbsp;@,&amp;nbsp;#,&amp;nbsp;%,&amp;nbsp;^,&amp;nbsp;&amp;amp;,*,(,&amp;nbsp;),&amp;nbsp;?,&amp;nbsp;:,&amp;nbsp;;,&amp;nbsp;“,&amp;nbsp;‘,&amp;nbsp;,,&amp;nbsp;.,&amp;nbsp;/,-,&amp;nbsp;_,&amp;nbsp;+,&amp;nbsp;=,&amp;nbsp;|,&amp;nbsp;\]&amp;nbsp;/*符号字符*/ &lt;BR&gt;　　#define&amp;nbsp;ascii2&amp;nbsp;[0x80,…,0xFF]&amp;nbsp;/*ASCII&amp;nbsp;chart2&amp;nbsp;扩展字符*/ &lt;BR&gt;　　#define&amp;nbsp;space&amp;nbsp;[0x20,&amp;nbsp;\t,&amp;nbsp;\r,&amp;nbsp;\n]&amp;nbsp;/*空格符，跳格符，回车符，换行符*/ &lt;BR&gt;　　#define&amp;nbsp;reserve&amp;nbsp;[&amp;lt;&amp;nbsp;,&amp;nbsp;&amp;gt;,&amp;nbsp;&amp;amp;]&amp;nbsp;/*XML保留字符*/ &lt;BR&gt;　　1）&amp;nbsp;元素名的正则式： &lt;BR&gt;　　element_name&amp;nbsp;-&amp;gt;&amp;nbsp;(_&amp;nbsp;|&amp;nbsp;letter&amp;nbsp;|&amp;nbsp;ascii2)&amp;nbsp;(ε|&amp;nbsp;_&amp;nbsp;|&amp;nbsp;-&amp;nbsp;|&amp;nbsp;:&amp;nbsp;|&amp;nbsp;.&amp;nbsp;|&amp;nbsp;digit&amp;nbsp;|&amp;nbsp;letter&amp;nbsp;|&amp;nbsp;signs&amp;nbsp;|&amp;nbsp;ascii2)* &lt;BR&gt;　　2）&amp;nbsp;元素文本的正则式： &lt;BR&gt;　　element_text&amp;nbsp;-&amp;gt;&amp;nbsp;(ε|&amp;nbsp;not&amp;nbsp;reserve)* &lt;BR&gt;　　3）&amp;nbsp;属性名的正则式： &lt;BR&gt;　　proper_name&amp;nbsp;-&amp;gt;&amp;nbsp;(_&amp;nbsp;|&amp;nbsp;letter&amp;nbsp;|&amp;nbsp;ascii2)&amp;nbsp;(ε|&amp;nbsp;_&amp;nbsp;|&amp;nbsp;-&amp;nbsp;|&amp;nbsp;:&amp;nbsp;|&amp;nbsp;.&amp;nbsp;|&amp;nbsp;digit&amp;nbsp;|&amp;nbsp;letter&amp;nbsp;|&amp;nbsp;signs&amp;nbsp;|&amp;nbsp;ascii2)* &lt;BR&gt;　　4）&amp;nbsp;属性文本的正则式： &lt;BR&gt;　　proper_value&amp;nbsp;-&amp;gt;&amp;nbsp;(ε|&amp;nbsp;not&amp;nbsp;reserve)* &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;[NextPage]&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;　　XML句法结构： &lt;BR&gt;　　xml_document&amp;nbsp;-&amp;gt;&amp;nbsp;xml_header&amp;nbsp;(ε|&amp;nbsp;xml_declare&amp;nbsp;|&amp;nbsp;xml_instruct&amp;nbsp;|&amp;nbsp;xml_comments)*&amp;nbsp;xml_element &lt;BR&gt;　　xml_header&amp;nbsp;-&amp;gt;&amp;nbsp;[&amp;lt;?xml](space)*(proper_token)*(space)*&amp;nbsp;[?&amp;gt;] &lt;BR&gt;　　xml_declare&amp;nbsp;-&amp;gt;&amp;nbsp;[&amp;lt;!]reserve_word(space)*(token)*(space)*[&amp;gt;] &lt;BR&gt;　　xml_instruct&amp;nbsp;-&amp;gt;&amp;nbsp;[&amp;lt;?]reserve_word(space)*&amp;nbsp;(proper_token)*&amp;nbsp;(space)*[?&amp;gt;] &lt;BR&gt;　　xml_comments&amp;nbsp;-&amp;gt;&amp;nbsp;[&amp;lt;!--](ε|&amp;nbsp;digit&amp;nbsp;|&amp;nbsp;letter&amp;nbsp;|&amp;nbsp;signs&amp;nbsp;|&amp;nbsp;ascii2&amp;nbsp;|&amp;nbsp;space)*[--&amp;nbsp;&amp;gt;] &lt;BR&gt;　　xml_element&amp;nbsp;-&amp;gt;&amp;nbsp;[&amp;lt;]element_name&amp;nbsp;(space)*(&amp;nbsp;ε|&amp;nbsp;proper_token)*(space)*[/&amp;gt;]&amp;nbsp;|&amp;nbsp; &lt;BR&gt;　　[&amp;lt;]element_name(space)*(&amp;nbsp;ε&amp;nbsp;|&amp;nbsp;proper_token)*(space)*[&amp;gt;] &lt;BR&gt;　　[ε|&amp;nbsp;&amp;lt;![CDATA[&amp;nbsp;]element_text[ε|&amp;nbsp;]]&amp;gt;] &lt;BR&gt;　　(ε&amp;nbsp;|&amp;nbsp;xml_element)*(space)*[&amp;lt;/]element_name[&amp;gt;] &lt;BR&gt;　　proper_token&amp;nbsp;-&amp;gt;&amp;nbsp;proper_name(space)*[=](space)*&amp;nbsp;[ε|&amp;nbsp;&amp;lt;![CDATA[&amp;nbsp;]&amp;nbsp;[‘&amp;nbsp;|&amp;nbsp;“]proper_value[‘&amp;nbsp;|&amp;nbsp;“]&amp;nbsp;[ε|&amp;nbsp;]]&amp;gt;] &lt;BR&gt;　　reserve_word&amp;nbsp;-&amp;gt;&amp;nbsp;[DOCTYPE&amp;nbsp;|&amp;nbsp;ELEMENT&amp;nbsp;|&amp;nbsp;NOTATION&amp;nbsp;|&amp;nbsp;…] &lt;BR&gt;　　token&amp;nbsp;-&amp;gt;&amp;nbsp;(ε|&amp;nbsp;not&amp;nbsp;reserve)* &lt;BR&gt;&lt;BR&gt;　　分析XML文法需要构造一个下推自动机，它的结构定义如下： &lt;BR&gt;&lt;BR&gt;　　1）STACK_DFA&amp;nbsp;mata_xml_doc&amp;nbsp;=&amp;nbsp;&amp;lt;Q,Σ，σ，q,Γ,T,S&amp;nbsp;&amp;gt; &lt;BR&gt;　　Q:&amp;nbsp;{…}&amp;nbsp;/*详见后面的状态集合*/ &lt;BR&gt;　　Σ:&amp;nbsp;/*指向待解析的XML元素词串*/ &lt;BR&gt;　　σ:&amp;nbsp;Q&#215;Σ-&amp;gt;Q&amp;nbsp;/*状态转移函数，见状态转移列表*/ &lt;BR&gt;　　q:&amp;nbsp;{NIL_SKIP}&amp;nbsp;/*初始状态*/ &lt;BR&gt;　　Γ:&amp;nbsp;{NIL_FAILED,NIL_SUCCEED}&amp;nbsp;/*终结状态集合*/ &lt;BR&gt;　　S:&amp;nbsp;&amp;nbsp;{Q/*状态*/,&amp;nbsp;N/*DOM节点*/&amp;gt;,&amp;lt;…&amp;gt;}&amp;nbsp;/*下推栈*/ &lt;BR&gt;　　2）栈顶符集合用于反映当前分析节点的类型： &lt;BR&gt;　　T：{NIL/*空*/,&amp;nbsp;TG/*标记*/,&amp;nbsp;NS/*元素*/,&amp;nbsp;IS/*指令*/,&amp;nbsp;DS/*声明*/,&amp;nbsp;CD/*CDATA界段*/,CM/*注释*/} &lt;BR&gt;　　3）状态集合反映了分析的某一阶段特征，与栈顶符对应： &lt;BR&gt;　　NIL:&amp;nbsp;&amp;nbsp;NIL_FAILED&amp;nbsp;/*失败*/ &lt;BR&gt;　　NIL_SKIP&amp;nbsp;/*忽略*/ &lt;BR&gt;　　NIL_SUCCEED&amp;nbsp;/*成功*/ &lt;BR&gt;　　CM:&amp;nbsp;&amp;nbsp;CM_BEGIN&amp;nbsp;/*注释开始*/ &lt;BR&gt;　　CM_END&amp;nbsp;/*注释结束*/ &lt;BR&gt;　　TG:&amp;nbsp;&amp;nbsp;TG_OPEN&amp;nbsp;/*标记打开*/ &lt;BR&gt;　　TG_INT_CLOSE&amp;nbsp;/*标记中断*/ &lt;BR&gt;　　TG_PRE_CLOSE&amp;nbsp;/*标记准备关闭*/ &lt;BR&gt;　　TG_CLOSE&amp;nbsp;/*标记关闭*/ &lt;BR&gt;　　NS:&amp;nbsp;&amp;nbsp;NS_NAME_BEGIN&amp;nbsp;/*元素名开始*/ &lt;BR&gt;　　NS_NAME_END&amp;nbsp;/*元素名结束*/ &lt;BR&gt;　　NS_KEY_BEGIN&amp;nbsp;/*属性名开始*/ &lt;BR&gt;　　NS_KEY_END&amp;nbsp;/*属性名结束*/ &lt;BR&gt;　　NS_ASIGN&amp;nbsp;/*属性赋值*/ &lt;BR&gt;　　NS_VAL_BEGIN&amp;nbsp;/*属性值开始*/ &lt;BR&gt;　　NS_VAL_END&amp;nbsp;/*属性值结束*/ &lt;BR&gt;　　NS_TEXT_BEGIN&amp;nbsp;/*元素文本开始*/ &lt;BR&gt;　　NS_TEXT_END&amp;nbsp;/*元素文本结束*/ &lt;BR&gt;　　IS:&amp;nbsp;&amp;nbsp;IS_OPEN&amp;nbsp;/*指令打开*/ &lt;BR&gt;　　IS_NAME_BEGIN&amp;nbsp;/*指令名开始*/ &lt;BR&gt;　　IS_NAME_END&amp;nbsp;/*指令名结束*/ &lt;BR&gt;　　IS_KEY_BEGIN&amp;nbsp;/*指令键开始*/ &lt;BR&gt;　　IS_KEY_END&amp;nbsp;/*指令键结束*/ &lt;BR&gt;　　IS_ASIGN&amp;nbsp;/*赋值符*/ &lt;BR&gt;　　IS_VAL_BEGIN&amp;nbsp;/*指令值开始*/ &lt;BR&gt;　　IS_VAL_END&amp;nbsp;/*指令值结束*/ &lt;BR&gt;　　IS_CLOSE&amp;nbsp;/*指令关闭*/ &lt;BR&gt;　　DS:&amp;nbsp;&amp;nbsp;DS_OPEN&amp;nbsp;/*声明打开*/ &lt;BR&gt;　　DS_SKIP&amp;nbsp;/*越过申明节*/ &lt;BR&gt;　　DS_CLOSE&amp;nbsp;/*声明关闭*/ &lt;BR&gt;　　CD:&amp;nbsp;&amp;nbsp;CD_BEGIN&amp;nbsp;/*CDATA界段开始*/ &lt;BR&gt;　　CD_END&amp;nbsp;/*CDATA界段结束*/ &lt;BR&gt;&lt;BR&gt;&lt;FONT face=Verdana&gt;[NextPage]&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;　　4）栈顶动作：PUSH:&amp;nbsp;将当前节点和状态压入栈 &lt;BR&gt;　　POP：出栈并恢复当前节点和状态 &lt;BR&gt;　　NOP：无栈操作 &lt;BR&gt;&lt;BR&gt;　　5）读写头动作：NEXT:&amp;nbsp;移动至下一字符 &lt;BR&gt;　　SKIP:&amp;nbsp;越过转义串或保留名串 &lt;BR&gt;　　PAUSE:&amp;nbsp;暂定于当前字符 &lt;BR&gt;　　STOP：停机于当前字符 &lt;BR&gt;&lt;BR&gt;　　6）状态转移列表： &lt;BR&gt;　　说明：&amp;nbsp;space&amp;nbsp;指符合空格定义的字符 &lt;BR&gt;　　name&amp;nbsp;指符合命名定义的字符 &lt;BR&gt;　　namepre&amp;nbsp;指符合命名的第一个字符 &lt;BR&gt;　　token&amp;nbsp;指除去保留字符外字符 &lt;BR&gt;　　other&amp;nbsp;指除去已判断以外的字符 &lt;BR&gt;　　（状态）输入符（栈操作，状态，读写头动作） &lt;BR&gt;　　(NOP,NIL_SKIP,NEXT)/*初始化*/ &lt;BR&gt;　　(NIL_SKIP) &lt;BR&gt;　　space&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NIL_SKIP,NEXT)&amp;nbsp;/*忽略起始空格*/ &lt;BR&gt;　　&amp;lt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,TG_OPEN,NEXT)&amp;nbsp;/*遇到标记*/ &lt;BR&gt;　　‘\0’&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NIL_SUCCEED,STOP)&amp;nbsp;/*终结符*/ &lt;BR&gt;　　other&amp;nbsp;(NOP,NIL_FAILED,STOP)&amp;nbsp;/*无效字符*/ &lt;BR&gt;　　(TG_OPEN) &lt;BR&gt;　　!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,DS_OPEN,NEXT)&amp;nbsp;/*遇到声明符*/ &lt;BR&gt;　　?&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,IS_OPEN,NEXT)&amp;nbsp;/*遇到指令符*/ &lt;BR&gt;　　/&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(POP,TG_PRE_CLOSE,NEXT)&amp;nbsp;/*准备关闭标记*/ &lt;BR&gt;　　namepre&amp;nbsp;(NOP,NS_NAME_BEGIN,PAUSE)&amp;nbsp;/*元素名开始*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NIL_FAILED,STOP)&amp;nbsp;/*非法字符*/ &lt;BR&gt;　　(DS_OPEN) &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,DS_SKIP,PAUSE)&amp;nbsp;/*忽略声明*/ &lt;BR&gt;　　(DS_SKIP) &lt;BR&gt;　　&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,DS_CLOSE,PAUSE)&amp;nbsp;/*声明结束*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,DS_SKIP,NEXT)&amp;nbsp;/*忽略声明*/ &lt;BR&gt;　　(DS_CLOSE) &lt;BR&gt;　　&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,TG_CLOSE,PAUSE)&amp;nbsp;/*标记关闭*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NIL_FAILED,STOP)&amp;nbsp;/*非法字符*/ &lt;BR&gt;　　(CM_BEGIN) &lt;BR&gt;　　-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,CM_END,SKIP)&amp;nbsp;/*注释开始*/ &lt;BR&gt;　　token&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,CM_BEGIN,NEXT)&amp;nbsp;/*继续注释串*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NIL_FAILED,STOP)&amp;nbsp;/*非法字符*/ &lt;BR&gt;　　(CM_END) &lt;BR&gt;　　&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,DS_CLOSE,PAUSE)&amp;nbsp;/*注释关闭*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NIL_FAILED,STOP)&amp;nbsp;/*非法字符*/ &lt;BR&gt;　　(CD_BEGIN) &lt;BR&gt;　　]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,CD_END,SKIP)&amp;nbsp;/*界段开始*/ &lt;BR&gt;　　token&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,CD_BEGIN,NEXT)&amp;nbsp;/*继续界段*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NIL_FAILED,STOP)&amp;nbsp;/*非法字符*/ &lt;BR&gt;　　(CD_END) &lt;BR&gt;　　&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,DS_CLOSE,PAUSE)&amp;nbsp;/*声明关闭*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NIL_FAILED,STOP)&amp;nbsp;/*非法字符*/ &lt;BR&gt;　　(IS_OPEN)&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;[NextPage]&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;　　namepre&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,IS_NAME_BEGIN,PAUSE)&amp;nbsp;/*指令名开始*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NIL_FAILED,STOP)&amp;nbsp;/*非法字符*/ &lt;BR&gt;　　(IS_NAME_BEGIN) &lt;BR&gt;　　space&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,IS_NAME_END,PAUSE)&amp;nbsp;/*指令名结束*/ &lt;BR&gt;　　?&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,IS_NAME_END,PAUSE)&amp;nbsp;/*指令名结束*/ &lt;BR&gt;　　&amp;amp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,IS_NAME_BEGIN,SKIP)&amp;nbsp;/*字符转义*/ &lt;BR&gt;　　name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,IS_NAME_BEGIN,NEXT)&amp;nbsp;/*继续指令名*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NIL_FAILED,STOP)&amp;nbsp;/*非法字符*/ &lt;BR&gt;　　(IS_NAME_END) &lt;BR&gt;　　space&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,IS_NAME_END,NEXT)&amp;nbsp;/*忽略空格*/ &lt;BR&gt;　　?&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,IS_CLOSE,NEXT)&amp;nbsp;/*标记中断*/ &lt;BR&gt;　　namepre&amp;nbsp;&amp;nbsp;(NOP,IS_KEY_BEGIN,PAUSE)&amp;nbsp;/*指令属性名开始*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NIL_FAILED,STOP)&amp;nbsp;/*非法字符*/ &lt;BR&gt;　　(IS_KEY_BEGIN) &lt;BR&gt;　　space&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,IS_KEY_END,PAUSE)&amp;nbsp;/*属性名结束*/ &lt;BR&gt;　　=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,IS_KEY_END,PAUSE)&amp;nbsp;/*属性名结束*/ &lt;BR&gt;　　&amp;amp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,IS_KEY_BEGIN,SKIP)&amp;nbsp;/*字符转义*/ &lt;BR&gt;　　name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,IS_KEY_BEGIN,NEXT)&amp;nbsp;/*继续属性名*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NIL_FAILED,STOP)&amp;nbsp;/*非法字符*/ &lt;BR&gt;　　(IS_KEY_END) &lt;BR&gt;　　space&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,IS_KEY_END,NEXT)&amp;nbsp;/*忽略空格*/ &lt;BR&gt;　　=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,IS_ASIGN,NEXT)&amp;nbsp;/*属性赋值符*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NIL_FAILED,STOP)&amp;nbsp;/*非法字符*/ &lt;BR&gt;　　(IS_ASIGN) &lt;BR&gt;　　space&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,IS_ASIGN,NEXT)&amp;nbsp;/*忽略空格*/ &lt;BR&gt;　　“&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,IS_VAL_BEGIN,NEXT)&amp;nbsp;/*属性赋值打开*/ &lt;BR&gt;　　‘&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,IS_VAL_BEGIN,NEXT)&amp;nbsp;/*属性赋值打开*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NIL_FAILED,STOP)&amp;nbsp;/*非法字符*/ &lt;BR&gt;　　(IS_VAL_BEGIN) &lt;BR&gt;　　“&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,IS_VAL_END,NEXT)&amp;nbsp;/*属性值结束*/ &lt;BR&gt;　　‘&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,IS_VAL_END,NEXT)&amp;nbsp;/*属性值结束*/ &lt;BR&gt;　　&amp;amp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,IS_VAL_BEGIN,SKIP)&amp;nbsp;/*字符转义*/ &lt;BR&gt;　　token&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,IS_VAL_BEGIN,NEXT)&amp;nbsp;/*继续属性值*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NIL_FAILED,STOP)&amp;nbsp;/*非法字符*/ &lt;BR&gt;　　(IS_VAL_END) &lt;BR&gt;　　space&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,IS_VAL_END,NEXT)&amp;nbsp;/*忽略空格*/ &lt;BR&gt;　　?&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,IS_CLOSE,NEXT)&amp;nbsp;/*标记中断*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,IS_KEY_BEGIN,PAUSE)&amp;nbsp;/*属性名开始*/ &lt;BR&gt;　　(IS_CLOSE) &lt;BR&gt;　　&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,TG_CLOSE,NEXT)&amp;nbsp;/*标记关闭*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NIL_FAILED,STOP)&amp;nbsp;/*非法字符*/ &lt;BR&gt;　　(NS_NAME_BEGIN) &lt;BR&gt;　　space&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NS_NAME_END,PAUSE)&amp;nbsp;/*元素名结束*/ &lt;BR&gt;　　&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NS_NAME_END,PAUSE)&amp;nbsp;/*元素名结束*/ &lt;BR&gt;　　/&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NS_NAME_END,PAUSE)&amp;nbsp;/*元素名结束*/ &lt;BR&gt;　　&amp;amp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NS_NAME_BEGIN,SKIP)&amp;nbsp;/*字符转义*/ &lt;BR&gt;　　name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NS_NAME_BEGIN,NEXT)&amp;nbsp;/*元素名继续*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NIL_FAILED,STOP)&amp;nbsp;/*非法字符*/ &lt;BR&gt;　　(NS_NAME_END) &lt;BR&gt;　　space&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NS_NAME_END,NEXT)&amp;nbsp;/*忽略空格*/ &lt;BR&gt;　　&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,TG_INT_CLOSE,NEXT)&amp;nbsp;/*元素名结束*/ &lt;BR&gt;　　/&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,TG_PRE_CLOSE,NEXT)&amp;nbsp;/*元素名结束*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NS_KEY_BEGIN,PAUSE)&amp;nbsp;/*属性名开始*/&lt;/P&gt;
&lt;P&gt;　　(NS_KEY_BEGIN) &lt;BR&gt;　　space&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NS_NAME_END,PAUSE)&amp;nbsp;/*属性名结束*/ &lt;BR&gt;　　=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NS_KEY_END,PAUSE)&amp;nbsp;/*属性赋值符*/ &lt;BR&gt;　　&amp;amp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NS_KEY_BEGIN,SKIP)&amp;nbsp;/*字符转义*/ &lt;BR&gt;　　name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NS_KEY_BEGIN,NEXT)&amp;nbsp;/*继续属性名*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NIL_FAILED,STOP)&amp;nbsp;/*非法字符*/ &lt;BR&gt;　　(NS_KEY_END) &lt;BR&gt;　　space&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NS_KEY_END,NEXT)&amp;nbsp;/*忽略空格*/ &lt;BR&gt;　　=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NS_ASIGN,NEXT)&amp;nbsp;/*属性赋值符*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NIL_FAILED,STOP)&amp;nbsp;/*非法字符*/ &lt;BR&gt;　　(NS_ASIGN) &lt;BR&gt;　　space&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NS_ASIGN,NEXT)&amp;nbsp;/*忽略空格*/ &lt;BR&gt;　　“&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NS_VAL_BEGIN,NEXT)&amp;nbsp;/*属性赋值打开*/ &lt;BR&gt;　　‘&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NS_VAL_BEGIN,NEXT)&amp;nbsp;/*属性赋值打开*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NIL_FAILED,STOP)&amp;nbsp;/*非法字符*/ &lt;BR&gt;　　(NS_VAL_BEGIN) &lt;BR&gt;　　“&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NS_VAL_END,NEXT)&amp;nbsp;/*属性值结束*/ &lt;BR&gt;　　‘&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NS_VAL_END,NEXT)&amp;nbsp;/*属性值结束*/ &lt;BR&gt;　　&amp;amp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NS_VAL_BEGIN,SKIP)&amp;nbsp;/*字符转义*/ &lt;BR&gt;　　token&amp;nbsp;(NOP,NS_VAL_BEGIN,NEXT)&amp;nbsp;/*继续属性值*/ &lt;BR&gt;　　other&amp;nbsp;(NOP,NIL_FAILED,STOP)&amp;nbsp;/*非法字符*/ &lt;BR&gt;　　(NS_VAL_END) &lt;BR&gt;　　space&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NS_VAL_END,NEXT)&amp;nbsp;/*忽略空格*/ &lt;BR&gt;　　&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,TG_INT_CLOSE,NEXT)&amp;nbsp;/*标记中断*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NS_KEY_BEGIN,PAUSE)&amp;nbsp;/*属性名开始*/ &lt;BR&gt;　　(TG_INT_CLOSE) &lt;BR&gt;　　&amp;lt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(PUSH,TG_OPEN,NEXT)&amp;nbsp;/*标记开始*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NS_TEXT_BEGIN,PAUSE)&amp;nbsp;/*元素文本开始*/ &lt;BR&gt;　　(NS_TEXT_BEGIN) &lt;BR&gt;　　&amp;lt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NS_TEXT_END,PAUSE)&amp;nbsp;/*元素文本结束*/ &lt;BR&gt;　　&amp;amp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NS_TEXT_BEGIN_BEGIN,SKIP)&amp;nbsp;/*字符转义*/ &lt;BR&gt;　　token&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NS_TEXT_BEGIN,NEXT)&amp;nbsp;/*继续元素文本*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NIL_FAILED,STOP)&amp;nbsp;/*非法字符*/ &lt;BR&gt;　　(NS_TEXT_END) &lt;BR&gt;　　&amp;lt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(PUSH,TG_OPEN,NEXT)&amp;nbsp;/*标记开始*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NIL_FAILED,STOP)&amp;nbsp;/*非法字符*/ &lt;BR&gt;　　(TG_PRE_CLOSE) &lt;BR&gt;　　&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,TG_CLOSE,PAUSE)/*标记结束*/ &lt;BR&gt;　　name&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,TG_PRE_CLOSE,NEXT)&amp;nbsp;/*继续关闭标记的元素名*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NIL_FAILED,STOP)&amp;nbsp;/*无效字符*/ &lt;BR&gt;　　(TG_CLOSE) &lt;BR&gt;　　&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(POP,NEXT)&amp;nbsp;/*标记关闭，出栈*/ &lt;BR&gt;　　other&amp;nbsp;&amp;nbsp;&amp;nbsp;(NOP,NIL_FAILED,STOP)&amp;nbsp;/*非法字符*/ &lt;BR&gt;&lt;BR&gt;　　对XML声明，本文只做了忽略处理，可以通过增加XML声明的状态和状态转移列表，进而支持XML声明的分析。 &lt;BR&gt;&lt;/P&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]ASP中Cache（缓存）技术的应用</title>
           <link>http://www.yici.net/content/text_all/text_0/668_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2011-5-24 10:42:53</pubDate>
           <comments></comments>
           <description>&lt;P&gt;　　ASP从发布至今已经7年了，使用ASP技术已经相当成熟，自从微软推出了ASP.NET之后就逐渐停止了对ASP版本的更新。但是由于有很多人仍然习惯使用ASP来开发网站，所以，再次我将以一个简单的例子来说明在ASP中如何使用Cache。&amp;nbsp; &lt;BR&gt;&lt;BR&gt;　　简单的说使用Cache基本原理是，把经常需要且获得代价昂贵的数据在内存中持续保存一定时间，以供这些数据可以被直接地全局地访问。例如，有一些数据需要从数据库多个表中查询获得，且几乎每个页面都要调用这些数据。 &lt;BR&gt;&lt;BR&gt;　　这种情况下的最佳实现就是将这部分数据Cache起来，在ASP中的简单实现就是将这些数据的最终表达形式（例如HTML流）封装在string中然后存入ASP内置对象Application中（本文主要讨论的是动态Cache，简单的ASP&amp;nbsp;应用就省略）。这样做的好处是，在整个网站中可以全局调用这段HTML，而且Application是存在内存中，所以不用再去查询数据库，从而加快了响应时间并节省了服务器负荷。当然这是以消耗内存为代价的，是一个典型的以空间换时间的实例。&amp;nbsp; &lt;BR&gt;&lt;BR&gt;　　使用这种方法虽然有很多好处，但是再遇到频繁变化的数据源（数据库）的时候，这种方法就可能不再适用，因为ASP&amp;nbsp;Application对象有一个缺点，就是不能自动随数据源的变化而变化，或者控制刷新间隔。所以就需要开发人员编程来实现动态Cache。当然在程序设计的时候可以在所有进行改变数据源（数据库）操作时，就更新一次Appliction。从而使数据源（数据库）始终保持一致。这样做在编程上要考虑的问题会比较多，容易遗漏细节。所以除了特定情况我不推荐使用这种方法。&amp;nbsp; &lt;BR&gt;&lt;BR&gt;　　我认为在ASP中最好的办法是用编程实现定时刷新Cache，也就是说给Application中储存的设一个过期时间。当然，在ASP中Application对象没有这样一个ExpireTime属性。这需要用程序实现。 &lt;BR&gt;&lt;BR&gt;　　Code&amp;nbsp; &lt;BR&gt;　　ASP：default.asp &lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#f3f3f3&gt;&lt;FONT style=&quot;FONT-WEIGHT: bold; COLOR: #990000&quot;&gt;以下是引用片段：&lt;/FONT&gt;&lt;BR&gt;　　&amp;lt;%@Language=VBScript%&amp;gt; &lt;BR&gt;　　&amp;lt;%Option&amp;nbsp;&amp;nbsp;Explicit%&amp;gt; &lt;BR&gt;　　&amp;lt;%Response.Buffer=True%&amp;gt; &lt;BR&gt;　　&amp;lt;!--#include&amp;nbsp;file&amp;nbsp;=&amp;nbsp;&quot;conn.asp&quot;--&amp;gt; &lt;BR&gt;　　&amp;lt;!--#include&amp;nbsp;file&amp;nbsp;=&amp;nbsp;&quot;GetCache.asp&quot;--&amp;gt; &lt;BR&gt;　　&amp;lt;HTML&amp;gt; &lt;BR&gt;　　&amp;lt;HEAD&amp;gt; &lt;BR&gt;　　&amp;lt;TITLE&amp;gt;ASP&amp;nbsp;Cache演示&amp;lt;/TITLE&amp;gt; &lt;BR&gt;　　&amp;lt;META&amp;nbsp;HTTP-EQUIV=&quot;Content-Type&quot;&amp;nbsp;CONTENT=&quot;text/html;&amp;nbsp;charset=gb2312&quot;&amp;gt; &lt;BR&gt;　　&amp;lt;/HEAD&amp;gt; &lt;BR&gt;　　&amp;lt;BODY&amp;gt; &lt;BR&gt;　　&amp;lt;h4&amp;gt;每隔10秒刷新Cache：&amp;lt;/h4&amp;gt; &lt;BR&gt;　　&amp;lt;% &lt;BR&gt;　　response.Flush &lt;BR&gt;　　GetHTMLStream &lt;BR&gt;　　response.Write &lt;BR&gt;　　HTMLStream &lt;BR&gt;　　%&amp;gt; &lt;BR&gt;　　&amp;lt;/body&amp;gt; &lt;BR&gt;　　&amp;lt;/html&amp;gt;&amp;nbsp;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;　ASP：getcache.asp&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#f3f3f3&gt;
&lt;P&gt;&lt;FONT style=&quot;FONT-WEIGHT: bold; COLOR: #990000&quot;&gt;以下是引用片段：&lt;/FONT&gt;&lt;BR&gt;　　&amp;lt;%&amp;nbsp; &lt;BR&gt;　　Const&amp;nbsp;CACHE_DEFAULT_INTERVAL&amp;nbsp;=&amp;nbsp;30&amp;nbsp;'每隔30秒刷新一次cache&amp;nbsp; &lt;BR&gt;　　Dim&amp;nbsp;HTMLStream&amp;nbsp; &lt;BR&gt;　　Dim&amp;nbsp;IsExpires&amp;nbsp; &lt;BR&gt;　　IsExpires&amp;nbsp;=&amp;nbsp;CacheExpires&amp;nbsp; &lt;BR&gt;　　Function&amp;nbsp;CacheExpires&amp;nbsp; &lt;BR&gt;　　Dim&amp;nbsp;strLastUpdate&amp;nbsp; &lt;BR&gt;　　Dim&amp;nbsp;result&amp;nbsp;strLastUpdate&amp;nbsp;=&amp;nbsp;Application(&quot;LastUpdate&quot;)&amp;nbsp; &lt;BR&gt;　　If&amp;nbsp;(strLastUpdate&amp;nbsp;=&amp;nbsp;&quot;&quot;)&amp;nbsp;Or&amp;nbsp;(CACHE_DEFAULT_INTERVAL&amp;nbsp;&amp;lt;&amp;nbsp;DateDiff(&quot;s&quot;,&amp;nbsp;strLastUpdate,&amp;nbsp;Now))&amp;nbsp;Then&amp;nbsp; &lt;BR&gt;　　result&amp;nbsp;=&amp;nbsp;true&amp;nbsp; &lt;BR&gt;　　SetLastUpdateTime&amp;nbsp; &lt;BR&gt;　　Else&amp;nbsp; &lt;BR&gt;　　result&amp;nbsp;=&amp;nbsp;false&amp;nbsp; &lt;BR&gt;　　End&amp;nbsp;If&amp;nbsp; &lt;BR&gt;　　CacheExpires&amp;nbsp;=&amp;nbsp;result&amp;nbsp; &lt;BR&gt;　　End&amp;nbsp;Function&amp;nbsp;&lt;BR&gt;　　Sub&amp;nbsp;SetLastUpdateTime&amp;nbsp; &lt;BR&gt;　　Application.Lock&amp;nbsp; &lt;BR&gt;　　Application(&quot;LastUpdate&quot;)&amp;nbsp;=&amp;nbsp;CStr(now())&amp;nbsp; &lt;BR&gt;　　Application.UnLock&amp;nbsp; &lt;BR&gt;　　End&amp;nbsp;Sub&amp;nbsp; &lt;BR&gt;　　Sub&amp;nbsp;GetHTMLStream&amp;nbsp; &lt;BR&gt;　　If&amp;nbsp;IsExpires&amp;nbsp;Then&amp;nbsp; &lt;BR&gt;　　UpdateHTMLStream&amp;nbsp; &lt;BR&gt;　　End&amp;nbsp;If&amp;nbsp; &lt;BR&gt;　　HTMLStream=Application(&quot;CACHE_HTMLStream&quot;)&amp;nbsp; &lt;BR&gt;　　End&amp;nbsp;Sub&amp;nbsp; &lt;BR&gt;&lt;BR&gt;　　Sub&amp;nbsp;UpdateHTMLStream&amp;nbsp; &lt;BR&gt;　　dim&amp;nbsp;d&amp;nbsp; &lt;BR&gt;　　d&amp;nbsp;=&amp;nbsp;FetchHTMLStream&amp;nbsp; &lt;BR&gt;　　Application.Lock&amp;nbsp; &lt;BR&gt;　　Application(&quot;CACHE_HTMLStream&quot;)&amp;nbsp;=&amp;nbsp;d&amp;nbsp; &lt;BR&gt;　　Application.UnLock&amp;nbsp; &lt;BR&gt;　　End&amp;nbsp;Sub&amp;nbsp; &lt;BR&gt;&lt;BR&gt;　　Function&amp;nbsp;FetchHTMLStream&amp;nbsp;&amp;nbsp; &lt;BR&gt;　　Dim&amp;nbsp;rs&amp;nbsp;,strSQL,&amp;nbsp;strHTML&amp;nbsp; &lt;BR&gt;　　Set&amp;nbsp;rs&amp;nbsp;=&amp;nbsp;CreateObject(&quot;ADODB.Recordset&quot;)&amp;nbsp; &lt;BR&gt;　　strSQL&amp;nbsp;=&amp;nbsp;&quot;select&amp;nbsp;categoryID&amp;nbsp;,&amp;nbsp;categoryname&amp;nbsp;from&amp;nbsp;categories&quot;&amp;nbsp; &lt;BR&gt;　　rs.Open&amp;nbsp;strSQL,&amp;nbsp;strConn,adOpenForwardOnly,adLockReadOnly&amp;nbsp; &lt;BR&gt;　　strHTML&amp;nbsp;=&amp;nbsp;strHTML&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;lt;select&amp;nbsp;name=&quot;&quot;slt_search&quot;&quot;&amp;gt;&quot;&amp;nbsp; &lt;BR&gt;　　while&amp;nbsp;(not&amp;nbsp;rs.EOF)&amp;nbsp; &lt;BR&gt;　　strHTML&amp;nbsp;=&amp;nbsp;strHTML&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;lt;option&amp;gt;&quot;&amp;nbsp; &lt;BR&gt;　　strHTML&amp;nbsp;=&amp;nbsp;strHTML&amp;nbsp;&amp;amp;&amp;nbsp;rs.Fields(&quot;categoryname&quot;)&amp;nbsp; &lt;BR&gt;　　strHTML&amp;nbsp;=&amp;nbsp;strHTML&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;lt;/option&amp;gt;&quot;&amp;nbsp;rs.MoveNext&amp;nbsp; &lt;BR&gt;　　wend&amp;nbsp; &lt;BR&gt;　　strHTML&amp;nbsp;=&amp;nbsp;strHTML&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;lt;/select&amp;gt;&quot;&amp;nbsp; &lt;BR&gt;　　rs.Close&amp;nbsp; &lt;BR&gt;　　Set&amp;nbsp;rs&amp;nbsp;=&amp;nbsp;Nothing&amp;nbsp; &lt;BR&gt;　　FetchHTMLStream&amp;nbsp;=&amp;nbsp;strHTML&amp;nbsp; &lt;BR&gt;　　End&amp;nbsp;Function&amp;nbsp; &lt;BR&gt;　　%&amp;gt;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ASP：conn.asp&amp;nbsp; &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#f3f3f3&gt;&lt;FONT style=&quot;FONT-WEIGHT: bold; COLOR: #990000&quot;&gt;以下是引用片段：&lt;/FONT&gt;&lt;BR&gt;　　&amp;lt;!--METADATA&amp;nbsp;NAME=&quot;Microsoft&amp;nbsp;ActiveX&amp;nbsp;Data&amp;nbsp;Objects&amp;nbsp;2.5&amp;nbsp;Library&quot;&amp;nbsp;TYPE=&quot;TypeLib&quot;&amp;nbsp;UUID=&quot;{00000205-0000-0010-8000-00AA006D2EA4}&quot;--&amp;gt;&amp;nbsp; &lt;BR&gt;　　&amp;lt;%&amp;nbsp; &lt;BR&gt;　　dim&amp;nbsp;strConn&amp;nbsp; &lt;BR&gt;　　strConn&amp;nbsp;=&amp;nbsp;&quot;Provider=SQLOLEDB.1;Integrated&amp;nbsp;Security=SSPI;Persist&amp;nbsp;Security&amp;nbsp;Info=False;Initial&amp;nbsp;Catalog=Northwind&quot;&amp;nbsp; &lt;BR&gt;　　%&amp;gt;&amp;nbsp;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]关于动网迷城浪子（老迷）的缓存类的始末2</title>
           <link>http://www.yici.net/content/text_all/text_0/667_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2011-5-24 10:41:17</pubDate>
           <comments></comments>
           <description>&lt;P&gt;这篇主要说一下老迷的vbs的缓存类的使用 &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#f3f3f3&gt;&lt;FONT style=&quot;FONT-WEIGHT: bold; COLOR: #990000&quot;&gt;以下是引用片段：&lt;/FONT&gt;&lt;BR&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;测试Demo&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;set&amp;nbsp;Cache&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Caches&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;Cache.Reloadtime&amp;nbsp;=&amp;nbsp;0.5&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;Cache.Name&amp;nbsp;=&amp;nbsp;&quot;Demo&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;if&amp;nbsp;Cache.ObjIsEmpty&amp;nbsp;then&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Cache.value&amp;nbsp;=&amp;nbsp;&quot;52xx&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response.Write(&quot;1&quot;)&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;else&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response.Write(Cache.value)&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;end&amp;nbsp;if&lt;/SPAN&gt;&lt;BR&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;这里要说明的就是， &lt;BR&gt;Rem&amp;nbsp;=&amp;nbsp;set&amp;nbsp;Cache&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Caches &lt;BR&gt;Rem&amp;nbsp;=&amp;nbsp;Cache.Reloadtime&amp;nbsp;=&amp;nbsp;0.5 &lt;BR&gt;Rem&amp;nbsp;=&amp;nbsp;Cache.Name&amp;nbsp;=&amp;nbsp;&quot;Demo&quot; &lt;BR&gt;作为初始化的这两个赋值是必须的。 &lt;BR&gt;&lt;BR&gt;同时我将老迷的类扩展了一下，这样更加方便同志们的调试。 &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#f3f3f3&gt;&lt;FONT style=&quot;FONT-WEIGHT: bold; COLOR: #990000&quot;&gt;以下是引用片段：&lt;/FONT&gt;&lt;BR&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;script&amp;nbsp;language&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;vbscript&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;runat&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;server&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;==================使用说明====================&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;本类模块是动网先锋原创，作者：迷城浪子。如采用本类模块，请不要去掉这个说明。这段注释不会影响执行的速度。&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;作用：缓存和缓存管理类&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;公有变量：Reloadtime&amp;nbsp;过期时间（单位为分钟）缺省值为14400&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;MaxCount&amp;nbsp;缓存对象的最大值，超过则自动删除使用次数少的对象。缺省值为300&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;CacheName&amp;nbsp;缓存组的总名称，缺省值为&quot;Dvbbs&quot;,如果一个站点中有超过一个s缓存组，则需要外部改变这个值。&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;属性:Name&amp;nbsp;定义缓存对象名称，只写属性。&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;属性:value&amp;nbsp;读取和写入缓存数据。&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;函数：ObjIsEmpty()判断当前缓存是否过期。&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;方法：DelCahe(MyCaheName)手工删除一个缓存对象，参数是缓存对象的名称。&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;测试Demo&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;set&amp;nbsp;Cache&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Caches&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;Cache.Reloadtime&amp;nbsp;=&amp;nbsp;0.5&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;Cache.Name&amp;nbsp;=&amp;nbsp;&quot;Demo&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;if&amp;nbsp;Cache.ObjIsEmpty&amp;nbsp;then&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Cache.value&amp;nbsp;=&amp;nbsp;&quot;52xx&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response.Write(&quot;1&quot;)&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;else&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response.Write(Cache.value)&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;end&amp;nbsp;if&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;========================&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Class&amp;nbsp;Caches&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Public&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;Reloadtime,MaxCount,CacheName&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Private&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;LocalCacheName,CacheData,DelCount&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Private&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Sub&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;Class_Initialize()&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;Reloadtime&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;14400&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;CacheName&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;Dvbbs&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&amp;nbsp;Sub&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Private&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Sub&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;SetCache(SetName,NewValue)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Lock&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application(SetName)&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;NewValue&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.unLock&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&amp;nbsp;Sub&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Private&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Sub&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;makeEmpty(SetName)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Lock&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application(SetName)&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Empty&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.unLock&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&amp;nbsp;Sub&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Public&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Property&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Let&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;Name(ByVal&amp;nbsp;vNewValue)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LocalCacheName&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;LCase&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;(vNewValue)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&amp;nbsp;Property&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Public&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Property&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Let&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;Value(ByVal&amp;nbsp;vNewValue)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;LocalCacheName&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;lt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Then&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CacheData&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;Application(CacheName&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;_&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;LocalCacheName)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;IsArray&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;(CacheData)&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Then&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CacheData(&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;0&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;)&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;vNewValue&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CacheData(&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;1&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;)&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Now&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;()&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Else&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;ReDim&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;CacheData(&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;2&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CacheData(&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;0&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;)&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;vNewValue&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CacheData(&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;1&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;)&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Now&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;()&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SetCache&amp;nbsp;CacheName&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;_&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;LocalCacheName,CacheData&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Else&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Err.Raise&amp;nbsp;vbObjectError&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;+&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;1&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;DvbbsCacheServer&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&amp;nbsp;please&amp;nbsp;change&amp;nbsp;the&amp;nbsp;CacheName.&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&amp;nbsp;Property&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Public&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Property&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Get&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;Value()&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;LocalCacheName&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;lt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Then&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CacheData&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;Application(CacheName&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;_&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;LocalCacheName)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;IsArray&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;(CacheData)&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Then&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Value&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;CacheData(&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;0&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Else&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Err.Raise&amp;nbsp;vbObjectError&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;+&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;1&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;DvbbsCacheServer&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&amp;nbsp;The&amp;nbsp;CacheData&amp;nbsp;Is&amp;nbsp;Empty.&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Else&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;s&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Err.Raise&amp;nbsp;vbObjectError&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;+&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;1&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;DvbbsCacheServer&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&amp;nbsp;please&amp;nbsp;change&amp;nbsp;the&amp;nbsp;CacheName.&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&amp;nbsp;Property&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;可以调用Application的过期时间，方便大家调试。&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Public&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Property&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Get&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;Expire()&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;LocalCacheName&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;lt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Then&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CacheData&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;Application(CacheName&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;_&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;LocalCacheName)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;IsArray&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;(CacheData)&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Then&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Expire&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;CacheData(&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;1&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Else&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Err.Raise&amp;nbsp;vbObjectError&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;+&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;1&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;DvbbsCacheServer&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&amp;nbsp;The&amp;nbsp;CacheData&amp;nbsp;Is&amp;nbsp;Empty.&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Else&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Err.Raise&amp;nbsp;vbObjectError&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;+&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;1&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;DvbbsCacheServer&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&amp;nbsp;please&amp;nbsp;change&amp;nbsp;the&amp;nbsp;CacheName.&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&amp;nbsp;Property&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Public&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Function&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;ObjIsEmpty()&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ObjIsEmpty&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;True&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CacheData&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;Application(CacheName&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;_&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;LocalCacheName)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Not&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;IsArray&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;(CacheData)&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Then&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Exit&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Function&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Not&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;IsDate&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;(CacheData(&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;1&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;))&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Then&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Exit&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Function&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;DateDiff&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;(&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;s&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;,&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;CDate&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;(CacheData(&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;1&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;)),&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Now&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;())&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;60&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;*&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;Reloadtime&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Then&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ObjIsEmpty&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;False&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&amp;nbsp;Function&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Public&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Sub&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;DelCahe(MyCaheName)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;makeEmpty(CacheName&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;_&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;MyCaheName)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&amp;nbsp;Sub&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;这里是增加的完全清楚缓存的方法。&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Public&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Sub&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;ClearAll()&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Lock()&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Contents.RemoveAll()&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.UnLock()&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;end&amp;nbsp;sub&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;Class&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104247734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;SCRIPT&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;对于整体的缓存管理，会在以后的日子里面继续讨论和发问，希望更多的人可以给点建议。&amp;nbsp; &lt;BR&gt;&lt;/P&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]关于动网迷城浪子（老迷）的缓存类的始末。</title>
           <link>http://www.yici.net/content/text_all/text_0/666_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2011-5-24 10:38:28</pubDate>
           <comments></comments>
           <description>&lt;P&gt;首先要说明的，我不是一个教授，只是一个求知者。所以这里的很多是真的疑问，而不是指责，希望大家不要喷我。 &lt;BR&gt;&lt;BR&gt;首先要引用一句老迷同志的话“ASP是几种开发语言里难度最高的,工作量巨大,要求程序员的水平要很高,技术要全面,所以好事自然是多磨了.” &lt;BR&gt;所以向所有奋斗在asp真正研发前段的程序员致敬（这里不包括Ctrl+C,Ctrl+V&amp;nbsp;的兄弟们，呵呵。） &lt;BR&gt;&lt;BR&gt;现在开始正规主体，本来想写整体的关于网站缓存，包括静态化，内存的相关内容，发起一系列的疑问，但是发现内容是在太多了，OK，今天只谈老迷的缓存类（Application相关） &lt;BR&gt;&lt;BR&gt;在动网7之前，用的都是vbs，这个时期，老迷开发出来一个缓存类，代码如下 &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#f3f3f3&gt;&lt;FONT style=&quot;FONT-WEIGHT: bold; COLOR: #990000&quot;&gt;以下是引用片段：&lt;/FONT&gt;&lt;BR&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;Class&amp;nbsp;Cls_Cache&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;==================使用说明====================&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;本类模块是动网先锋原创，作者：迷城浪子。如采用本类模块，请不要去掉这个说明。这段注释不会影响执行的速度。&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;作用：缓存和缓存管理类&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;公有变量：Reloadtime&amp;nbsp;过期时间（单位为分钟）缺省值为14400&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;MaxCount&amp;nbsp;缓存对象的最大值，超过则自动删除使用次数少的对象。缺省值为300&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;CacheName&amp;nbsp;缓存组的总名称，缺省值为&quot;Dvbbs&quot;,如果一个站点中有超过一个缓存组，则需要外部改变这个值。&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;属性:Name&amp;nbsp;定义缓存对象名称，只写属性。&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;属性:value&amp;nbsp;读取和写入缓存数据。&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;函数：ObjIsEmpty()判断当前缓存是否过期。&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;=&amp;nbsp;方法：DelCahe(MyCaheName)手工删除一个缓存对象，参数是缓存对象的名称。&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;Rem&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&amp;nbsp;========================&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Public&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;Reloadtime,MaxCount,CacheName&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Private&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;LocalCacheName,CacheData,DelCount&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Private&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Sub&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;Class_Initialize()&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;Reloadtime&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;14400&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;CacheName&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;Dvbbs&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&amp;nbsp;Sub&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Private&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Sub&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;SetCache(SetName,NewValue)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;Application.Lock&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;Application(SetName)&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;NewValue&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;Application.unLock&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&amp;nbsp;Sub&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Private&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Sub&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;makeEmpty(SetName)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;Application.Lock&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;Application(SetName)&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Empty&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;Application.unLock&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&amp;nbsp;Sub&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Public&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Property&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Let&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;Name(ByVal&amp;nbsp;vNewValue)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;LocalCacheName&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;LCase&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;(vNewValue)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&amp;nbsp;Property&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Public&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Property&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Let&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;Value(ByVal&amp;nbsp;vNewValue)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;LocalCacheName&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;lt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Then&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;CacheData&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;Application(CacheName&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;_&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;LocalCacheName)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;IsArray&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;(CacheData)&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Then&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;CacheData(&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;0&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;)&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;vNewValue&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;CacheData(&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;1&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;)&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Now&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;()&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Else&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;ReDim&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;CacheData(&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;2&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;CacheData(&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;0&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;)&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;vNewValue&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;CacheData(&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;1&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;)&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Now&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;()&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;SetCache&amp;nbsp;CacheName&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;_&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;LocalCacheName,CacheData&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Else&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;Err.Raise&amp;nbsp;vbObjectError&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;+&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;1&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;DvbbsCacheServer&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&amp;nbsp;please&amp;nbsp;change&amp;nbsp;the&amp;nbsp;CacheName.&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&amp;nbsp;Property&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Public&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Property&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Get&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;Value()&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;LocalCacheName&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;lt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Then&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;CacheData&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;Application(CacheName&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;_&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;LocalCacheName)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;IsArray&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;(CacheData)&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Then&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;Value&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;CacheData(&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;0&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Else&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;Err.Raise&amp;nbsp;vbObjectError&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;+&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;1&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;DvbbsCacheServer&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&amp;nbsp;The&amp;nbsp;CacheData&amp;nbsp;Is&amp;nbsp;Empty.&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Else&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;Err.Raise&amp;nbsp;vbObjectError&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;+&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;1&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;DvbbsCacheServer&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&amp;nbsp;please&amp;nbsp;change&amp;nbsp;the&amp;nbsp;CacheName.&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&amp;nbsp;Property&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Public&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Function&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;ObjIsEmpty()&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;ObjIsEmpty&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;True&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;CacheData&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;Application(CacheName&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;_&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;LocalCacheName)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Not&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;IsArray&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;(CacheData)&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Then&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Exit&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Function&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Not&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;IsDate&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;(CacheData(&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;1&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;))&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Then&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Exit&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Function&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;DateDiff&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;(&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;s&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;,&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;CDate&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;(CacheData(&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;1&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;)),&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Now&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;())&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;60&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;*&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;Reloadtime&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Then&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;ObjIsEmpty&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;False&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;If&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&amp;nbsp;Function&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Public&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Sub&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;DelCahe(MyCaheName)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;makeEmpty(CacheName&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;_&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;MyCaheName)&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&amp;nbsp;Sub&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;Class&amp;nbsp;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;这里主要是Application存放一个数组，数组一个元素保存Application名称，第二个元素保存到期时间。 &lt;BR&gt;&lt;BR&gt;然后网上的调用Demo是 &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#f3f3f3&gt;&lt;FONT style=&quot;FONT-WEIGHT: bold; COLOR: #990000&quot;&gt;以下是引用片段：&lt;/FONT&gt;&lt;BR&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Set&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;WydCache&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;New&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;Cls_Cache&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;WydCache.Reloadtime&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800080&quot;&gt;0.5&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;'&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;定义过期时间&amp;nbsp;(以分钟为单会)&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;WydCache.CacheName&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;pages&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;　&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;'&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;定义缓存名&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;IF&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;WydCache.ObjIsEmpty()&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Then&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;'&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;'判断是否可用(包括过期，与是否为空值)&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;Response.write&amp;nbsp;WydCache.Value&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;Else&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104112485.gif&quot;&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104112485.gif&quot;&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104112485.gif&quot;&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104112485.gif&quot;&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104112485.gif&quot;&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104112485.gif&quot;&gt;&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;BoardJumpList&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;xxx&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;WydCache.Value&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;BoardJumpList&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;'&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;写入内容&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #008000&quot;&gt;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;Response.write&amp;nbsp;BoardJumpList&amp;nbsp;&lt;BR&gt;&lt;IMG alt=&quot;&quot; src=&quot;/content/uploadfiles/2011-05/20110524104107734.gif&quot; align=top&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;End&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;if&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #000000&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;而实际上这个Demo不知道为什么，复制出来就是错的。然后我就唐突的问老迷了错误原因，然而没有得到满意的答复，同时呢，老迷说了一句，如果我用jscript，有一个更好的。然后出来了第二个版本的缓存类。 &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#f3f3f3&gt;&lt;FONT style=&quot;FONT-WEIGHT: bold; COLOR: #990000&quot;&gt;以下是引用片段：&lt;/FONT&gt;&lt;BR&gt;&amp;lt;script&amp;nbsp;language=&quot;jscript&quot;&amp;nbsp;runat=&quot;server&quot;&amp;gt; &lt;BR&gt;//缓存操作类 &lt;BR&gt;W3sky.Config.WebName&amp;nbsp;=&amp;nbsp;&quot;Myvery&quot;; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;function&amp;nbsp;Caches(){ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.CacheName=W3sky.Config.WebName+&quot;$&quot;; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.CacheTimeOut=1200000; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//获取一个指定的缓存数据，如果不存在或过期，返回null &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.get=function(key) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(typeof(Application(this.CacheName+key+&quot;$time&quot;))==&quot;undefined&quot;)&amp;nbsp;return&amp;nbsp;null; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;exttime=String(Application(this.CacheName+key+&quot;$time&quot;)); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exttime=parseFloat(exttime); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(!isNaN(exttime)){ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if((new&amp;nbsp;Date()).getTime()&amp;lt;&amp;nbsp;exttime+this.CacheTimeOut) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;String(Application(this.CacheName+key)); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}else{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.remove(key); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;null; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//注销指定的缓存 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.remove=function(key){ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Lock; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Contents.Remove(this.CacheName+key+&quot;$time&quot;); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Contents.Remove(this.CacheName+key); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.unLock; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//注销所有缓存 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.removeAll=function(){ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;x; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;e&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Enumerator(Application.Contents); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(;!e.atEnd();e.moveNext()) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x&amp;nbsp;=&amp;nbsp;e.item(); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(x.indexOf(this.CacheName)!=-1&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;x.indexOf(&quot;$time&quot;)==-1){ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Lock; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Contents.Remove(x+&quot;$time&quot;); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Contents.Remove(x); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.unLock; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//写入一个指定的缓存 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.set=function(key,value){ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Lock; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application(this.CacheName+key+&quot;$time&quot;)=(new&amp;nbsp;Date()).getTime(); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application(this.CacheName+key)=value; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.unLock; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&amp;nbsp; &lt;BR&gt;&amp;lt;/script&amp;gt; &lt;BR&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;学习了一下新的jscript类，实际上就是使用名称相关的方式来，使用两个Application来控制一个Application内容。 &lt;BR&gt;&lt;BR&gt;看了上面的两个方式，我很难看出来第二个类的优势在于什么。当然你可以说，jscript可以实现继承封装和重载。我不得不承认vbs在这里做的不是很好。但是这里是后面这个类比第一个强的解释吗？如果你非说，只要使用了jscript就比vbs好，效率高很多倍。那么我没有什么话说了。 &lt;BR&gt;&lt;BR&gt;Application每个创建都是很消耗资源的，那么使用一个Application来管理是不是就能少的消耗资源呢？同时把时间和内容的管理放在一个Application内部，这样不是更好的内聚吗？而且如果网站使用的Application比较多，两个会是什么样子呢？ &lt;BR&gt;这些疑问，不知道各位有没有想过，能否回答一下。&lt;/P&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]ASP技巧:rs.getrows方法</title>
           <link>http://www.yici.net/content/text_all/text_0/665_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2011-5-23 10:11:01</pubDate>
           <comments></comments>
           <description>GetRows()方法是将数据从&amp;nbsp;Recordset&amp;nbsp;复制到二维数组中，这是一个二维数组，第一个下标标识字段，第二个则标识记录号，所以rsArray&amp;nbsp;=&amp;nbsp;rs.GetRows() &lt;BR&gt;rsArray(0,&amp;nbsp;0)就表示记录集第一行的第一字段值 &lt;BR&gt;rsArray(1,&amp;nbsp;0)就表示记录集第一行的第二字段值 &lt;BR&gt;&lt;BR&gt;数组的数据是保存在内存中的，这就从根本上解决了每次显示记录还需向数据库请求的麻烦 &lt;BR&gt;&lt;BR&gt;参考:关于GetRows()的详细介绍和用法 &lt;BR&gt;&lt;BR&gt;GetRows&amp;nbsp;方法 &lt;BR&gt;将&amp;nbsp;Recordset&amp;nbsp;对象的多个记录恢复到数组中。 &lt;BR&gt;&lt;BR&gt;语法 &lt;BR&gt;&lt;BR&gt;array&amp;nbsp;=&amp;nbsp;recordset.GetRows(&amp;nbsp;Rows,&amp;nbsp;Start,&amp;nbsp;Fields&amp;nbsp;) &lt;BR&gt;&lt;BR&gt;返回值 &lt;BR&gt;&lt;BR&gt;返回二维数组。 &lt;BR&gt;&lt;BR&gt;参数 &lt;BR&gt;&lt;BR&gt;Rows&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;可选，长整型表达式，指定要检索记录数。默认值为&amp;nbsp;adGetRowsRest&amp;nbsp;(-1)。 &lt;BR&gt;&lt;BR&gt;Start&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;可选，字符串或长整型，计算得到在&amp;nbsp;GetRows&amp;nbsp;操作开始处的记录的书签。也可使用下列&amp;nbsp;BookmarkEnum&amp;nbsp;值。 &lt;BR&gt;&lt;BR&gt;常量&amp;nbsp;说明&amp;nbsp; &lt;BR&gt;AdBookmarkCurrent&amp;nbsp;从当前记录开始。&amp;nbsp; &lt;BR&gt;AdBookmarkFirst&amp;nbsp;从首记录开始。&amp;nbsp; &lt;BR&gt;AdBookmarkLast&amp;nbsp;从尾记录开始。&amp;nbsp; &lt;BR&gt;&lt;BR&gt;Fields&amp;nbsp;&amp;nbsp;&amp;nbsp;可选，变体型，代表单个字段名、顺序位置、字段名数组或顺序位置号。ADO&amp;nbsp;仅返回这些字段中的数据。 &lt;BR&gt;&lt;BR&gt;说明 &lt;BR&gt;&lt;BR&gt;使用&amp;nbsp;GetRows&amp;nbsp;方法可将记录从&amp;nbsp;Recordset&amp;nbsp;复制到二维数组中。第一个下标标识字段，第二个则标识记录号。当&amp;nbsp;GetRows&amp;nbsp;方法返回数据时数组变量将自动调整到正确大小。 &lt;BR&gt;&lt;BR&gt;如果不指定&amp;nbsp;Rows&amp;nbsp;参数的值，GetRows&amp;nbsp;方法将自动检索&amp;nbsp;Recordset&amp;nbsp;对象中的所有记录。如果请求的记录比可用记录多，则&amp;nbsp;GetRows&amp;nbsp;仅返回可用记录数。 &lt;BR&gt;&lt;BR&gt;如果&amp;nbsp;Recordset&amp;nbsp;对象支持书签，则可以通过传送该记录的&amp;nbsp;Bookmark&amp;nbsp;属性值，来指定&amp;nbsp;GetRows&amp;nbsp;方法将从哪个记录开始检索数据。 &lt;BR&gt;&lt;BR&gt;如要限制&amp;nbsp;GetRows&amp;nbsp;调用返回的字段，则可以在&amp;nbsp;Fields&amp;nbsp;参数中传送单个字段名/编号或者字段名/编号数组。 &lt;BR&gt;&lt;BR&gt;在调用&amp;nbsp;GetRows&amp;nbsp;后，下一个未读取的记录成为当前记录，或者如果没有更多的记录，则&amp;nbsp;EOF&amp;nbsp;属性设置为&amp;nbsp;True。 &lt;BR&gt;&lt;BR&gt;</description>
       </item>
       <item>
           <title>[WAP手机端]ASP或PHP如何判断是从电脑还是手机客户端访问页面的思路</title>
           <link>http://www.yici.net/content/text_all/text_0/664_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>WAP手机端</category>
           <pubDate>2011-5-22 2:02:04</pubDate>
           <comments></comments>
           <description>&lt;P&gt;像3G门户和QQ那样 &lt;BR&gt;你输入3g.cn,如果是从电脑访问,他就跳转到电脑的网页 &lt;BR&gt;如果是用移动设备访问,就跳到wap的网页 &lt;BR&gt;&lt;BR&gt;有谁知道这个要怎弄?&lt;/P&gt;
&lt;P&gt;=============================================&lt;/P&gt;
&lt;P&gt;PHP思路和代码：&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;正巧我也在解决这个问题,&amp;nbsp;和你分享一下我的发现. &lt;BR&gt;&lt;BR&gt;网上现在有三种观点,&amp;nbsp;一种是基于浏览器发送的&amp;nbsp;User-Agent,&amp;nbsp;但明显这种方法是行不通的,&amp;nbsp;虽然有人列出了大多数的手机发送的User-Agent,&amp;nbsp;但依然会有很多手机无法识别,&amp;nbsp;甚至有些手机浏览器不发送User-Agent,&amp;nbsp;而且也不能保证以后就不会出新牌子. &lt;BR&gt;&lt;BR&gt;下面是一个php的例子,&amp;nbsp;看过之后你就会知道有多么不可靠. &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.&amp;nbsp;function&amp;nbsp;is_wap(){ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$ua&amp;nbsp;=&amp;nbsp;strtolower($_SERVER['HTTP_USER_AGENT']); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$uachar&amp;nbsp;=&amp;nbsp;&quot;/(nokia|sony|ericsson|mot|samsung|sgh|lg|sie|philips|panasonic|alcatel|lenovo|cldc|midp|wap|mobile)/i&quot;; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(($ua&amp;nbsp;==&amp;nbsp;''&amp;nbsp;||&amp;nbsp;preg_match($uachar,&amp;nbsp;$ua))&amp;amp;&amp;amp;&amp;nbsp;!strpos(strtolower($_SERVER['REQUEST_URI']),'wap')){ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;5.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;true; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;6.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}else{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;7.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;false; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;8.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;9.&amp;nbsp;} &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;另外一种是判断HTTP_ACCEPT,&amp;nbsp;这种应该相对可靠一点,&amp;nbsp;不过HTTP_ACCEPT是非常复杂的,&amp;nbsp;如果一般的不支持html的浏览器还好说,&amp;nbsp;你只要判断浏览器支持wml并且不支持html就可以,&amp;nbsp;但如果浏览器同时支持wml和html那就难办了,&amp;nbsp;低端手机可能会将wml放到html的前面,&amp;nbsp;但是很多高端手机或者智能手机对html的支持很好,&amp;nbsp;所以html也会出现在wml前面. &lt;BR&gt;&lt;BR&gt;这是黑莓手机发送的HTTP_ACCEPT &lt;BR&gt;&lt;BR&gt;application/vnd.rim.html, &lt;BR&gt;text/html, &lt;BR&gt;application/vnd.wap.xhtml+xml, &lt;BR&gt;text/vnd.sun.j2me.app-descriptor, &lt;BR&gt;image/vnd.rim.png,image/jpeg, &lt;BR&gt;application/x-vnd.rim.pme.b, &lt;BR&gt;application/vnd.rim.ucs, &lt;BR&gt;image/gif;anim=1, &lt;BR&gt;application/vnd.rim.jscriptc;v=0-8-8, &lt;BR&gt;application/x-javascript, &lt;BR&gt;application/vnd.rim.css;v=1, &lt;BR&gt;text/css;media=handheld, &lt;BR&gt;application/vnd.wap.wmlc;q=0.9, &lt;BR&gt;application/vnd.wap.wmlscriptc;q=0.7, &lt;BR&gt;text/vnd.wap.wml;q=0.7, &lt;BR&gt;*/*;q=0.5 &lt;BR&gt;&lt;BR&gt;夸张吧?&amp;nbsp;不过的确是很标准的,&amp;nbsp;开发人员可以根据这个得到很多信息,&amp;nbsp;但很多手机都没这么标准的,&amp;nbsp;如果你查看IE或者FF的HTTP_ACCEPT你会发现它很短. &lt;BR&gt;&lt;BR&gt;text/html, &lt;BR&gt;application/xhtml+xml, &lt;BR&gt;application/xml;q=0.9, &lt;BR&gt;*/*;q=0.8 &lt;BR&gt;&lt;BR&gt;同样,&amp;nbsp;给你个php的例子. &lt;BR&gt;&lt;BR&gt;if&amp;nbsp;(isset($_SERVER['HTTP_ACCEPT'])&amp;nbsp;&amp;amp;&amp;amp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(strpos($_SERVER['HTTP_ACCEPT'],'vnd.wap.wml')!==FALSE) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;(strpos($_SERVER['HTTP_ACCEPT'],'text/html')===FALSE&amp;nbsp;|| &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(strpos($_SERVER['HTTP_ACCEPT'],'vnd.wap.wml')&amp;nbsp;&amp;lt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;strpos($_SERVER['HTTP_ACCEPT'],'text/html')) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;))&amp;nbsp;{//手机访问 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;readfile('index.wml'); &lt;BR&gt;}&amp;nbsp;else&amp;nbsp;readfile('index.htm'); &lt;BR&gt;&lt;BR&gt;原理：如果浏览器支持WML、而且[不支持HTML]或[WML优先于HTML]，则判定为手机。但实际上这个原理是不完全正确的. &lt;BR&gt;&lt;BR&gt;还有一种是说判断网关或者IP什么的,&amp;nbsp;但我个人认为这个很不可靠,&amp;nbsp;手机的联网方式很多,&amp;nbsp;比如我开发的时候就是用模拟器的.这个应该不用什么例子了,&amp;nbsp;REMOTE_ADDR&amp;nbsp;就足够了. &lt;BR&gt;&lt;BR&gt;以上是我今天上午的工作成果,&amp;nbsp;但实际上还是没有找到完美的解决方案,&amp;nbsp;先写这么多,&amp;nbsp;有问题请补充或者发送消息给我,&amp;nbsp;如果你有更好的办法希望可以分享给我,&amp;nbsp;谢谢. &lt;BR&gt;&lt;BR&gt;补充:&amp;nbsp;刚刚吃饭的时候想如果浏览器支持js判断屏幕尺寸也是个不错的方法.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;=========================================&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ASP的方案和代码范例：&lt;/P&gt;
&lt;P&gt;首先是通过HTTP_ACCEPT简单判断是否支持WAP的，这个逻辑太简单，也不准确：&lt;/P&gt;
&lt;P&gt;&amp;lt;% &lt;BR&gt;if&amp;nbsp;InStr(LCase(Request.ServerVariables(&quot;HTTP_ACCEPT&quot;)),&quot;text/vnd.wap.wml&quot;)&amp;gt;0&amp;nbsp;then &lt;BR&gt;response.redirect&amp;nbsp;&amp;nbsp;http://www.yici.net/wap&amp;nbsp;'如果是手机访问则跳转WAP页面 &lt;BR&gt;response.end &lt;BR&gt;else &lt;BR&gt;response.redirect&amp;nbsp;&amp;nbsp;http://www.yici.net&amp;nbsp;'如果电脑访问跳转到首页 &lt;BR&gt;response.end&amp;nbsp; &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;%&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;通过HTTP_USER_AGENT判断用户是从手机上访问，还是电脑IE上访问。&amp;nbsp; &lt;BR&gt;&lt;BR&gt;asp代码片段：主要使用了正则匹配手机环境，大家可以补充手机平台。 &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;%&lt;/P&gt;
&lt;P&gt;set&amp;nbsp;regex&amp;nbsp;=&amp;nbsp;new&amp;nbsp;regexp&amp;nbsp; &lt;BR&gt;regex.ignorecase&amp;nbsp;=&amp;nbsp;true&amp;nbsp; &lt;BR&gt;regex.global&amp;nbsp;=&amp;nbsp;true&amp;nbsp; &lt;BR&gt;regex.pattern&amp;nbsp;=&amp;nbsp;&quot;mini&amp;nbsp;9.5|vx1000|lge&amp;nbsp;|m800|e860|u940|ux840|compal|wireless|&amp;nbsp;mobi|ahong|lg380|lgku|lgu900|lg210|lg47|lg920|lg840|lg370|sam-r|mg50|s55|g83|t66|vx400|mk99|d615|d763|el370|sl900|mp500|samu3|samu4|vx10|xda_|samu5|samu6|samu7|samu9|a615|b832|m881|s920|n210|s700|c-810|_h797|mob-x|sk16d|848b|mowser|s580|r800|471x|v120|rim8|c500foma:|160x|x160|480x|x640|t503|w839|i250|sprint|w398samr810|m5252|c7100|mt126|x225|s5330|s820|htil-g1|fly&amp;nbsp;v71|s302|-x113|novarra|k610i|-three|8325rc|8352rc|sanyo|vx54|c888|nx250|n120|mtk&amp;nbsp;|c5588|s710|t880|c5005|i;458x|p404i|s210|c5100|teleca|s940|c500|s590|foma|samsu|vx8|vx9|a1000|_mms|myx|a700|gu1100|bc831|e300|ems100|me701|me702m-three|sd588|s800|8325rc|ac831|mw200|brew&amp;nbsp;|d88|htc\/|htc_touch|355x|m50|km100|d736|p-9521|telco|sl74|ktouch|m4u\/|me702|8325rc|kddi|phone|lg&amp;nbsp;|sonyericsson|samsung|240x|x320vx10|nokia|sony&amp;nbsp;cmd|motorola|up.browser|up.link|mmp|symbian|smartphone|midp|wap|vodafone|o2|pocket|kindle|mobile|psp|treo|iris|3g_t|windows&amp;nbsp;ce|opera&amp;nbsp;mobi|windows&amp;nbsp;ce;&amp;nbsp;smartphone;|windows&amp;nbsp;ce;&amp;nbsp;iemobile|ipod|iphone|android|opera&amp;nbsp;mini|blackberry|palm&amp;nbsp;os|palm|hiptop|avantgo|fennec|plucker|xiino|blazer|elaine|iris|3g_t|windows&amp;nbsp;ce|opera&amp;nbsp;mobi|windows&amp;nbsp;ce;&amp;nbsp;smartphone;|windows&amp;nbsp;ce;&amp;nbsp;iemobile&quot;&amp;nbsp; &lt;BR&gt;&lt;BR&gt;agent&amp;nbsp;=&amp;nbsp;request.ServerVariables(&quot;HTTP_USER_AGENT&quot;)&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&quot;&amp;nbsp; &lt;BR&gt;if&amp;nbsp;agent&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;&quot;&amp;nbsp;then&amp;nbsp; &lt;BR&gt;if&amp;nbsp;not&amp;nbsp;regex.test(agent)&amp;nbsp;then&amp;nbsp; &lt;BR&gt;'不是从手机来的访问，跳转到你指定网址&amp;nbsp; &lt;BR&gt;response.redirect(&quot;http://www.yici.net&quot;)&amp;nbsp; &lt;BR&gt;end&amp;nbsp;if&amp;nbsp; &lt;BR&gt;end&amp;nbsp;if&amp;nbsp; &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;%&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;再给个例子给你：这里判断不是手机访问就跳转 &lt;BR&gt;dim&amp;nbsp;tempUrl,browsers &lt;BR&gt;browsers=Lcase(Left(Request.ServerVariables(&quot;HTTP_USER_AGENT&quot;),4))&amp;nbsp;'判断手机访问 &lt;BR&gt;if&amp;nbsp;browsers=&quot;oper&quot;&amp;nbsp;or&amp;nbsp;browsers=&quot;winw&quot;&amp;nbsp;or&amp;nbsp;browsers=&quot;wapi&quot;&amp;nbsp;or&amp;nbsp;browsers=&quot;mc21&quot;&amp;nbsp;or&amp;nbsp;browsers=&quot;up.b&quot;&amp;nbsp;or&amp;nbsp;browsers=&quot;upg1&quot;&amp;nbsp;or&amp;nbsp;browsers=&quot;upsi&quot;&amp;nbsp;or&amp;nbsp;browsers=&quot;qwap&quot;&amp;nbsp;or&amp;nbsp;browsers=&quot;jigs&quot;&amp;nbsp;or&amp;nbsp;browsers=&quot;java&quot;&amp;nbsp;or&amp;nbsp;browsers=&quot;alca&quot;&amp;nbsp;or&amp;nbsp;browsers=&quot;wapj&quot;&amp;nbsp;or&amp;nbsp;browsers=&quot;fetc&quot;&amp;nbsp;or&amp;nbsp;browsers=&quot;r380&quot;&amp;nbsp;or&amp;nbsp;browsers=&quot;winw&quot;&amp;nbsp;or&amp;nbsp;&amp;nbsp;browsers=&quot;mozi&quot;&amp;nbsp;or&amp;nbsp;browsers=&quot;mozi&quot;&amp;nbsp;&amp;nbsp;or&amp;nbsp;browsers=&quot;m3ga&quot;&amp;nbsp;then &lt;BR&gt;&amp;nbsp;response.redirect&amp;nbsp;&quot;http://www.baidu.com&quot; &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;tempUrl=request.servervariables(&quot;HTTP_HOST&quot;) &lt;BR&gt;if&amp;nbsp;tempUrl&amp;nbsp;&amp;lt;&amp;gt;&quot;wap.gyshty.cn&quot;&amp;nbsp;then &lt;BR&gt;&amp;nbsp;response.redirect&amp;nbsp;&quot;http://www.baidu.com&quot; &lt;BR&gt;end&amp;nbsp;if&amp;nbsp;&lt;/P&gt;</description>
       </item>
       <item>
           <title>[WAP手机端]最稳妥兼容！让电脑浏览wap网的软件，方便调试wap页面</title>
           <link>http://www.yici.net/content/text_all/text_0/663_1.html</link>
           <author>Joker</author>
           <guid></guid>
           <category>WAP手机端</category>
           <pubDate>2011-5-22 0:16:26</pubDate>
           <comments></comments>
           <description>&lt;P&gt;最近打算做个WAP版的论坛插件，为了调试WAP界面，总不能一直用手机调试啊~&lt;/P&gt;
&lt;P&gt;但是PC端又没有好的支持WAP格式的浏览器，网上下了好几个，不是有病毒，就是出错，总之找不到一个能用的~&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;最后，发现了个好东西，不敢独享，立刻发布我的小小成果：&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;firefox加上个user agent switcher！&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;对FireFox不熟悉的朋友，我简单做个教程吧：&lt;/P&gt;
&lt;P&gt;首先进入FireFox的工具-&amp;gt;附加组件，搜索“user agent switcher”，然后点击“添加至FireFox”&lt;/P&gt;
&lt;P&gt;&lt;IMG src=&quot;/content/uploadfiles/2011-05/20110522_002512.jpg&quot; border=0&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;安装成功后，在扩展里面可以看到“user agent switcher”&lt;/P&gt;
&lt;P&gt;&lt;IMG src=&quot;/content/uploadfiles/2011-05/20110522_002617.jpg&quot; border=0&gt;&lt;/P&gt;
&lt;P&gt;以后在工具下拉菜单里面会多出来一个“Default User Agent”的选项，如果要冒充手机客户端调试，就选择iphone3.0~~或者自己编辑几个手机浏览器出来，这个要自己研究了~&lt;/P&gt;
&lt;P&gt;&lt;IMG src=&quot;/content/uploadfiles/2011-05/20110522_002652.jpg&quot; border=0&gt;&lt;/P&gt;
&lt;P&gt;再用FireFox访问百度~你会发现，百度已经把你误认为是手机端的浏览器了哦~~~&lt;/P&gt;
&lt;P&gt;&lt;IMG src=&quot;/content/uploadfiles/2011-05/20110522_002809.jpg&quot; border=0&gt;&lt;/P&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]怎样用asp在网页中显示今天过生日的人的姓名</title>
           <link>http://www.yici.net/content/text_all/text_0/662_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2011-5-8 22:04:17</pubDate>
           <comments></comments>
           <description>&amp;lt;% &lt;BR&gt;rs.open&quot;select&amp;nbsp;username&amp;nbsp;from&amp;nbsp;usertable&amp;nbsp;where&amp;nbsp;borthday='#&quot;&amp;amp;date()&amp;amp;&quot;#'&quot;,conn,1,1 &lt;BR&gt;if&amp;nbsp;not&amp;nbsp;rs.eof&amp;nbsp;then &lt;BR&gt;&amp;nbsp;&amp;nbsp;do&amp;nbsp;while&amp;nbsp;not&amp;nbsp;rs.eof &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;response.write&amp;nbsp;rs(&quot;username&quot;)&amp;amp;&quot;&amp;lt;br&amp;gt;&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;rs.movenext &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;loop &lt;BR&gt;end&amp;nbsp;if&amp;nbsp; &lt;BR&gt;rs.close &lt;BR&gt;%&amp;gt; &lt;BR&gt;根据你的数据库的实际情况修改一下字段名和数据库名&amp;nbsp; &lt;BR&gt;----------------- &lt;BR&gt;出生日期和生日不是一回事吗？&amp;nbsp; &lt;BR&gt;------------------- &lt;BR&gt;回楼主的，没有年份，那也简单啊，SQL语句修改一下就好了 &lt;BR&gt;&amp;lt;% &lt;BR&gt;rs.open&quot;select&amp;nbsp;username&amp;nbsp;from&amp;nbsp;usertable&amp;nbsp;where&amp;nbsp;month(borthday)='#&quot;&amp;amp;month(date())&amp;amp;&quot;#'&amp;nbsp;and&amp;nbsp;day(borthday)='#&quot;&amp;amp;day(date())&amp;amp;&quot;#'&quot;,conn,1,1 &lt;BR&gt;if&amp;nbsp;not&amp;nbsp;rs.eof&amp;nbsp;then &lt;BR&gt;&amp;nbsp;&amp;nbsp;do&amp;nbsp;while&amp;nbsp;not&amp;nbsp;rs.eof &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;response.write&amp;nbsp;rs(&quot;username&quot;)&amp;amp;&quot;&amp;lt;br&amp;gt;&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;rs.movenext &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;loop &lt;BR&gt;end&amp;nbsp;if&amp;nbsp; &lt;BR&gt;rs.close &lt;BR&gt;%&amp;gt;</description>
       </item>
       <item>
           <title>[JavaScript]ie7 ie8 maxthon等浏览器下eWebEditor 错误的判断解决办法</title>
           <link>http://www.yici.net/content/text_all/text_0/643_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>JavaScript</category>
           <pubDate>2010-8-21 11:06:38</pubDate>
           <comments></comments>
           <description>&lt;DIV class=entry-content&gt;
&lt;P&gt;今天写这篇文章还有因为那个eWebEditor编辑器的问题。eWebEditor在IE浏览器8下好像显示不太正常。调用的JS应该是有错误的，eWebEditor编辑不能使用，按照网上找的答案，在火狐下具说是正常的，而在ie浏览器 ，ie8 ，ie7 ，maxthon下有有错误，我想应该是 editor.js文件上面。&lt;SPAN id=more-1284&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;把这文件里的一行语句if(element.YUSERONCLICK)eval(element.YUSERONCLICK + “anonymous()”);&lt;BR&gt;修改成&lt;BR&gt;if(navigator.appVersion.match(/8./i)==’8.’)&lt;BR&gt;{&lt;BR&gt;if(element.YUSERONCLICK)eval(element.YUSERONCLICK + “onclick(event)”);&lt;BR&gt;}&lt;BR&gt;else&lt;BR&gt;{&lt;BR&gt;if(element.YUSERONCLICK)eval(element.YUSERONCLICK + “anonymous()”);&lt;BR&gt;}&lt;BR&gt;原因是IE8不支持anonymous（），所以要换成onclick(event)事件。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;修改之后一同事使用IE7竟然不能正常使用该编辑器，修改之后可以。&lt;/P&gt;
&lt;P&gt;估计还是那行代码的问题。恢复以前的，IE7可以而IE8不可以。看来还必须先判断IE版本然后再写不同的代码。&lt;/P&gt;
&lt;P&gt;于是就使用了下面的代码：&lt;BR&gt;if(navigator.appVersion.match(/8./i)==’8.’){&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (element.YUSERONCLICK) eval(element.YUSERONCLICK + “onclick(event)”);&lt;BR&gt;}else{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (element.YUSERONCLICK) eval(element.YUSERONCLICK + “anonymous()”);&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;修改之后在IE8和IE7均可以正常使用eWebEditor编辑器。&lt;/P&gt;
&lt;P&gt;但是在装有IE8的机器上使用傲游浏览器竟然不能使用该编辑器，纳闷了，傲游是IE内核，应该可以呀。&lt;/P&gt;
&lt;P&gt;于是就使用alert(navigator.appVersion)弹出信息，结果发现竟然是IE7？&lt;BR&gt;晕了！竟然不一样？难道傲游没有用到真正的IE8内核？还是显示的问题？&lt;/P&gt;
&lt;P&gt;难道再加一句判断傲游的？&lt;BR&gt;没办法：&lt;/P&gt;
&lt;P&gt;if(navigator.appVersion.match(/8./i)==’8.’ || navigator.appVersion.match(/MAXTHON/i)==’MAXTHON’){&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (element.YUSERONCLICK) eval(element.YUSERONCLICK + “onclick(event)”);&lt;BR&gt;}else{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (element.YUSERONCLICK) eval(element.YUSERONCLICK + “anonymous()”);&lt;BR&gt;}&lt;BR&gt;前几天看新闻说傲游开发自己的内核浏览器，希望众多浏览器在兼容代码上好一些，不要浪费编写代码者的那么多找不兼容问题、调试不兼容问题的时间。&lt;/P&gt;
&lt;P&gt;如果上面不行的话,请使用下面的方法:&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: #ff0000&quot;&gt;try{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (element.YUSERONCLICK) eval(element.YUSERONCLICK + “anonymous()”);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch(e){&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (element.YUSERONCLICK) eval(element.YUSERONCLICK + “onclick(event)”);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]asp实现网站图片防盗链的一个简单方法</title>
           <link>http://www.yici.net/content/text_all/text_0/641_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2010-8-18 11:24:14</pubDate>
           <comments></comments>
           <description>&lt;P&gt;我的论坛开通了远程图片上传功能，大量图片自动传到了服务器上，图片被盗链影响服务器的流量，不防盗链是很麻烦的一件事。试过几种防盗链的方法，这种最简单。 &lt;BR&gt;此方法非原创，修改了leadbbs的代码，直接替换显示页面的东西，不知这样网站效率是否会降低，我测试没发现显的变化。 &lt;BR&gt;pic.asp文件，以下为全部内容 &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;% &lt;BR&gt;From_url&amp;nbsp;=&amp;nbsp;Cstr(Request.ServerVariables(HTTP_REFERER)) &lt;BR&gt;Serv_url&amp;nbsp;=&amp;nbsp;Cstr(Request.ServerVariables(SERVER_NAME)) &lt;BR&gt;'防止盗链，设置图片地址 &lt;BR&gt;if&amp;nbsp;mid(From_url&amp;#8218;8&amp;#8218;len(Serv_url))&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;Serv_url&amp;nbsp;then &lt;BR&gt;response.redirect&amp;nbsp;/content/uploadfiles/2010-08/20100818112543734.gif&amp;nbsp; &lt;BR&gt;response.end &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;Function&amp;nbsp;GetFileName(longname)'/folder1/folder2/file.asp=&amp;gt;file.asp &lt;BR&gt;while&amp;nbsp;instr(longname&amp;#8218;/) &lt;BR&gt;longname&amp;nbsp;=&amp;nbsp;right(longname&amp;#8218;len(longname)-1) &lt;BR&gt;wend &lt;BR&gt;GetFileName&amp;nbsp;=&amp;nbsp;longname &lt;BR&gt;End&amp;nbsp;Function &lt;BR&gt;Dim&amp;nbsp;Stream &lt;BR&gt;Dim&amp;nbsp;Contents &lt;BR&gt;Dim&amp;nbsp;FileName &lt;BR&gt;Dim&amp;nbsp;TrueFileName &lt;BR&gt;Dim&amp;nbsp;FileExt &lt;BR&gt;Const&amp;nbsp;adTypeBinary&amp;nbsp;=&amp;nbsp;1 &lt;BR&gt;FileName&amp;nbsp;=&amp;nbsp;Request.QueryString(FileName) &lt;BR&gt;if&amp;nbsp;FileName&amp;nbsp;=&amp;nbsp;Then &lt;BR&gt;Response.End &lt;BR&gt;End&amp;nbsp;if &lt;BR&gt;FileExt&amp;nbsp;=&amp;nbsp;Mid(FileName&amp;#8218;&amp;nbsp;InStrRev(FileName&amp;#8218;&amp;nbsp;.)&amp;nbsp;+&amp;nbsp;1) &lt;BR&gt;Response.Clear &lt;BR&gt;if&amp;nbsp;lcase(right(FileName&amp;#8218;3))=gif&amp;nbsp;or&amp;nbsp;lcase(right(FileName&amp;#8218;3))=jpg&amp;nbsp;or&amp;nbsp;lcase(right(FileName&amp;#8218;3))=png&amp;nbsp;then &lt;BR&gt;Response.ContentType&amp;nbsp;=&amp;nbsp;image/*&amp;nbsp;'对图像文件不出现下载对话框 &lt;BR&gt;else &lt;BR&gt;Response.ContentType&amp;nbsp;=&amp;nbsp;application/ms-download &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;Response.AddHeader&amp;nbsp;content-disposition&amp;#8218;&amp;nbsp;attachment;&amp;nbsp;filename=&amp;nbsp;&amp;amp;&amp;nbsp;GetFileName(Request.QueryString(FileName)) &lt;BR&gt;Set&amp;nbsp;Stream&amp;nbsp;=&amp;nbsp;server.CreateObject(ADODB.Stream) &lt;BR&gt;Stream.Type&amp;nbsp;=&amp;nbsp;adTypeBinary &lt;BR&gt;Stream.Open &lt;BR&gt;'设置服务器文件真实地址 &lt;BR&gt;TrueFileName&amp;nbsp;=&amp;nbsp;UpFile/&amp;amp;FileName &lt;BR&gt;Stream.LoadFromFile&amp;nbsp;Server.MapPath(TrueFileName) &lt;BR&gt;While&amp;nbsp;Not&amp;nbsp;Stream.EOS &lt;BR&gt;Response.BinaryWrite&amp;nbsp;Stream.Read(1024&amp;nbsp;*&amp;nbsp;64) &lt;BR&gt;Wend &lt;BR&gt;Stream.Close &lt;BR&gt;Set&amp;nbsp;Stream&amp;nbsp;=&amp;nbsp;Nothing &lt;BR&gt;Response.Flush &lt;BR&gt;Response.End &lt;BR&gt;%&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;将此文件存入你的BBS目录下，注意TrueFileName&amp;nbsp;=&amp;nbsp;UpFile/&amp;amp;FileName的UpFile要写对 &lt;BR&gt;然后修改showpost.asp &lt;BR&gt;content=replace(content&amp;#8218;src=UpFile/&amp;#8218;src=pic.asp?filename=) &lt;BR&gt;详细的方法如果你修改过BBS的话，应该很容易看懂。 &lt;BR&gt;其它如有需要修改的地方一样参照修改。&lt;/P&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]用Asp实现base64编码、解码的实用函数</title>
           <link>http://www.yici.net/content/text_all/text_0/640_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2010-8-17 17:43:18</pubDate>
           <comments></comments>
           <description>&lt;P&gt;Asp:base64编码、解码函数&lt;A href=&quot;http://www.yici.net&quot;&gt;www.yici.net&lt;/A&gt;&amp;nbsp;[2003-3-6]&amp;nbsp;base64编码、解码函数&amp;nbsp; &lt;BR&gt;这是我看完几个base64编码、解码函数后自己改写的。因为，在中文操作系统的VBscript中，使用的是unicode字符集，所以很多base64编码、解码函数在理论上是正确的，但实际不能运行！ &lt;BR&gt;&lt;BR&gt;文件名称base64test.asp &lt;BR&gt;&lt;BR&gt;&amp;lt;% &lt;BR&gt;'程序设计,环球万维:http://www.yici.net&lt;BR&gt;'专业的站长工具、学习资料站&lt;BR&gt;''以上信息与文章正文是不可分割的一部分,所以如果您要转载本文章,您必须保留以上信息.&lt;BR&gt;&lt;BR&gt;sBASE_64_CHARACTERS&amp;nbsp;=&amp;nbsp;&quot;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/&quot;&amp;nbsp; &lt;BR&gt;sBASE_64_CHARACTERS&amp;nbsp;=&amp;nbsp;strUnicode2Ansi(sBASE_64_CHARACTERS) &lt;BR&gt;&lt;BR&gt;Function&amp;nbsp;strUnicodeLen(asContents) &lt;BR&gt;'计算unicode字符串的Ansi编码的长度 &lt;BR&gt;asContents1=&quot;a&quot;&amp;amp;asContents &lt;BR&gt;len1=len(asContents1) &lt;BR&gt;k=0 &lt;BR&gt;for&amp;nbsp;i=1&amp;nbsp;to&amp;nbsp;len1 &lt;BR&gt;asc1=asc(mid(asContents1,i,1)) &lt;BR&gt;if&amp;nbsp;asc1&amp;lt;0&amp;nbsp;then&amp;nbsp;asc1=65536+asc1 &lt;BR&gt;if&amp;nbsp;asc1&amp;gt;255&amp;nbsp;then &lt;BR&gt;k=k+2 &lt;BR&gt;else &lt;BR&gt;k=k+1 &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;next &lt;BR&gt;strUnicodeLen=k-1 &lt;BR&gt;End&amp;nbsp;Function &lt;BR&gt;&lt;BR&gt;Function&amp;nbsp;strUnicode2Ansi(asContents) &lt;BR&gt;'将Unicode编码的字符串，转换成Ansi编码的字符串 &lt;BR&gt;strUnicode2Ansi=&quot;&quot; &lt;BR&gt;len1=len(asContents) &lt;BR&gt;for&amp;nbsp;i=1&amp;nbsp;to&amp;nbsp;len1 &lt;BR&gt;varchar=mid(asContents,i,1) &lt;BR&gt;varasc=asc(varchar) &lt;BR&gt;if&amp;nbsp;varasc&amp;lt;0&amp;nbsp;then&amp;nbsp;varasc=varasc+65536 &lt;BR&gt;if&amp;nbsp;varasc&amp;gt;255&amp;nbsp;then &lt;BR&gt;varHex=Hex(varasc) &lt;BR&gt;varlow=left(varHex,2) &lt;BR&gt;varhigh=right(varHex,2) &lt;BR&gt;strUnicode2Ansi=strUnicode2Ansi&amp;nbsp;&amp;amp;&amp;nbsp;chrb(&quot;&amp;amp;H&quot;&amp;nbsp;&amp;amp;&amp;nbsp;varlow&amp;nbsp;)&amp;nbsp;&amp;amp;&amp;nbsp;chrb(&quot;&amp;amp;H&quot;&amp;nbsp;&amp;amp;&amp;nbsp;varhigh&amp;nbsp;) &lt;BR&gt;else &lt;BR&gt;strUnicode2Ansi=strUnicode2Ansi&amp;nbsp;&amp;amp;&amp;nbsp;chrb(varasc) &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;next &lt;BR&gt;End&amp;nbsp;function &lt;BR&gt;&lt;BR&gt;Function&amp;nbsp;strAnsi2Unicode(asContents) &lt;BR&gt;'将Ansi编码的字符串，转换成Unicode编码的字符串 &lt;BR&gt;strAnsi2Unicode&amp;nbsp;=&amp;nbsp;&quot;&quot; &lt;BR&gt;len1=lenb(asContents) &lt;BR&gt;if&amp;nbsp;len1=0&amp;nbsp;then&amp;nbsp;exit&amp;nbsp;function &lt;BR&gt;for&amp;nbsp;i=1&amp;nbsp;to&amp;nbsp;len1 &lt;BR&gt;varchar=midb(asContents,i,1) &lt;BR&gt;varasc=ascb(varchar) &lt;BR&gt;if&amp;nbsp;varasc&amp;nbsp;&amp;gt;&amp;nbsp;127&amp;nbsp;then&amp;nbsp; &lt;BR&gt;strAnsi2Unicode&amp;nbsp;=&amp;nbsp;strAnsi2Unicode&amp;nbsp;&amp;amp;&amp;nbsp;chr(ascw(midb(asContents,i+1,1)&amp;nbsp;&amp;amp;&amp;nbsp;varchar)) &lt;BR&gt;i=i+1 &lt;BR&gt;else &lt;BR&gt;strAnsi2Unicode&amp;nbsp;=&amp;nbsp;strAnsi2Unicode&amp;nbsp;&amp;amp;&amp;nbsp;chr(varasc) &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;next &lt;BR&gt;End&amp;nbsp;function &lt;BR&gt;&lt;BR&gt;Function&amp;nbsp;Base64encode(asContents)&amp;nbsp; &lt;BR&gt;'将Ansi编码的字符串进行Base64编码 &lt;BR&gt;'asContents应当是ANSI编码的字符串（二进制的字符串也可以） &lt;BR&gt;Dim&amp;nbsp;lnPosition&amp;nbsp; &lt;BR&gt;Dim&amp;nbsp;lsResult&amp;nbsp; &lt;BR&gt;Dim&amp;nbsp;Char1&amp;nbsp; &lt;BR&gt;Dim&amp;nbsp;Char2&amp;nbsp; &lt;BR&gt;Dim&amp;nbsp;Char3&amp;nbsp; &lt;BR&gt;Dim&amp;nbsp;Char4&amp;nbsp; &lt;BR&gt;Dim&amp;nbsp;Byte1&amp;nbsp; &lt;BR&gt;Dim&amp;nbsp;Byte2&amp;nbsp; &lt;BR&gt;Dim&amp;nbsp;Byte3&amp;nbsp; &lt;BR&gt;Dim&amp;nbsp;SaveBits1&amp;nbsp; &lt;BR&gt;Dim&amp;nbsp;SaveBits2&amp;nbsp; &lt;BR&gt;Dim&amp;nbsp;lsGroupBinary&amp;nbsp; &lt;BR&gt;Dim&amp;nbsp;lsGroup64&amp;nbsp; &lt;BR&gt;Dim&amp;nbsp;m4,len1,len2 &lt;BR&gt;&lt;BR&gt;len1=Lenb(asContents) &lt;BR&gt;if&amp;nbsp;len1&amp;lt;1&amp;nbsp;then&amp;nbsp; &lt;BR&gt;Base64encode=&quot;&quot; &lt;BR&gt;exit&amp;nbsp;Function &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;&lt;BR&gt;m3=Len1&amp;nbsp;Mod&amp;nbsp;3&amp;nbsp; &lt;BR&gt;If&amp;nbsp;M3&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;asContents&amp;nbsp;=&amp;nbsp;asContents&amp;nbsp;&amp;amp;&amp;nbsp;String(3-M3,&amp;nbsp;chrb(0))&amp;nbsp; &lt;BR&gt;'补足位数是为了便于计算 &lt;BR&gt;&lt;BR&gt;IF&amp;nbsp;m3&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;THEN&amp;nbsp; &lt;BR&gt;len1=len1+(3-m3) &lt;BR&gt;len2=len1-3 &lt;BR&gt;else &lt;BR&gt;len2=len1 &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;&lt;BR&gt;lsResult&amp;nbsp;=&amp;nbsp;&quot;&quot;&amp;nbsp; &lt;BR&gt;&lt;BR&gt;For&amp;nbsp;lnPosition&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;len2&amp;nbsp;Step&amp;nbsp;3&amp;nbsp; &lt;BR&gt;lsGroup64&amp;nbsp;=&amp;nbsp;&quot;&quot;&amp;nbsp; &lt;BR&gt;lsGroupBinary&amp;nbsp;=&amp;nbsp;Midb(asContents,&amp;nbsp;lnPosition,&amp;nbsp;3)&amp;nbsp; &lt;BR&gt;&lt;BR&gt;Byte1&amp;nbsp;=&amp;nbsp;Ascb(Midb(lsGroupBinary,&amp;nbsp;1,&amp;nbsp;1)):&amp;nbsp;SaveBits1&amp;nbsp;=&amp;nbsp;Byte1&amp;nbsp;And&amp;nbsp;3&amp;nbsp; &lt;BR&gt;Byte2&amp;nbsp;=&amp;nbsp;Ascb(Midb(lsGroupBinary,&amp;nbsp;2,&amp;nbsp;1)):&amp;nbsp;SaveBits2&amp;nbsp;=&amp;nbsp;Byte2&amp;nbsp;And&amp;nbsp;15&amp;nbsp; &lt;BR&gt;Byte3&amp;nbsp;=&amp;nbsp;Ascb(Midb(lsGroupBinary,&amp;nbsp;3,&amp;nbsp;1))&amp;nbsp; &lt;BR&gt;&lt;BR&gt;Char1&amp;nbsp;=&amp;nbsp;Midb(sBASE_64_CHARACTERS,&amp;nbsp;((Byte1&amp;nbsp;And&amp;nbsp;252)&amp;nbsp;\&amp;nbsp;4)&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;1)&amp;nbsp; &lt;BR&gt;Char2&amp;nbsp;=&amp;nbsp;Midb(sBASE_64_CHARACTERS,&amp;nbsp;(((Byte2&amp;nbsp;And&amp;nbsp;240)&amp;nbsp;\&amp;nbsp;16)&amp;nbsp;Or&amp;nbsp;(SaveBits1&amp;nbsp;*&amp;nbsp;16)&amp;nbsp;And&amp;nbsp;&amp;amp;HFF)&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;1)&amp;nbsp; &lt;BR&gt;Char3&amp;nbsp;=&amp;nbsp;Midb(sBASE_64_CHARACTERS,&amp;nbsp;(((Byte3&amp;nbsp;And&amp;nbsp;192)&amp;nbsp;\&amp;nbsp;64)&amp;nbsp;Or&amp;nbsp;(SaveBits2&amp;nbsp;*&amp;nbsp;4)&amp;nbsp;And&amp;nbsp;&amp;amp;HFF)&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;1)&amp;nbsp; &lt;BR&gt;Char4&amp;nbsp;=&amp;nbsp;Midb(sBASE_64_CHARACTERS,&amp;nbsp;(Byte3&amp;nbsp;And&amp;nbsp;63)&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;1)&amp;nbsp; &lt;BR&gt;lsGroup64&amp;nbsp;=&amp;nbsp;Char1&amp;nbsp;&amp;amp;&amp;nbsp;Char2&amp;nbsp;&amp;amp;&amp;nbsp;Char3&amp;nbsp;&amp;amp; Char4&amp;nbsp; &lt;BR&gt;&lt;BR&gt;lsResult&amp;nbsp;=&amp;nbsp;lsResult&amp;nbsp;&amp;amp;&amp;nbsp;lsGroup64&amp;nbsp; &lt;BR&gt;Next&amp;nbsp; &lt;BR&gt;&lt;BR&gt;'处理最后剩余的几个字符 &lt;BR&gt;if&amp;nbsp;M3&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;then &lt;BR&gt;lsGroup64&amp;nbsp;=&amp;nbsp;&quot;&quot;&amp;nbsp; &lt;BR&gt;lsGroupBinary&amp;nbsp;=&amp;nbsp;Midb(asContents,&amp;nbsp;len2+1,&amp;nbsp;3)&amp;nbsp; &lt;BR&gt;&lt;BR&gt;Byte1&amp;nbsp;=&amp;nbsp;Ascb(Midb(lsGroupBinary,&amp;nbsp;1,&amp;nbsp;1)):&amp;nbsp;SaveBits1&amp;nbsp;=&amp;nbsp;Byte1&amp;nbsp;And&amp;nbsp;3&amp;nbsp; &lt;BR&gt;Byte2&amp;nbsp;=&amp;nbsp;Ascb(Midb(lsGroupBinary,&amp;nbsp;2,&amp;nbsp;1)):&amp;nbsp;SaveBits2&amp;nbsp;=&amp;nbsp;Byte2&amp;nbsp;And&amp;nbsp;15&amp;nbsp; &lt;BR&gt;Byte3&amp;nbsp;=&amp;nbsp;Ascb(Midb(lsGroupBinary,&amp;nbsp;3,&amp;nbsp;1))&amp;nbsp; &lt;BR&gt;&lt;BR&gt;Char1&amp;nbsp;=&amp;nbsp;Midb(sBASE_64_CHARACTERS,&amp;nbsp;((Byte1&amp;nbsp;And&amp;nbsp;252)&amp;nbsp;\&amp;nbsp;4)&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;1)&amp;nbsp; &lt;BR&gt;Char2&amp;nbsp;=&amp;nbsp;Midb(sBASE_64_CHARACTERS,&amp;nbsp;(((Byte2&amp;nbsp;And&amp;nbsp;240)&amp;nbsp;\&amp;nbsp;16)&amp;nbsp;Or&amp;nbsp;(SaveBits1&amp;nbsp;*&amp;nbsp;16)&amp;nbsp;And&amp;nbsp;&amp;amp;HFF)&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;1)&amp;nbsp; &lt;BR&gt;Char3&amp;nbsp;=&amp;nbsp;Midb(sBASE_64_CHARACTERS,&amp;nbsp;(((Byte3&amp;nbsp;And&amp;nbsp;192)&amp;nbsp;\&amp;nbsp;64)&amp;nbsp;Or&amp;nbsp;(SaveBits2&amp;nbsp;*&amp;nbsp;4)&amp;nbsp;And&amp;nbsp;&amp;amp;HFF)&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;1)&amp;nbsp; &lt;BR&gt;&lt;BR&gt;if&amp;nbsp;M3=1&amp;nbsp;then &lt;BR&gt;lsGroup64&amp;nbsp;=&amp;nbsp;Char1&amp;nbsp;&amp;amp;&amp;nbsp;Char2&amp;nbsp;&amp;amp;&amp;nbsp;ChrB(61)&amp;nbsp;&amp;amp;&amp;nbsp;ChrB(61)&amp;nbsp;'用=号补足位数 &lt;BR&gt;else &lt;BR&gt;lsGroup64&amp;nbsp;=&amp;nbsp;Char1&amp;nbsp;&amp;amp;&amp;nbsp;Char2&amp;nbsp;&amp;amp;&amp;nbsp;Char3&amp;nbsp;&amp;amp;&amp;nbsp;ChrB(61)&amp;nbsp;'用=号补足位数 &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;&lt;BR&gt;lsResult&amp;nbsp;=&amp;nbsp;lsResult&amp;nbsp;&amp;amp;&amp;nbsp;lsGroup64&amp;nbsp; &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;&lt;BR&gt;Base64encode&amp;nbsp;=&amp;nbsp;lsResult&amp;nbsp; &lt;BR&gt;&lt;BR&gt;End&amp;nbsp;Function&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;Function&amp;nbsp;Base64decode(asContents)&amp;nbsp; &lt;BR&gt;'将Base64编码字符串转换成Ansi编码的字符串 &lt;BR&gt;'asContents应当也是ANSI编码的字符串（二进制的字符串也可以） &lt;BR&gt;Dim&amp;nbsp;lsResult&amp;nbsp; &lt;BR&gt;Dim&amp;nbsp;lnPosition&amp;nbsp; &lt;BR&gt;Dim&amp;nbsp;lsGroup64,&amp;nbsp;lsGroupBinary&amp;nbsp; &lt;BR&gt;Dim&amp;nbsp;Char1,&amp;nbsp;Char2,&amp;nbsp;Char3,&amp;nbsp;Char4&amp;nbsp; &lt;BR&gt;Dim&amp;nbsp;Byte1,&amp;nbsp;Byte2,&amp;nbsp;Byte3&amp;nbsp; &lt;BR&gt;Dim&amp;nbsp;M4,len1,len2 &lt;BR&gt;&lt;BR&gt;len1=&amp;nbsp;Lenb(asContents)&amp;nbsp; &lt;BR&gt;M4&amp;nbsp;=&amp;nbsp;len1&amp;nbsp;Mod&amp;nbsp;4 &lt;BR&gt;&lt;BR&gt;if&amp;nbsp;len1&amp;nbsp;&amp;lt;&amp;nbsp;1&amp;nbsp;or&amp;nbsp;M4&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;then &lt;BR&gt;'字符串长度应当是4的倍数 &lt;BR&gt;Base64decode&amp;nbsp;=&amp;nbsp;&quot;&quot;&amp;nbsp; &lt;BR&gt;exit&amp;nbsp;Function&amp;nbsp; &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;&lt;BR&gt;'判断最后一位是不是&amp;nbsp;=&amp;nbsp;号 &lt;BR&gt;'判断倒数第二位是不是&amp;nbsp;=&amp;nbsp;号 &lt;BR&gt;'这里m4表示最后剩余的需要单独处理的字符个数 &lt;BR&gt;if&amp;nbsp;midb(asContents,&amp;nbsp;len1,&amp;nbsp;1)&amp;nbsp;=&amp;nbsp;chrb(61)&amp;nbsp;then&amp;nbsp;m4=3&amp;nbsp; &lt;BR&gt;if&amp;nbsp;midb(asContents,&amp;nbsp;len1-1,&amp;nbsp;1)&amp;nbsp;=&amp;nbsp;chrb(61)&amp;nbsp;then&amp;nbsp;m4=2 &lt;BR&gt;&lt;BR&gt;if&amp;nbsp;m4&amp;nbsp;=&amp;nbsp;0&amp;nbsp;then &lt;BR&gt;len2=len1 &lt;BR&gt;else &lt;BR&gt;len2=len1-4 &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;&lt;BR&gt;For&amp;nbsp;lnPosition&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;Len2&amp;nbsp;Step&amp;nbsp;4&amp;nbsp; &lt;BR&gt;lsGroupBinary&amp;nbsp;=&amp;nbsp;&quot;&quot;&amp;nbsp; &lt;BR&gt;lsGroup64&amp;nbsp;=&amp;nbsp;Midb(asContents,&amp;nbsp;lnPosition,&amp;nbsp;4)&amp;nbsp; &lt;BR&gt;Char1&amp;nbsp;=&amp;nbsp;InStrb(sBASE_64_CHARACTERS,&amp;nbsp;Midb(lsGroup64,&amp;nbsp;1,&amp;nbsp;1))&amp;nbsp;-&amp;nbsp;1&amp;nbsp; &lt;BR&gt;Char2&amp;nbsp;=&amp;nbsp;InStrb(sBASE_64_CHARACTERS,&amp;nbsp;Midb(lsGroup64,&amp;nbsp;2,&amp;nbsp;1))&amp;nbsp;-&amp;nbsp;1&amp;nbsp; &lt;BR&gt;Char3&amp;nbsp;=&amp;nbsp;InStrb(sBASE_64_CHARACTERS,&amp;nbsp;Midb(lsGroup64,&amp;nbsp;3,&amp;nbsp;1))&amp;nbsp;-&amp;nbsp;1&amp;nbsp; &lt;BR&gt;Char4&amp;nbsp;=&amp;nbsp;InStrb(sBASE_64_CHARACTERS,&amp;nbsp;Midb(lsGroup64,&amp;nbsp;4,&amp;nbsp;1))&amp;nbsp;-&amp;nbsp;1&amp;nbsp; &lt;BR&gt;Byte1&amp;nbsp;=&amp;nbsp;Chrb(((Char2&amp;nbsp;And&amp;nbsp;48)&amp;nbsp;\&amp;nbsp;16)&amp;nbsp;Or&amp;nbsp;(Char1&amp;nbsp;*&amp;nbsp;4)&amp;nbsp;And&amp;nbsp;&amp;amp;HFF)&amp;nbsp; &lt;BR&gt;Byte2&amp;nbsp;=&amp;nbsp;lsGroupBinary&amp;nbsp;&amp;amp;&amp;nbsp;Chrb(((Char3&amp;nbsp;And&amp;nbsp;60)&amp;nbsp;\&amp;nbsp;4)&amp;nbsp;Or&amp;nbsp;(Char2&amp;nbsp;*&amp;nbsp;16)&amp;nbsp;And&amp;nbsp;&amp;amp;HFF)&amp;nbsp; &lt;BR&gt;Byte3&amp;nbsp;=&amp;nbsp;Chrb((((Char3&amp;nbsp;And&amp;nbsp;3)&amp;nbsp;*&amp;nbsp;64)&amp;nbsp;And&amp;nbsp;&amp;amp;HFF)&amp;nbsp;Or&amp;nbsp;(Char4&amp;nbsp;And&amp;nbsp;63))&amp;nbsp; &lt;BR&gt;lsGroupBinary&amp;nbsp;=&amp;nbsp;Byte1&amp;nbsp;&amp;amp;&amp;nbsp;Byte2&amp;nbsp;&amp;amp;&amp;nbsp;Byte3&amp;nbsp; &lt;BR&gt;&lt;BR&gt;lsResult&amp;nbsp;=&amp;nbsp;lsResult&amp;nbsp;&amp;amp;&amp;nbsp;lsGroupBinary&amp;nbsp; &lt;BR&gt;Next&amp;nbsp; &lt;BR&gt;&lt;BR&gt;'处理最后剩余的几个字符 &lt;BR&gt;if&amp;nbsp;M4&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;then&amp;nbsp; &lt;BR&gt;lsGroupBinary&amp;nbsp;=&amp;nbsp;&quot;&quot;&amp;nbsp; &lt;BR&gt;lsGroup64&amp;nbsp;=&amp;nbsp;Midb(asContents,&amp;nbsp;len2+1,&amp;nbsp;m4)&amp;nbsp;&amp;amp;&amp;nbsp;chrB(65)&amp;nbsp;'chr(65)=A，转换成值为0 &lt;BR&gt;if&amp;nbsp;M4=2&amp;nbsp;then&amp;nbsp;'补足4位，是为了便于计算&amp;nbsp; &lt;BR&gt;lsGroup64&amp;nbsp;=&amp;nbsp;lsGroup64&amp;nbsp;&amp;amp;&amp;nbsp;chrB(65)&amp;nbsp; &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;Char1&amp;nbsp;=&amp;nbsp;InStrb(sBASE_64_CHARACTERS,&amp;nbsp;Midb(lsGroup64,&amp;nbsp;1,&amp;nbsp;1))&amp;nbsp;-&amp;nbsp;1&amp;nbsp; &lt;BR&gt;Char2&amp;nbsp;=&amp;nbsp;InStrb(sBASE_64_CHARACTERS,&amp;nbsp;Midb(lsGroup64,&amp;nbsp;2,&amp;nbsp;1))&amp;nbsp;-&amp;nbsp;1&amp;nbsp; &lt;BR&gt;Char3&amp;nbsp;=&amp;nbsp;InStrb(sBASE_64_CHARACTERS,&amp;nbsp;Midb(lsGroup64,&amp;nbsp;3,&amp;nbsp;1))&amp;nbsp;-&amp;nbsp;1&amp;nbsp; &lt;BR&gt;Char4&amp;nbsp;=&amp;nbsp;InStrb(sBASE_64_CHARACTERS,&amp;nbsp;Midb(lsGroup64,&amp;nbsp;4,&amp;nbsp;1))&amp;nbsp;-&amp;nbsp;1&amp;nbsp; &lt;BR&gt;Byte1&amp;nbsp;=&amp;nbsp;Chrb(((Char2&amp;nbsp;And&amp;nbsp;48)&amp;nbsp;\&amp;nbsp;16)&amp;nbsp;Or&amp;nbsp;(Char1&amp;nbsp;*&amp;nbsp;4)&amp;nbsp;And&amp;nbsp;&amp;amp;HFF)&amp;nbsp; &lt;BR&gt;Byte2&amp;nbsp;=&amp;nbsp;lsGroupBinary&amp;nbsp;&amp;amp;&amp;nbsp;Chrb(((Char3&amp;nbsp;And&amp;nbsp;60)&amp;nbsp;\&amp;nbsp;4)&amp;nbsp;Or&amp;nbsp;(Char2&amp;nbsp;*&amp;nbsp;16)&amp;nbsp;And&amp;nbsp;&amp;amp;HFF)&amp;nbsp; &lt;BR&gt;Byte3&amp;nbsp;=&amp;nbsp;Chrb((((Char3&amp;nbsp;And&amp;nbsp; 3)&amp;nbsp;*&amp;nbsp;64)&amp;nbsp;And&amp;nbsp;&amp;amp;HFF)&amp;nbsp;Or&amp;nbsp;(Char4&amp;nbsp;And&amp;nbsp;63))&amp;nbsp; &lt;BR&gt;&lt;BR&gt;if&amp;nbsp;M4=2&amp;nbsp;then &lt;BR&gt;lsGroupBinary&amp;nbsp;=&amp;nbsp;Byte1 &lt;BR&gt;elseif&amp;nbsp;M4=3&amp;nbsp;then &lt;BR&gt;lsGroupBinary&amp;nbsp;=&amp;nbsp;Byte1&amp;nbsp;&amp;amp;&amp;nbsp;Byte2 &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;&lt;BR&gt;lsResult&amp;nbsp;=&amp;nbsp;lsResult&amp;nbsp;&amp;amp;&amp;nbsp;lsGroupBinary&amp;nbsp; &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;&lt;BR&gt;Base64decode&amp;nbsp;=&amp;nbsp;lsResult&amp;nbsp; &lt;BR&gt;&lt;BR&gt;End&amp;nbsp;Function &lt;BR&gt;&lt;BR&gt;%&amp;gt;&lt;/P&gt;</description>
       </item>
       <item>
           <title>[常见工具应用]迅雷、快车、旋风专用链接原理及转换</title>
           <link>http://www.yici.net/content/text_all/text_0/639_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>常见工具应用</category>
           <pubDate>2010-8-17 17:40:19</pubDate>
           <comments></comments>
           <description>对于迅雷专用链接不用我去解释相信大家都明白（别告诉我你不懂~汗），现在就链接的编码原理及转换详细说明一下，明白以后就可以用迅雷下载快车、旋风专用地址的软件啦。&amp;nbsp; &lt;BR&gt;&lt;BR&gt;首先要明白Base64编码是怎么一回事，不懂的先去百度一下再回来。&amp;nbsp; &lt;BR&gt;Base64编码是一种加密算法，Email的原始信息就是由Base64编码构成的。&amp;nbsp; &lt;BR&gt;而这些专用链接都是通过Base64编码加工转换而成的。&amp;nbsp; &lt;BR&gt;&lt;BR&gt;迅雷专用地址例子：thunder://QUFodHRwOi8vd3d3LnlpY2kubmV0L2NvbnRlbnQvZG93bmluZm8vMC8xNjkuaHRtbFpa&amp;nbsp; &lt;BR&gt;真实文件下载链接：&lt;A href=&quot;http://www.yici.net/content/downinfo/0/169.html&quot;&gt;http://www.yici.net/content/downinfo/0/169.html&lt;/A&gt;&amp;nbsp; &lt;BR&gt;&lt;BR&gt;附转换工具下载：&lt;A href=&quot;http://www.yici.net/content/downinfo/0/169.html&quot;&gt;http://www.yici.net/content/downinfo/0/169.html&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;搞懂了Base64编码之后，一切都变的得心应手了：&amp;nbsp; &lt;BR&gt;&lt;BR&gt;实例原始地址：http://im.baidu.com/install/BaiduHi.exe&amp;nbsp; &lt;BR&gt;&lt;BR&gt;1、迅雷专用链接编码&amp;nbsp; &lt;BR&gt;&lt;BR&gt;在原地址前面加&quot;AA&quot;，后面加&quot;ZZ&quot;(不包括引号)，地址变为&amp;nbsp; &lt;BR&gt;&lt;BR&gt;AAhttp://im.baidu.com/install/BaiduHi.exeZZ&amp;nbsp; &lt;BR&gt;&lt;BR&gt;此地址base64编码为&amp;nbsp; &lt;BR&gt;&lt;BR&gt;QUFodHRwOi8vaW0uYmFpZHUuY29tL2luc3RhbGwvQmFpZHVIaS5leGVaWg==&amp;nbsp; &lt;BR&gt;&lt;BR&gt;迅雷专链即在上地址前加thunder://，即&amp;nbsp; &lt;BR&gt;&lt;BR&gt;Thunder://QUFodHRwOi8vaW0uYmFpZHUuY29tL2luc3RhbGwvQmFpZHVIaS5leGVaWg==&amp;nbsp; &lt;BR&gt;2、快车专用链接编码&amp;nbsp; &lt;BR&gt;&lt;BR&gt;在原地址前后都加上&quot;[FLASHGET]&quot;(不包括引号)，地址变为&amp;nbsp; &lt;BR&gt;&lt;BR&gt;[FLASHGET]http://im.baidu.com/install/BaiduHi.exe[FLASHGET]&amp;nbsp; &lt;BR&gt;&lt;BR&gt;此地址base64编码为&amp;nbsp; &lt;BR&gt;&lt;BR&gt;W0ZMQVNIR0VUXWh0dHA6Ly9pbS5iYWlkdS5jb20vaW5zdGFsbC9CYWlkdUhpLmV4ZVtGTEFTSEdFVF0=&amp;amp;yinbing1986&amp;nbsp; &lt;BR&gt;&lt;BR&gt;快车专链即在上地址前加flashget://，注意后面还要加上&quot;&amp;amp;符号&quot;，符号怎么得出不清楚，在最后后面加的是好好爱的个人信息，至今未有人报告转换错误，即&amp;nbsp; &lt;BR&gt;&lt;BR&gt;Flashget://W0ZMQVNIR0VUXWh0dHA6Ly9pbS5iYWlkdS5jb20vaW5zdGFsbC9CYWlkdUhpLmV4ZVtGTEFTSEdFVF0=&amp;amp;yinbing1986&amp;nbsp; &lt;BR&gt;&lt;BR&gt;3、旋风专用链接编码&amp;nbsp; &lt;BR&gt;&lt;BR&gt;旋风相对就简单多了，将原地址直接base64编码为&amp;nbsp; &lt;BR&gt;&lt;BR&gt;aHR0cDovL2ltLmJhaWR1LmNvbS9pbnN0YWxsL0JhaWR1SGkuZXhl&amp;nbsp; &lt;BR&gt;&lt;BR&gt;旋风专链即在上地址前加qqdl://，即&amp;nbsp; &lt;BR&gt;&lt;BR&gt;qqdl://aHR0cDovL2ltLmJhaWR1LmNvbS9pbnN0YWxsL0JhaWR1SGkuZXhl&amp;nbsp;</description>
       </item>
       <item>
           <title>[ASP/shtml]ASP采集攻防战：网站数据采集代码、反采集代码</title>
           <link>http://www.yici.net/content/text_all/text_0/632_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2010-6-7 21:09:59</pubDate>
           <comments></comments>
           <description>&lt;P&gt;&lt;STRONG&gt;网站数据采集代码-存成asp文件即可&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;% &lt;BR&gt;Dim&amp;nbsp;Html,myThief,url_tittle &lt;BR&gt;&lt;BR&gt;set&amp;nbsp;myThief=new&amp;nbsp;clsThief&amp;nbsp; &lt;BR&gt;GetUrl=&quot;http:www.jsj360.net&quot; &lt;BR&gt;myThief.src=GetUrl &lt;BR&gt;myThief.steal&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'抓取远程GetUrl整个网页，并将该网页二进制代码转换成字符 &lt;BR&gt;url_tittle=myThief.value&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'抓取的网页存在url_tittle中 &lt;BR&gt;Html=&quot;&quot;&amp;amp;url_tittle&amp;amp;&quot;&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'最后结果存在Html中 &lt;BR&gt;Response.write&amp;nbsp;Html&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'显示结果 &lt;BR&gt;Response.write&amp;nbsp;&quot;&amp;lt;br&amp;gt;&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;set&amp;nbsp;myThief=nothing&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'释放对象 &lt;BR&gt;&lt;BR&gt;Class&amp;nbsp;clsThief&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'定义一个clsThief类 &lt;BR&gt;Private&amp;nbsp;value_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'窃取到的内容 &lt;BR&gt;Private&amp;nbsp;src_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'要偷的目标URL地址 &lt;BR&gt;Private&amp;nbsp;isGet_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'判断是否已经偷过 &lt;BR&gt;&lt;BR&gt;public&amp;nbsp;property&amp;nbsp;let&amp;nbsp;src(str)&amp;nbsp;'赋值—要偷的目标URL地址/属性 &lt;BR&gt;src_=str &lt;BR&gt;end&amp;nbsp;property &lt;BR&gt;&lt;BR&gt;public&amp;nbsp;property&amp;nbsp;get&amp;nbsp;value&amp;nbsp;'返回值—最终窃取并应用类方法加工过的内容/属性 &lt;BR&gt;value=value_ &lt;BR&gt;end&amp;nbsp;property &lt;BR&gt;&lt;BR&gt;private&amp;nbsp;sub&amp;nbsp;class_initialize()&amp;nbsp;'初始化clsThief类 &lt;BR&gt;value_=&quot;&quot; &lt;BR&gt;src_=&quot;&quot; &lt;BR&gt;isGet_=&amp;nbsp;false &lt;BR&gt;end&amp;nbsp;sub &lt;BR&gt;&lt;BR&gt;public&amp;nbsp;sub&amp;nbsp;steal()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'窃取目标URL地址的HTML代码/方法 &lt;BR&gt;if&amp;nbsp;src_&amp;lt;&amp;gt;&quot;&quot;&amp;nbsp;then &lt;BR&gt;dim&amp;nbsp;Http &lt;BR&gt;set&amp;nbsp;Http=server.createobject(&quot;MSXML2.XMLHTTP&quot;) &lt;BR&gt;Http.open&amp;nbsp;&quot;GET&quot;,src_&amp;nbsp;,false &lt;BR&gt;Http.send() &lt;BR&gt;if&amp;nbsp;Http.readystate&amp;lt;&amp;gt;4&amp;nbsp;then&amp;nbsp; &lt;BR&gt;exit&amp;nbsp;sub &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;value_=BytesToBSTR(Http.responseBody,&quot;GB2312&quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'将网页二进制转换成字符 &lt;BR&gt;if&amp;nbsp;len(value_)&amp;lt;100&amp;nbsp;then &lt;BR&gt;response.write&amp;nbsp;&quot;获取远程文件&amp;nbsp;&amp;lt;a&amp;nbsp;href=&quot;&amp;amp;url&amp;amp;&quot;&amp;nbsp;target=_blank&amp;gt;&quot;&amp;amp;url&amp;amp;&quot;&amp;lt;/a&amp;gt;&amp;nbsp;失败。&quot; &lt;BR&gt;response.end &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;isGet_=&amp;nbsp;True &lt;BR&gt;set&amp;nbsp;http=nothing &lt;BR&gt;if&amp;nbsp;err.number&amp;lt;&amp;gt;0&amp;nbsp;then&amp;nbsp;err.Clear &lt;BR&gt;else&amp;nbsp; &lt;BR&gt;response.Write(&quot;&amp;lt;script&amp;gt;alert(&quot;&quot;请先设置src属性！&quot;&quot;)&amp;lt;/script&amp;gt;&quot;) &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;end&amp;nbsp;sub &lt;BR&gt;&lt;BR&gt;private&amp;nbsp;Function&amp;nbsp;BytesToBstr(body,Cset)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'二进制转换成字符 &lt;BR&gt;dim&amp;nbsp;objstream &lt;BR&gt;set&amp;nbsp;objstream&amp;nbsp;=&amp;nbsp;Server.CreateObject(&quot;adodb.stream&quot;) &lt;BR&gt;objstream.Type&amp;nbsp;=&amp;nbsp;1 &lt;BR&gt;objstream.Mode&amp;nbsp;=3 &lt;BR&gt;objstream.Open &lt;BR&gt;objstream.Write&amp;nbsp;body &lt;BR&gt;objstream.Position&amp;nbsp;=&amp;nbsp;0 &lt;BR&gt;objstream.Type&amp;nbsp;=&amp;nbsp;2 &lt;BR&gt;objstream.Charset&amp;nbsp;=&amp;nbsp;Cset &lt;BR&gt;BytesToBstr&amp;nbsp;=&amp;nbsp;objstream.ReadText&amp;nbsp; &lt;BR&gt;objstream.Close &lt;BR&gt;set&amp;nbsp;objstream&amp;nbsp;=&amp;nbsp;nothing &lt;BR&gt;End&amp;nbsp;Function &lt;BR&gt;&lt;BR&gt;end&amp;nbsp;class &lt;BR&gt;%&amp;gt; &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;********************************************************************************************** &lt;BR&gt;&lt;BR&gt;介绍完采集器的祥细原理后，就开始说一下防采集的策略。&amp;nbsp; &lt;BR&gt;&lt;BR&gt;目前防采集的方法有很多种，先介绍一下常见防采集策略方法和它的弊端及采集对策：&amp;nbsp; &lt;BR&gt;&lt;BR&gt;一、判断一个IP在一定时间内对本站页面的访问次数，如果明显超过了正常人浏览速度，就拒绝此IP访问&amp;nbsp; &lt;BR&gt;弊端：&amp;nbsp; &lt;BR&gt;1、此方法只适用于动态页面，如：asp\jsp\php等...静态页面无法判断某个IP一定时间访问本站页面的次数&amp;nbsp; &lt;BR&gt;2、此方法会严重影响搜索引擎蜘蛛对其收录，因为搜索引擎蜘蛛收录时，浏览速度都会比较快而且是多线程。此方法也会拒绝搜索引擎蜘蛛收录站内文件&amp;nbsp; &lt;BR&gt;采集对策：只能放慢采集速度，或者不采&amp;nbsp; &lt;BR&gt;建议：做个搜索引擎蜘蛛的IP库，只允许搜索引擎蜘蛛快速浏览站内内容。搜索引擎蜘蛛的IP库的收集，也不太容易，一个搜索引擎蜘蛛，也不一定只有一个固定的IP地址。&amp;nbsp; &lt;BR&gt;评论：此方法对防采集比较有效，但却会影响搜索引擎对其收录。&amp;nbsp; &lt;BR&gt;&lt;BR&gt;二、用javascript加密内容页面&amp;nbsp; &lt;BR&gt;&lt;BR&gt;弊端：此方法适用于静态页面，但会严重影响搜索引擎对其收录情况，搜索引擎收到到的内容，也都是加密后的内容&amp;nbsp; &lt;BR&gt;采集对策：建议不采，如非要采，就把解密码的JS脚本也采下来。&amp;nbsp; &lt;BR&gt;建议：目前没有好的改良建议&amp;nbsp; &lt;BR&gt;评论：建议指望搜索引擎带流量的站长不要使用此方法。&amp;nbsp; &lt;BR&gt;&lt;BR&gt;三、把内容页面里的特定标记替换为”特定标记+隐藏版权文字“&amp;nbsp; &lt;BR&gt;&lt;BR&gt;弊端：此方法弊端不大，仅仅会增加一点点的页面文件大小，但容易反采集&amp;nbsp; &lt;BR&gt;采集对策：把采集来的含有隐藏版权文字内容的版权文字替掉，或替换成自己的版权。&amp;nbsp; &lt;BR&gt;建议：目前没有好的改良建议&amp;nbsp; &lt;BR&gt;评论：自己感觉实用价值不大，就算是加上随机的隐藏文字，也等于画蛇添足。&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;四、只允许用户登陆后才可以浏览&amp;nbsp; &lt;BR&gt;弊端：此方法会严重影响搜索引擎蜘蛛对其收录&amp;nbsp; &lt;BR&gt;采集对策：目前落伍已经有人发了对策文章&amp;nbsp;，具体对策就看这个吧《ASP小偷程序如何利用XMLHTTP实现表单的提交以及cookies或session的发送》&amp;nbsp; &lt;BR&gt;建议：目前没有好的改良建议&amp;nbsp; &lt;BR&gt;评论：建议指望搜索引擎带流量的站长不要使用此方法。不过此方法防一般的采集程序，还是有点效果的。&amp;nbsp; &lt;BR&gt;&lt;BR&gt;五、用javascript、vbscript脚本做分页&amp;nbsp; &lt;BR&gt;弊端：影响搜索引擎对其收录&amp;nbsp; &lt;BR&gt;采集对策：分析javascript、vbscript脚本，找出其分页规则，自己做个对应此站的分页集合页即可。&amp;nbsp; &lt;BR&gt;建议：目前没有好的改良建议&amp;nbsp; &lt;BR&gt;评论：感觉懂点脚本语言的人都能找出其分页规则&amp;nbsp; &lt;BR&gt;&lt;BR&gt;六、只允许通过本站页面连接查看，如：Request.ServerVariables(&quot;HTTP_REFERER&quot;)&amp;nbsp; &lt;BR&gt;弊端：影响搜索引擎对其收录&amp;nbsp; &lt;BR&gt;采集对策：不知道能不能模拟网页来源。。。。目前我没有对应此方法的采集对策&amp;nbsp; &lt;BR&gt;建议：目前没有好的改良建议&amp;nbsp; &lt;BR&gt;评论：建议指望搜索引擎带流量的站长不要使用此方法。不过此方法防一般的采集程序，还是有点效果的。&amp;nbsp; &lt;BR&gt;&lt;BR&gt;从以上可以看出，目前常用的防采集方法，要么会对搜索引擎收录有较大影响，要么防采集效果不好，起不到防采集的效果。那么，还有没有一种有效防采集，而又不影响搜索引擎收录的方法呢？那就请继续往下看吧，精彩的地方马上呈献给大家。 &lt;BR&gt;&lt;BR&gt;下面就是我的防采集策略，防采集而又不防搜索引擎&amp;nbsp; &lt;BR&gt;&lt;BR&gt;从前面的我讲的采集原理大家可以看出，绝大多数采集程序都是靠分析规则来进行采集的，如分析分页文件名规则、分析页面代码规则。&amp;nbsp; &lt;BR&gt;&lt;BR&gt;一、分页文件名规则防采集对策&amp;nbsp; &lt;BR&gt;&lt;BR&gt;大部分采集器都是靠分析分页文件名规则，进行批量、多页采集的。如果别人找不出你的分页文件的文件名规则，那么别人就无法对你的网站进行批量多页采集。&amp;nbsp; &lt;BR&gt;实现方法：&amp;nbsp; &lt;BR&gt;我认为用MD5加密分页文件名是一个比较好的方法，说到这里，有人会说，你用MD5加密分页文件名，别人根据此规则也可以模拟你的加密规则得到你的分页文件名。&amp;nbsp; &lt;BR&gt;&lt;BR&gt;我要指出的是我们加密分页文件名时，不要只加密文件名变化的部分&amp;nbsp; &lt;BR&gt;如果I代表分页的页码，那么我们不要这样加密&amp;nbsp; &lt;BR&gt;page_name=Md5(I,16)&amp;amp;&quot;.htm&quot;&amp;nbsp; &lt;BR&gt;&lt;BR&gt;最好给要加密的页码上再跟进一个或多个字符，如：page_name=Md5(I&amp;amp;&quot;任意一个或几个字母&quot;,16)&amp;amp;&quot;.htm&quot;&amp;nbsp; &lt;BR&gt;&lt;BR&gt;因为MD5是无法反解密的，别人看到的会页字母是MD5加密后的结果，所以加人也无法知道你在&amp;nbsp;I&amp;nbsp;后面跟进的字母是什么，除非他用暴力****MD5，不过不太现实。&amp;nbsp; &lt;BR&gt;&lt;BR&gt;二、页面代码规则防采集对策&amp;nbsp; &lt;BR&gt;&lt;BR&gt;如果说我们的内容页面无代码规则，那么别人就无法从你的代码中提取他们所需要的一条条内容。&amp;nbsp; &lt;BR&gt;所以我们要的这一步做到防采集，就要使代码无规则。&amp;nbsp; &lt;BR&gt;实现方法：&amp;nbsp; &lt;BR&gt;使对方需要提取的标记随机化&amp;nbsp; &lt;BR&gt;1、定制多个网页模板，每个网页模板里的重要HTML标记不同，呈现页面内容时，随机选取网页模板，有的页面用CSS+DIV布局，有的页面用table布局，此方法是麻烦了点，一个内容页面，要多做几个模板页面，不过防采集本身就是一件很烦琐的事情，多做一个模板，能起到防采集的作用，对很多人来说，都是值得的。&amp;nbsp; &lt;BR&gt;2、如果嫌上面的方法太麻烦，把网页里的重要HTML标记随机化，也可以。&amp;nbsp; &lt;BR&gt;&lt;BR&gt;做的网页模板越多，html代码越是随机化，对方分析起内容代码时，就越麻烦，对方针对你的网站专门写采集策略时，难度就更大，在这个时候，绝大部分人，都会知难而退，因为这此人就是因为懒，才会采集别人网站数据嘛~~~再说一下，目前大部分人都是拿别人开发的采集程序去采集数据，自己开发采集程序去采集数据的人毕竟是少数。&amp;nbsp; &lt;BR&gt;&lt;BR&gt;还有些简单的思路提供给大家：&amp;nbsp; &lt;BR&gt;1、把对数据采集者重要，而对搜索引擎不重要的内容用客户端脚本显示&amp;nbsp; &lt;BR&gt;2、把一页数据，分为N个页面显示，也是加大采集难度的方法&amp;nbsp; &lt;BR&gt;3、用更深层的连接，因为目前大部分采集程序只能采集到网站内容的前3层，如果内容所在的连接层更深，也可以避免被采集。不过这样可能会给客户造成浏览上的不便。&amp;nbsp; &lt;BR&gt;如：&amp;nbsp; &lt;BR&gt;大多网站都是&amp;nbsp;首页----内容索引分页----内容页&amp;nbsp; &lt;BR&gt;如果改成：&amp;nbsp; &lt;BR&gt;首页----内容索引分页----内容页入口----内容页&amp;nbsp; &lt;BR&gt;注：内容页入口最好能加上自动转入内容页的代码&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;lt;meta&amp;nbsp;http-equiv=&quot;refresh&quot;&amp;nbsp;content=&quot;6;url=内容页(http://www.xiaoqi.net)&quot;&amp;gt;&amp;nbsp; &lt;BR&gt;其实，只要做好防采集的第一步(加密分页文件名规则)，防采集的效果就已经不错了，还是建议两条反采集方法同时使用，给采集者增加采集难度，使得他们知难页退。 &lt;BR&gt;&lt;/P&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]ASP保存远程文件到本地（增强版）</title>
           <link>http://www.yici.net/content/text_all/text_0/631_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2010-6-7 21:09:10</pubDate>
           <comments></comments>
           <description>&lt;P&gt;&lt;STRONG&gt;将下面代码保存成asp文件即可！&lt;/STRONG&gt; &lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&amp;lt;%&amp;nbsp;@&amp;nbsp;LANGUAGE=&quot;VBSCRIPT&quot;&amp;nbsp;CODEPAGE=&quot;936&quot;%&amp;gt; &lt;BR&gt;&amp;lt;% &lt;BR&gt;Option&amp;nbsp;Explicit &lt;BR&gt;'图象上传和上传信息获取类 &lt;BR&gt;Class&amp;nbsp;BoxInfoImg &lt;BR&gt;'使用方法: &lt;BR&gt;'dim&amp;nbsp;imgUp &lt;BR&gt;'set&amp;nbsp;imgUp=new&amp;nbsp;BoxInfoImg &lt;BR&gt;&lt;BR&gt;'属性: &lt;BR&gt;'imgUp.width&amp;nbsp;&amp;nbsp;&amp;nbsp;'宽 &lt;BR&gt;'imgUp.height&amp;nbsp;&amp;nbsp;&amp;nbsp;'高 &lt;BR&gt;'imgUp.imgSize&amp;nbsp;&amp;nbsp;&amp;nbsp;'大小 &lt;BR&gt;'imgUp.imgType&amp;nbsp;&amp;nbsp;&amp;nbsp;'类型 &lt;BR&gt;'imgUp.imgName&amp;nbsp;&amp;nbsp;&amp;nbsp;'文件名 &lt;BR&gt;'imgUp.imgName&amp;nbsp;&amp;nbsp;&amp;nbsp;'图像文件名:&quot;&amp;amp; &lt;BR&gt;'imgUp.filename&amp;nbsp;&amp;nbsp;&amp;nbsp;'文件名&quot;&amp;amp; &lt;BR&gt;'imgUp.extName&amp;nbsp;&amp;nbsp;&amp;nbsp;'扩展名&quot; &lt;BR&gt;'imgUp.DiskPath&amp;nbsp;&amp;nbsp;&amp;nbsp;'保存位置&quot; &lt;BR&gt;'imgUp.XuPath&amp;nbsp;&amp;nbsp;&amp;nbsp;'虚拟路径&quot; &lt;BR&gt;'imgUp.NewUrl&amp;nbsp;&amp;nbsp;&amp;nbsp;'保存后url&quot; &lt;BR&gt;'imgUp.SaveMode&amp;nbsp;&amp;nbsp;&amp;nbsp;'保存后url&quot; &lt;BR&gt;&lt;BR&gt;'方法: &lt;BR&gt;'imgUp.saveImg(fullpath)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'保存图像文件 &lt;BR&gt;&lt;BR&gt;dim&amp;nbsp;ADOS &lt;BR&gt;dim&amp;nbsp;width,height,imgSize,imgType,imgName,fileName &lt;BR&gt;dim&amp;nbsp;preName,extName &lt;BR&gt;dim&amp;nbsp;SavePath,SaveName,SaveMode &lt;BR&gt;dim&amp;nbsp;DiskPath,XuPath,NewUrl &lt;BR&gt;dim&amp;nbsp;textStr &lt;BR&gt;dim&amp;nbsp;i &lt;BR&gt;&lt;BR&gt;Private&amp;nbsp;Sub&amp;nbsp;Class_Initialize &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ADOS=Server.CreateObject(&quot;Adodb.Stream&quot;) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADOS.Type=1&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADOS.Mode=3&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADOS.Open&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;getImageSize &lt;BR&gt;End&amp;nbsp;Sub &lt;BR&gt;&lt;BR&gt;Private&amp;nbsp;Sub&amp;nbsp;Class_Terminate &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADOS.close &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;set&amp;nbsp;ADOS=nothing &lt;BR&gt;End&amp;nbsp;Sub &lt;BR&gt;&lt;BR&gt;Public&amp;nbsp;Function&amp;nbsp;getImageSize()&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;dim&amp;nbsp;ret(3),bFlag,fdata,fsize &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;fdata=GetWebData(GetStrUrl)&amp;nbsp;'取得XmlHttp数据 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;fsize=clng(lenb(fdata))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'取得数据尺寸 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;fsize=0&amp;nbsp;then&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exit&amp;nbsp;function&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R_write&amp;nbsp;&quot;无有效数据保存&quot;,0 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;if &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADOS.Write&amp;nbsp;fdata&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADOS.Position=0 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaveName=iSaveName &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SavePath=iSavePath &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaveMode=iSaveMode &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;'写文本对象读取图像长宽和类型 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADOS.Position=0&amp;nbsp;'重置数据开始位置&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;bFlag=ADOS.read(3) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;isNull(bFlag)&amp;nbsp;then&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;width=0 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;height=0 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;imgSize=0 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;imgType=&quot;unknow&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(0)=imgType:ret(1)=width:ret(2)=height:ret(3)=&quot;&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;getimagesize=ret &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exit&amp;nbsp;function &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;if &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;'取文件类型和长宽 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;select&amp;nbsp;case&amp;nbsp;hex(binVal(bFlag)) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;&quot;4E5089&quot;: &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADOS.read(15) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(0)=&quot;png&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(1)=BinVal2(ADOS.read(2)) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADOS.read(2) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(2)=BinVal2(ADOS.read(2)) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;&quot;464947&quot;: &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADOS.read(3) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(0)=&quot;gif&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(1)=BinVal(ADOS.read(2)) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(2)=BinVal(ADOS.read(2)) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;&quot;FFD8FF&quot;: &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dim&amp;nbsp;p1 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;do&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;do:&amp;nbsp;p1=binVal(ADOS.Read(1)):&amp;nbsp;loop&amp;nbsp;while&amp;nbsp;p1=255&amp;nbsp;and&amp;nbsp;not&amp;nbsp;ADOS.EOS &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;p1&amp;gt;191&amp;nbsp;and&amp;nbsp;p1&amp;lt;196&amp;nbsp;then&amp;nbsp;exit&amp;nbsp;do&amp;nbsp;else&amp;nbsp;ADOS.read(binval2(ADOS.Read(2))-2) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;do:p1=binVal(ADOS.Read(1)):loop&amp;nbsp;while&amp;nbsp;p1&amp;lt;255&amp;nbsp;and&amp;nbsp;not&amp;nbsp;ADOS.EOS &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;loop&amp;nbsp;while&amp;nbsp;true &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADOS.Read(3) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(0)=&quot;jpg&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(2)=binval2(ADOS.Read(2)) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(1)=binval2(ADOS.Read(2)) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;else: &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;left(Bin2Str(bFlag),2)=&quot;BM&quot;&amp;nbsp;then &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADOS.Read(15) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(0)=&quot;bmp&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(1)=binval(ADOS.Read(4)) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(2)=binval(ADOS.Read(4)) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret(0)=&quot;&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;if &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;select &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;dim&amp;nbsp;tempStr &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;dim&amp;nbsp;nameStr &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;dim&amp;nbsp;defaultName &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;dim&amp;nbsp;ln &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;tempStr=split(GetStrUrl,&quot;/&quot;) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;nameStr=tempStr(ubound(tempStr)) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;nameStr=&quot;&quot;&amp;nbsp;then &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;r_write&amp;nbsp;&quot;错误的URL,请输入可访问的URL&quot;,0 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exit&amp;nbsp;function &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;if &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;fileName=split(nameStr,&quot;?&quot;)(0) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ln=inStrRev(fileName,&quot;.&quot;) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;ln&amp;gt;0&amp;nbsp;then&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;preName=left(fileName,inStrRev(fileName,&quot;.&quot;)-1) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;else &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;preName=fileName &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;if &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;'R_write&amp;nbsp;fileName,1 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;'R_write&amp;nbsp;inStrRev(fileName,&quot;.&quot;),1 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;'R_write&amp;nbsp;fileName,0 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;extName=right(fileName,len(fileName)-inStrRev(fileName,&quot;.&quot;)) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Select&amp;nbsp;case&amp;nbsp;ret(0) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;&quot;png&quot;,&quot;jpg&quot;,&quot;bmp&quot;,&quot;gif&quot;,&quot;swf&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;width=ret(1) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;height=ret(2) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;imgSize=fsize &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;imgType=ret(0) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;imgName=preName&amp;amp;&quot;.&quot;&amp;amp;ret(0) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;else &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;width=0 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;height=0 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;imgSize=fsize &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;imgName=&quot;unknow&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;imgType=&quot;.unknow&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;select &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;SaveMode=&quot;1&quot;&amp;nbsp;then &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;defaultName=imgName &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;SaveName=&quot;&quot;&amp;nbsp;then&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaveName=defaultName &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;lcase(right(SaveName,4))&amp;lt;&amp;gt;&quot;.&quot;&amp;amp;imgType&amp;nbsp;then &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaveName=SaveName&amp;amp;&quot;.&quot;&amp;amp;imgType &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;if &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;if &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;else &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;defaultName=filename &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;if &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;SaveName=&quot;&quot;&amp;nbsp;then&amp;nbsp;SaveName=defaultName &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SavePath=replace(SavePath,&quot;//&quot;,&quot;/&quot;) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;right(SavePath,1)&amp;lt;&amp;gt;&quot;/&quot;&amp;nbsp;then&amp;nbsp;SavePath=SavePath&amp;amp;&quot;/&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;SavePath=&quot;&quot;&amp;nbsp;then&amp;nbsp;SavePath=&quot;./&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;DiskPath=server.mappath(SavePath&amp;amp;SaveName) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;XuPath=replace(replace(DiskPath,server.mappath(&quot;/&quot;),&quot;&quot;),&quot;\&quot;,&quot;/&quot;) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;NewUrl=&quot;http://&quot;&amp;amp;Request.ServerVariables(&quot;SERVER_NAME&quot;)&amp;amp;XuPath &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;getimagesize=ret &lt;BR&gt;End&amp;nbsp;Function &lt;BR&gt;&lt;BR&gt;Public&amp;nbsp;function&amp;nbsp;SaveImg(FullPath) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaveImg=false &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;SaveMode=&quot;1&quot;&amp;nbsp;then &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;trim(fullpath)=&quot;&quot;&amp;nbsp;or&amp;nbsp;_ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;width=0&amp;nbsp;or&amp;nbsp;_&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;height=0&amp;nbsp;or&amp;nbsp;_ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;imgSize=0&amp;nbsp;or&amp;nbsp;_ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;imgType=&quot;.unknow&quot;&amp;nbsp;then&amp;nbsp;exit&amp;nbsp;function&amp;nbsp;end&amp;nbsp;if &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;if &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADOS.Position=0 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;SaveMode=&quot;2&quot;&amp;nbsp;then &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADOS.Type=2 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADOS.Charset&amp;nbsp;=&quot;gb2312&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADOS.SaveToFile&amp;nbsp;FullPath,2 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;textStr=ADOS.readtext() &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;else &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADOS.SaveToFile&amp;nbsp;FullPath,2 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;if &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaveImg=true &lt;BR&gt;End&amp;nbsp;function &lt;BR&gt;&lt;BR&gt;Private&amp;nbsp;Function&amp;nbsp;Bin2Str(Bin) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;I,Str,clow &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;I=1&amp;nbsp;to&amp;nbsp;LenB(Bin) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;clow=MidB(Bin,I,1) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;ASCB(clow)&amp;lt;128&amp;nbsp;then &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Str&amp;nbsp;=&amp;nbsp;Str&amp;nbsp;&amp;amp;&amp;nbsp;Chr(ASCB(clow)) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I=I+1 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;I&amp;nbsp;&amp;lt;=&amp;nbsp;LenB(Bin)&amp;nbsp;then&amp;nbsp;Str&amp;nbsp;=&amp;nbsp;Str&amp;nbsp;&amp;amp;&amp;nbsp;Chr(ASCW(MidB(Bin,I,1)&amp;amp;clow)) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;if &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Bin2Str&amp;nbsp;=&amp;nbsp;Str &lt;BR&gt;End&amp;nbsp;Function &lt;BR&gt;&lt;BR&gt;Private&amp;nbsp;Function&amp;nbsp;Num2Str(num,base,lens) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;dim&amp;nbsp;ret:ret&amp;nbsp;=&amp;nbsp;&quot;&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;while(num&amp;gt;=base) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret=(num&amp;nbsp;mod&amp;nbsp;base)&amp;nbsp;&amp;amp;&amp;nbsp;ret &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;num=(num&amp;nbsp;-&amp;nbsp;num&amp;nbsp;mod&amp;nbsp;base)/base &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;wend &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Num2Str&amp;nbsp;=&amp;nbsp;right(string(lens,&quot;0&quot;)&amp;nbsp;&amp;amp;&amp;nbsp;num&amp;nbsp;&amp;amp;&amp;nbsp;ret,lens) &lt;BR&gt;End&amp;nbsp;Function &lt;BR&gt;&lt;BR&gt;Private&amp;nbsp;Function&amp;nbsp;Str2Num(str,base) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;dim&amp;nbsp;ret:ret&amp;nbsp;=&amp;nbsp;0 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;i=1&amp;nbsp;to&amp;nbsp;len(str) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret&amp;nbsp;=&amp;nbsp;ret&amp;nbsp;*base&amp;nbsp;+&amp;nbsp;cint(mid(str,i,1)) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;next &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Str2Num=ret &lt;BR&gt;End&amp;nbsp;Function &lt;BR&gt;&lt;BR&gt;Private&amp;nbsp;Function&amp;nbsp;BinVal(bin) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;dim&amp;nbsp;ret:ret&amp;nbsp;=&amp;nbsp;0 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;i&amp;nbsp;=&amp;nbsp;lenb(bin)&amp;nbsp;to&amp;nbsp;1&amp;nbsp;step&amp;nbsp;-1 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret&amp;nbsp;=&amp;nbsp;ret&amp;nbsp;*256&amp;nbsp;+&amp;nbsp;ascb(midb(bin,i,1)) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;next &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;BinVal=ret &lt;BR&gt;End&amp;nbsp;Function &lt;BR&gt;&lt;BR&gt;Private&amp;nbsp;Function&amp;nbsp;BinVal2(bin) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;dim&amp;nbsp;ret:ret&amp;nbsp;=&amp;nbsp;0 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;i&amp;nbsp;=&amp;nbsp;1&amp;nbsp;to&amp;nbsp;lenb(bin) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret&amp;nbsp;=&amp;nbsp;ret&amp;nbsp;*256&amp;nbsp;+&amp;nbsp;ascb(midb(bin,i,1)) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;next &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;BinVal2=ret &lt;BR&gt;End&amp;nbsp;Function &lt;BR&gt;&lt;BR&gt;Private&amp;nbsp;Function&amp;nbsp;GetWebData(byval&amp;nbsp;StrUrl) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;StrUrl=&quot;&quot;&amp;nbsp;then&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;r_write&amp;nbsp;&quot;无效&quot;,1 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exit&amp;nbsp;function &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;if &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;dim&amp;nbsp;tempStr &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;tempStr=split(GetStrUrl,&quot;/&quot;) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;tempStr(ubound(tempStr))=&quot;&quot;&amp;nbsp;or&amp;nbsp;inStr(StrUrl,&quot;/&quot;)=0&amp;nbsp;then &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R_Write&amp;nbsp;&quot;未指定有效的URL&quot;,0 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exit&amp;nbsp;function &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;if &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;dim&amp;nbsp;Retrieval &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;Retrieval&amp;nbsp;=&amp;nbsp;Server.CreateObject(&quot;Microsoft.XMLHTTP&quot;) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;Retrieval &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Open&amp;nbsp;&quot;Get&quot;,&amp;nbsp;StrUrl,&amp;nbsp;False,&amp;nbsp;&quot;&quot;,&amp;nbsp;&quot;&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Send &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetWebData&amp;nbsp;=.ResponseBody &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;Retrieval&amp;nbsp;=&amp;nbsp;Nothing &lt;BR&gt;End&amp;nbsp;Function&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;End&amp;nbsp;Class &lt;BR&gt;%&amp;gt; &lt;BR&gt;&amp;lt;% &lt;BR&gt;SUB&amp;nbsp;saveUpload(GetUrl,SavePath,SaveName,mode) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dim&amp;nbsp;chkInfo &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;GetUrl=&quot;&quot;&amp;nbsp;then&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;call&amp;nbsp;tform() &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R_Write&amp;nbsp;&quot;&amp;lt;br&amp;gt;传输文件栏没有填写!&quot;,0 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;if &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set&amp;nbsp;imgUp=new&amp;nbsp;BoxInfoImg &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;mode=&quot;1&quot;&amp;nbsp;and&amp;nbsp;imgUp.imgName=&quot;unknow&quot;&amp;nbsp;then &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;call&amp;nbsp;tform() &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set&amp;nbsp;imgUp=nothing &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R_Write&amp;nbsp;&quot;&amp;lt;br&amp;gt;传输文件栏没有填写有效的图像URL!&quot;,0 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;if &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;chkInfo=&quot;&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dim&amp;nbsp;i,testStr,showStr &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'限定格式 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;select&amp;nbsp;case&amp;nbsp;imgUp.imgType &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;&quot;png&quot;,&quot;jpg&quot;,&quot;bmp&quot;,&quot;gif&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;imgUp.width=0&amp;nbsp;or&amp;nbsp;imgUp.height=0&amp;nbsp;or&amp;nbsp;imgUp.imgSize=0&amp;nbsp;then&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;chkInfo=&quot;&amp;lt;li&amp;gt;&quot;+&quot;传输图像数据不存在,请确定你的URL是否正确&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;if &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;else&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;chkInfo=&quot;&amp;lt;li&amp;gt;无效的传输格式,允许图像数据格式为&amp;nbsp;&quot;&quot;png&quot;&quot;,&quot;&quot;jpg&quot;&quot;,&quot;&quot;bmp&quot;&quot;,&quot;&quot;gif&quot;&quot;&amp;lt;/li&amp;gt;&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;select &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'R_Write&amp;nbsp;SavePath,1 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'R_Write&amp;nbsp;mode,1 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'R_Write&amp;nbsp;imgUp.imgName,1 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'R_Write&amp;nbsp;imgUp.filename,1 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'R_Write&amp;nbsp;&quot;SaveName=&quot;&amp;amp;SaveName,1 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;mode=&quot;1&quot;&amp;nbsp;and&amp;nbsp;chkInfo&amp;lt;&amp;gt;&quot;&quot;&amp;nbsp;then&amp;nbsp;'检查上传图像数据合格后,则保存之 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;call&amp;nbsp;tform() &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R_Write&amp;nbsp;chkInfo,0 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Server.ScriptTimeOut=5000 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;imgUp.saveImg&amp;nbsp;imgUp.DiskPath&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;if &lt;BR&gt;'------------- &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R_write&amp;nbsp;&quot;&amp;lt;b&amp;gt;===处理结果部分资料===&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&quot;,1 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R_write&amp;nbsp;&quot;　　宽:&quot;&amp;amp;imgUp.width&amp;amp;&quot;&amp;nbsp;pix&quot;,1 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R_write&amp;nbsp;&quot;　　高:&quot;&amp;amp;imgUp.height&amp;amp;&quot;&amp;nbsp;pix&quot;,1 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R_write&amp;nbsp;&quot;　大小:&quot;&amp;amp;formatnumber(imgUp.imgSize/1024,2,-1)&amp;amp;&quot;&amp;nbsp;KB&quot;,1 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R_write&amp;nbsp;&quot;　格式:&quot;&amp;amp;imgUp.imgType,1 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R_write&amp;nbsp;&quot;图像文件名:&quot;&amp;amp;imgUp.imgName,1 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R_write&amp;nbsp;&quot;文件名:&quot;&amp;amp;imgUp.filename,1 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R_write&amp;nbsp;&quot;扩展名:&quot;&amp;amp;imgUp.extName,1 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R_write&amp;nbsp;&quot;保存位置:&quot;&amp;amp;imgUp.DiskPath,1 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R_write&amp;nbsp;&quot;虚拟路径:&quot;&amp;amp;imgUp.XuPath,1 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R_write&amp;nbsp;&quot;保存后url:&quot;&amp;amp;imgUp.NewUrl,1 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;call&amp;nbsp;tform() &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set&amp;nbsp;imgUp=nothing&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R_write&amp;nbsp;&quot;------------------------&amp;lt;br&amp;gt;保存完毕&quot;,0 &lt;BR&gt;End&amp;nbsp;SUB &lt;BR&gt;&lt;BR&gt;SUB&amp;nbsp;tform() &lt;BR&gt;%&amp;gt; &lt;BR&gt;&amp;lt;FORM&amp;nbsp;METHOD=POST&amp;nbsp;name=form2&amp;nbsp;style=&quot;margin:0px;&quot;&amp;gt; &lt;BR&gt;　获取&amp;nbsp;URL：&amp;lt;INPUT&amp;nbsp;TYPE=&quot;text&quot;&amp;nbsp;size=50&amp;nbsp;NAME=&quot;GetStrUrl&quot;&amp;nbsp;value=&quot;/content/uploadfiles/2010-06/20100607210954734.jpg&quot;&amp;gt;&amp;lt;br&amp;gt; &lt;BR&gt;　保存路径：&amp;lt;INPUT&amp;nbsp;TYPE=&quot;text&quot;&amp;nbsp;size=50&amp;nbsp;NAME=&quot;SavePath&quot;&amp;nbsp;value=&quot;&quot;&amp;gt;&amp;lt;br&amp;gt; &lt;BR&gt;保存文件名：&amp;lt;INPUT&amp;nbsp;TYPE=&quot;text&quot;&amp;nbsp;size=50&amp;nbsp;NAME=&quot;SaveName&quot;&amp;nbsp;value=&quot;&quot;&amp;gt;&amp;lt;br&amp;gt; &lt;BR&gt;　保存类型： &lt;BR&gt;&amp;lt;INPUT&amp;nbsp;TYPE=&quot;radio&quot;&amp;nbsp;NAME=&quot;SaveMode&quot;&amp;nbsp;value=1&amp;nbsp;&amp;lt;%if&amp;nbsp;iSaveMode=&quot;1&quot;&amp;nbsp;or&amp;nbsp;iSaveMode=&quot;&quot;&amp;nbsp;then&amp;nbsp;response.write&amp;nbsp;&quot;checked&quot;&amp;nbsp;end&amp;nbsp;if%&amp;gt;&amp;gt;&amp;nbsp;Web图像&amp;nbsp; &lt;BR&gt;&amp;lt;INPUT&amp;nbsp;TYPE=&quot;radio&quot;&amp;nbsp;NAME=&quot;SaveMode&quot;&amp;nbsp;value=2&amp;nbsp;&amp;lt;%if&amp;nbsp;iSaveMode=&quot;2&quot;&amp;nbsp;then&amp;nbsp;response.write&amp;nbsp;&quot;checked&quot;&amp;nbsp;end&amp;nbsp;if%&amp;gt;&amp;gt;&amp;nbsp;文本文件 &lt;BR&gt;&amp;lt;INPUT&amp;nbsp;TYPE=&quot;radio&quot;&amp;nbsp;NAME=&quot;SaveMode&quot;&amp;nbsp;value=0&amp;nbsp;&amp;lt;%if&amp;nbsp;iSaveMode=&quot;0&quot;&amp;nbsp;then&amp;nbsp;response.write&amp;nbsp;&quot;checked&quot;&amp;nbsp;end&amp;nbsp;if%&amp;gt;&amp;gt;&amp;nbsp;二进制数据 &lt;BR&gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;INPUT&amp;nbsp;TYPE=&quot;submit&quot;&amp;nbsp;value=&quot;确定提交&quot;&amp;gt; &lt;BR&gt;&lt;BR&gt;&amp;lt;hr&amp;nbsp;size=1&amp;gt; &lt;BR&gt;&amp;lt;% &lt;BR&gt;if&amp;nbsp;GetStrUrl&amp;lt;&amp;gt;&quot;&quot;&amp;nbsp;then &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;iSaveMode=&quot;2&quot;&amp;nbsp;then &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R_write&amp;nbsp;&quot;&amp;lt;button&amp;nbsp;name=&quot;&quot;Previews&quot;&quot;&amp;nbsp;title=&quot;&quot;页面快照&quot;&quot;&amp;nbsp;onclick=&quot;&quot;runCode(0);&quot;&quot;&amp;gt;Run&amp;nbsp;this&amp;nbsp;code&amp;lt;/button&amp;gt;&quot;,1 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R_write&amp;nbsp;&quot;&amp;lt;textarea&amp;nbsp;cols=100&amp;nbsp;name=content&amp;nbsp;rows=10&amp;nbsp;style=&quot;&quot;&amp;nbsp;width:90%;fixed;word-break:break-all;&quot;&quot;&amp;gt;&quot;&amp;amp;server.htmlencode(imgUp.textStr)&amp;amp;&quot;&amp;lt;/textarea&amp;gt;&quot;,1 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R_write&amp;nbsp;&quot;&amp;lt;img&amp;nbsp;src=&quot;&quot;&quot;&amp;amp;imgUp.XuPath&amp;amp;&quot;?&quot;&amp;amp;timer()&amp;amp;&quot;&quot;&quot;&amp;nbsp;width=&quot;&amp;amp;imgUp.width&amp;amp;&quot;&amp;nbsp;height=&quot;&amp;amp;imgUp.height&amp;amp;&quot;&amp;nbsp;alt=&quot;&amp;amp;imgUp.imgName&amp;amp;&quot;&amp;gt;&quot;,1 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;if &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;%&amp;gt; &lt;BR&gt;&amp;lt;/FORM&amp;gt; &lt;BR&gt;&amp;lt;!--&amp;lt;hr&amp;nbsp;size=1&amp;gt; &lt;BR&gt;&amp;lt;br&amp;gt;如果保存为图像，不要加扩展名，自动识别加上，如果加的扩展名不合也回自动加上 &lt;BR&gt;&amp;lt;br&amp;gt;保存文件路径为空则保存在当前路径 &lt;BR&gt;&amp;lt;br&amp;gt;保存文件名为空则使用自动识别取得的文件名 &lt;BR&gt;&amp;lt;br&amp;gt;保存为其他任意方式，对asp&amp;nbsp;html&amp;nbsp;等为取得发送结果的Html--&amp;gt; &lt;BR&gt;&amp;lt;%End&amp;nbsp;SUB &lt;BR&gt;&lt;BR&gt;Sub&amp;nbsp;R_write(str,num) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dim&amp;nbsp;istr:istr=str &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dim&amp;nbsp;inum:inum=num &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response.write&amp;nbsp;str&amp;amp;&quot;&amp;lt;br&amp;gt;&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;inum=0&amp;nbsp;then&amp;nbsp;response.end &lt;BR&gt;end&amp;nbsp;sub &lt;BR&gt;&lt;BR&gt;'=================调用过程&amp;nbsp;Execute======================== &lt;BR&gt;%&amp;gt; &lt;BR&gt;&amp;lt;!DOCTYPE&amp;nbsp;HTML&amp;nbsp;PUBLIC&amp;nbsp;&quot;-//W3C//DTD&amp;nbsp;HTML&amp;nbsp;4.0&amp;nbsp;Transitional//EN&quot;&amp;gt; &lt;BR&gt;&amp;lt;HTML&amp;gt; &lt;BR&gt;&amp;lt;HEAD&amp;gt; &lt;BR&gt;&amp;lt;TITLE&amp;gt;www.zhaobus.net&amp;lt;/TITLE&amp;gt; &lt;BR&gt;&amp;lt;META&amp;nbsp;NAME=&quot;Generator&quot;&amp;nbsp;CONTENT=&quot;EditPlus&quot;&amp;gt; &lt;BR&gt;&amp;lt;META&amp;nbsp;NAME=&quot;Keywords&quot;&amp;nbsp;CONTENT=&quot;www.zhaobus.net&quot;&amp;gt; &lt;BR&gt;&amp;lt;META&amp;nbsp;NAME=&quot;Description&quot;&amp;nbsp;CONTENT=&quot;www.zhaobus.net&quot;&amp;gt; &lt;BR&gt;&amp;lt;SCRIPT&amp;nbsp;LANGUAGE=&quot;JavaScript&quot;&amp;gt; &lt;BR&gt;&amp;lt;!-- &lt;BR&gt;/*function&amp;nbsp;runCode()&amp;nbsp; &lt;BR&gt;{ &lt;BR&gt;var&amp;nbsp;code=event.srcElement.parentElement.children[0].value; &lt;BR&gt;var&amp;nbsp;newwin=window.open('','','');&amp;nbsp; &lt;BR&gt;newwin.opener&amp;nbsp;=&amp;nbsp;null&amp;nbsp; &lt;BR&gt;newwin.document.write(code); &lt;BR&gt;newwin.document.close(); &lt;BR&gt;} &lt;BR&gt;function&amp;nbsp;setsmiley(what)&amp;nbsp; &lt;BR&gt;{&amp;nbsp; &lt;BR&gt;document.PostForm.comment.value&amp;nbsp;+=&amp;nbsp;&quot;&amp;nbsp;&quot;+what;&amp;nbsp; &lt;BR&gt;document.PostForm.comment.focus();&amp;nbsp; &lt;BR&gt;}&amp;nbsp;*/ &lt;BR&gt;function&amp;nbsp;runCode(num)&amp;nbsp;//运行代码HTML &lt;BR&gt;{ &lt;BR&gt;//&amp;nbsp;var&amp;nbsp;code=event.srcElement.parentElement.children[0].value; &lt;BR&gt;if(num==1){var&amp;nbsp;code=window.form2.code.innerText;} &lt;BR&gt;if(num==0){var&amp;nbsp;code=window.form2.content.innerText;} &lt;BR&gt;var&amp;nbsp;newwin=window.open('','',''); &lt;BR&gt;newwin.opener&amp;nbsp;=&amp;nbsp;null &lt;BR&gt;newwin.document.write(code); &lt;BR&gt;newwin.document.close(); &lt;BR&gt;} &lt;BR&gt;//--&amp;gt; &lt;BR&gt;&amp;lt;/SCRIPT&amp;gt; &lt;BR&gt;&amp;lt;/HEAD&amp;gt; &lt;BR&gt;&amp;lt;BODY&amp;gt; &lt;BR&gt;&amp;lt;% &lt;BR&gt;dim&amp;nbsp;imgUp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'传输对象 &lt;BR&gt;dim&amp;nbsp;GetStrUrl&amp;nbsp;&amp;nbsp;&amp;nbsp;'要获取的图像或网页URL &lt;BR&gt;dim&amp;nbsp;iSaveName&amp;nbsp;&amp;nbsp;&amp;nbsp;'要保存的名字 &lt;BR&gt;dim&amp;nbsp;iSavePath&amp;nbsp;&amp;nbsp;&amp;nbsp;'要保存的虚拟路径 &lt;BR&gt;dim&amp;nbsp;iSaveMode&amp;nbsp;&amp;nbsp;&amp;nbsp;'保存的模式&amp;nbsp;1&amp;nbsp;为图像&amp;nbsp;0&amp;nbsp;为任意文件 &lt;BR&gt;iSavePath=trim(request.form(&quot;SavePath&quot;)) &lt;BR&gt;iSaveName=trim(request.form(&quot;SaveName&quot;)) &lt;BR&gt;GetStrUrl=trim(request.form(&quot;GetStrUrl&quot;)) &lt;BR&gt;iSaveMode=trim(request.form(&quot;SaveMode&quot;)) &lt;BR&gt;if&amp;nbsp;GetStrUrl&amp;lt;&amp;gt;&quot;&quot;&amp;nbsp;then &lt;BR&gt;CALL&amp;nbsp;saveUpload(GetStrUrl,iSavePath,iSaveName,iSaveMode) &lt;BR&gt;call&amp;nbsp;tform() &lt;BR&gt;else &lt;BR&gt;call&amp;nbsp;tform() &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;%&amp;gt; &lt;BR&gt;&amp;lt;/BODY&amp;gt; &lt;BR&gt;&amp;lt;/HTML&amp;gt; &lt;BR&gt;&lt;/P&gt;</description>
       </item>
       <item>
           <title>[常见工具应用]添加UltraEdit到鼠标右键</title>
           <link>http://www.yici.net/content/text_all/text_0/627_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>常见工具应用</category>
           <pubDate>2010-4-5 17:11:15</pubDate>
           <comments></comments>
           <description>&lt;P&gt;不知道怎么回事，家里的台式机上鼠标右键时，没有了“UltraEDIT打开”的选项。&lt;/P&gt;
&lt;P&gt;这样在编辑ASP等文件时极不习惯～&lt;/P&gt;
&lt;P&gt;总不能每次先打开UE，再把文件拖进来吧？&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;后来总算找到了解决办法，&lt;/P&gt;
&lt;P&gt;编辑个内容如下的1.reg文件，双击执行即可,UltraEdit所在目录（红色部分，注意路径中的斜杠“\”都要改为双斜杠“\\”）需写正确。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=&quot;Times New Roman&quot;&gt;REGEDIT4&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=&quot;Times New Roman&quot;&gt;[HKEY_LOCAL_MACHINE\Software\CLASSES\*\shellex\ContextMenuHandlers\UltraEdit-32]&lt;BR&gt;@=&quot;{b5eedee0-c06e-11cf-8c56-444553540000}&quot;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=&quot;Times New Roman&quot;&gt;[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{b5eedee0-c06e-11cf-8c56-444553540000}\InProcServer32]&lt;BR&gt;@=&quot;&lt;FONT color=#ff0000&gt;C:\\Program Files\\UltraEdit\\ue32ctmn.dll&lt;/FONT&gt;&quot;&lt;BR&gt;&quot;ThreadingModel&quot;=&quot;Apartment&quot;&lt;/FONT&gt;&lt;/P&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]IIS真正能用的ISAPI-Rewrite防盗链规则写法</title>
           <link>http://www.yici.net/content/text_all/text_0/626_1.html</link>
           <author>menilui</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2010-3-23 9:10:55</pubDate>
           <comments></comments>
           <description>&lt;P&gt;本规则支持白名单排除式防盗链，搜索引擎友好不屏蔽，被盗链后的错误提示转向，支持各种文件类型，经作者亲验真的能用，第一时间在chinaz.com原创发表，请继续往下阅读。&lt;/P&gt;
&lt;P&gt;近来小站遇到了盗链问题，至使网站的流量枉费流失，于是被迫准备为服务器安装防盗链机制以挽救本就不宽裕的带宽。通过G.CN和B.CN搜索后得出了几种不同的方案，例如网站程序的URL伪装法、服务器端的收费插件法和ISAPI-REWRITE的规则过滤法等，考虑自身网站结构和钱包的困难问题，最终选择了后者，即现在流行用来做伪静态的ISAPI Rewrite书写规则来实现我的防盗链“梦想”。&lt;/P&gt;
&lt;P&gt;为什么说是梦想呢？首先表示惋惜，懒人我搜来了一大票经过无数次转载而来的文章，把现呈的代码应用后发现要么根本不起作用，要么就是效果达不到我想要的，几经周折后终于把这原本认为可以轻易借鉴照搬的防盗链给完成了，恨那些只会转载和伪原创的站长们，自己也不试试就拿来填充，害了多少人浪费了大把的时间。&lt;/P&gt;
&lt;P&gt;经过恶补正则表达式相关教程并对前辈们留下的规则进行修改后，以下ISAPI Rewrite已经在我的服务器上正常运作。&lt;/P&gt;
&lt;P&gt;经测试四种情况正常，即站内链接正常，白名单里的链接正常，盗链者链接屏蔽，搜索引擎链接正常。&lt;/P&gt;
&lt;P&gt;详细如下；&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;一、完全屏蔽所有盗链来源的写法（如已有其它规则，则置于已有规则的上面）&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #0099cc 1px solid; TABLE-LAYOUT: fixed; BORDER-TOP: #0099cc 1px solid; BORDER-LEFT: #0099cc 1px solid; BORDER-BOTTOM: #0099cc 1px solid&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#ddedfb&gt;RewriteCond Host: (.+)&lt;BR&gt;RewriteCond Referer: (?!http://\1.*).*&lt;BR&gt;RewriteRule .*\.(?:gif|jpg|jpeg|png|bmp) /block.gif [I,O,N]&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;老板，来个小解：&lt;/P&gt;
&lt;P&gt;第一行通过RewriteCond的HOST定义其下的规则所适用的请求主机范围。&lt;/P&gt;
&lt;P&gt;第二行通过RewriteCond的Referer定义规则适用的请求来源地址，我们都知道任何通过互联网方式访问网站都会留下Referer的痕迹，就好像我们在IIS日志里看到的一样。这里的(?!http://\1.*).*意思就是判断所有通过http协义发来的请求，都要应用规则。&lt;/P&gt;
&lt;P&gt;第三行通过RewriteRule定义防盗链文件的后缀，这里仅是图片后缀，需要的可以添加mp3,rar等其它所有后缀。后面的/block.gif表示如果遇上这些后缀的文件被盗链后的转向，这里转向/根目录的block.gif，可以是HTML等任何文件。如果只想某个文件夹下面的文件不被盗链，只需要加上路径就可以。例如不想images和pic目录下的文件被盗，但其它可以。就要改写成：&lt;/P&gt;
&lt;P&gt;RewriteRule (/images/|/pic/).*\.(?:gif|jpg|jpeg|png|bmp) /block.gif [I,O,N]&lt;/P&gt;
&lt;P&gt;这种情况主要是有些站长在别人友情链接里的图片地址是在自己这的。&lt;/P&gt;
&lt;P&gt;最后面的[I,O,N]，I表示不区分大小写，O表示对URL进行标准化，可能是用来处理Unicode编码的地址（例如包含中文的URL）以及QueryString的内容，N表示重新从站点请求文件而不是从本地缓存读取文件，目的是防止当用户访问了盗你链的网站后，再回到你的网站也出现盗链提示。&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;提示，由于此规则是通过Referer来获取带有http://字样的地址进行过滤，&lt;STRONG&gt;因此它无法防范其它协议的盗链，比如迅雷下载。&lt;/STRONG&gt;但通过任何浏览器直接访问，只要是HTTP协义的，通杀。&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;以上关于RewriteCond和RewriteRule的作用仅是本人的土法理解，欢迎在这方面有专业研究的朋友在评论中指正，以免误导，另外如果遇到isapi-rewrite版本问题，只要保证后面的正则式写法正确就行。&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;二、排除性防盗链写法&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #0099cc 1px solid; TABLE-LAYOUT: fixed; BORDER-TOP: #0099cc 1px solid; BORDER-LEFT: #0099cc 1px solid; BORDER-BOTTOM: #0099cc 1px solid&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#ddedfb&gt;RewriteCond Host: (.+)&lt;BR&gt;RewriteCond Referer: (?!http://\1.*).*&lt;BR&gt;RewriteCond Referer: (?!http://(.*)(\.baidu\.com|\.google\.com|\.google\.cn|\.g\.cn|\.gougou\.com|\.soso\.com|\.sogou\.com|\.youdao\.com|\.bing\.com|\.yahoo\.com|\.yahoo\.cn|\.eojoo\.com)).*&lt;BR&gt;RewriteRule .*\.(?:gif|jpg|jpeg|png|bmp) /block.gif [I,O,N]&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;老板，来个小解：&lt;/P&gt;
&lt;P&gt;第一行同上&lt;/P&gt;
&lt;P&gt;第二行同上&lt;/P&gt;
&lt;P&gt;第三行通过正则表达式对第二行中的请求协义地址进行过滤，这里按上面的写法，过滤了所有流行的搜索引擎，当然也包括你自己的站，或是你同台服务器其它的站。每个不同的域名写法是\.baidu\.com，多个有|号相隔。如果是IP则这样写100\.100\.100\.100&lt;/P&gt;
&lt;P&gt;第四行同上&lt;/P&gt;
&lt;P&gt;这样说明应该不难理解吧，直接拿去用，按着原有格式改。&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;规则中出现的正则表达式符号小解：&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;.　表示匹配除换行符以外的任意字符&lt;/P&gt;
&lt;P&gt;+　表示前面的字符可以出现一到任意多次&lt;/P&gt;
&lt;P&gt;*　表示前面的字符可以出现零到任意多次&lt;/P&gt;
&lt;P&gt;() 表示一个表达组，可以拿它和加减乘除法一起理解&lt;/P&gt;
&lt;P&gt;?! 表示断言这个符号后面的字符如果出现则不再进行接下去的匹配&lt;/P&gt;
&lt;P&gt;\　表示转义符号，比如网址中的.是规则内置的运算符号，要把它通过\转义成字符。&lt;/P&gt;
&lt;P&gt;|　表示或者，用于连接多种可能&lt;/P&gt;
&lt;P&gt;通过以上这“乱七八糟”的符号，竟然组成了如此强大的规则，感叹！&lt;/P&gt;
&lt;P&gt;全文完，本文由&lt;A href=&quot;http://www.eojoo.com&quot;&gt;www.eojoo.com&lt;/A&gt;在第一时间提供&lt;/P&gt;</description>
       </item>
       <item>
           <title>[JavaScript]IE6解决下Png透明的最佳方法，仅1kb的JS文件</title>
           <link>http://www.yici.net/content/text_all/text_0/622_1.html</link>
           <author>[VIA]</author>
           <guid></guid>
           <category>JavaScript</category>
           <pubDate>2009-12-8 9:03:26</pubDate>
           <comments></comments>
           <description>&lt;P&gt;因为它的确是太出众了。&lt;/P&gt;
&lt;P&gt;1.非常小的javascript文件：1kb！&lt;/P&gt;
&lt;P&gt;2.解决因为IE的滤镜属性所带来的影响。&lt;/P&gt;
&lt;P&gt;3.无论是img元素或background-image属性，都能有效果。&lt;/P&gt;
&lt;P&gt;4.在加载页面之前就能自动运行。或者就一丁点的元素。&lt;/P&gt;
&lt;P&gt;5.允许自动高宽。&lt;/P&gt;
&lt;P&gt;6.使用起来超级简单。&lt;/P&gt;
&lt;P align=center&gt;&lt;IMG class=aligncenter style=&quot;WIDTH: 496px; HEIGHT: 176px&quot; height=180 alt=&quot;新勺网| 专注于引进国外设计资源和设计酷站&quot; src=&quot;/content/uploadfiles/2009-12/20091208090447734.png&quot; width=510&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;如何使用：&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;1）。下载zip 然后，添加下面的代码到你页面的头部。（一定要确保路径的正确）&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #0099cc 1px solid; TABLE-LAYOUT: fixed; BORDER-TOP: #0099cc 1px solid; BORDER-LEFT: #0099cc 1px solid; BORDER-BOTTOM: #0099cc 1px solid&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#ddedfb&gt;&lt;FONT color=#ff0000&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: #0000ff&quot;&gt;&lt;CODE&gt;&lt;FONT face=NSimsun&gt;&amp;lt;!--[if lt IE 7]&amp;gt;&lt;BR&gt;&amp;lt;script type=&quot;text/javascript&quot; src=&quot;&lt;/FONT&gt;&lt;FONT face=NSimsun color=#999999&gt;unit&lt;/FONT&gt;&lt;FONT face=NSimsun&gt;pngfix.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;BR&gt;&amp;lt;![endif]--&amp;gt;&lt;/FONT&gt;&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;2）。添加clear.gif到你的images 文件夹中。在js文件中，修改”var clear=”images/clear.gif” 路径，为你存放clear.gif的文件路径。&lt;/P&gt;
&lt;P&gt;3）。 你的整个项目的png图片都实现了透明效果。的确非常简单吧？就2个步骤，就实现了整个站点所有png的透明效果。&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;一些注意事项：&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Unit PNG Fix能够让 background-repeat在ie6下工作，不过这种工作方式不是像正常的repeat图片重复的效果，而是采用了拉伸的效果。但是，仍然是效果 的，所以这也是非常不错的。因为没有任何一个解决方案能够实现ie6下透明滤镜重复图片这个功能.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;IMG src=&quot;/content/webeditor/sysimage/file/zip.gif&quot; border=0&gt;&lt;A href=&quot;/content/uploadfiles/2009-12/20091208_090600.zip&quot; target=_blank&gt;unitpngfix.zip&lt;/A&gt;&lt;/P&gt;</description>
       </item>
       <item>
           <title>[常见工具应用]Google 自定义搜索结果页面的宽度控制方法</title>
           <link>http://www.yici.net/content/text_all/text_0/615_1.html</link>
           <author>园子</author>
           <guid></guid>
           <category>常见工具应用</category>
           <pubDate>2009-11-14 8:25:33</pubDate>
           <comments></comments>
           <description>&lt;P&gt;今天园子在把博客的搜索改为&amp;nbsp;Google&amp;nbsp;自定义搜索之后，发现在搜索结果输出页面出现了点问题，就是使用&amp;nbsp;Google&amp;nbsp;自定义搜索提供的更改宽度的代码时，无论怎样去修改，其显示搜索结果页面宽度始终为795px。园子使用的是&amp;nbsp;iframe&amp;nbsp;嵌入使搜索结果位于我的博客上，下面就说下针对此问题的解决方法。 &lt;BR&gt;&lt;BR&gt;我们知道更改搜索结果&amp;nbsp;iframe&amp;nbsp;的宽度是根据&amp;nbsp;var&amp;nbsp;googleSearchFrameWidth&amp;nbsp;=&amp;nbsp;600;这段代码后面的600来进行更改的，网上有文章提到这种修改宽度无效的直接原因是我们在使用&amp;nbsp;Google&amp;nbsp;自定义搜索时在选择广告位置的时候选择成了“顶部和右侧”，如果想通过上述代码控制宽度正确的做法是选择“顶部和底部”，据园子测试此方法现在也没有效果。 &lt;BR&gt;&lt;BR&gt;更新于2009-09-16：园子发现现在已经可以通过&amp;nbsp;var&amp;nbsp;googleSearchFrameWidth&amp;nbsp;=&amp;nbsp;600;&amp;nbsp;这个属性来控制搜索结果页面宽度了，如果你发现仍有问题可以尝试下面的方法去试下。 &lt;BR&gt;&lt;BR&gt;我的解决方法是使用css来控制搜索结果页面&amp;nbsp;iframe&amp;nbsp;的宽度，具体做法很简单，直接在您的主题CSS里面加入下面的代码： &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#f3f3f3&gt;#cse-search-results&amp;nbsp;iframe&amp;nbsp;{width:640px;} &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;你只需要把后面的宽度更改为你想要显示的宽度即可，如果你想要显示成自适应的，只需要把数值改为100%即可，使用这种方法可以很好的控制&amp;nbsp;Google&amp;nbsp;自定义搜索结果页面的宽度，希望本文的方法可以为遇到此问题的朋友提供帮助，具体的显示效果你可以使用园子的博客搜索功能搜索一下相关的关键字即可看到。 &lt;BR&gt;&lt;/P&gt;</description>
       </item>
       <item>
           <title>[JavaScript]在一个form中一个submit 打开新窗口,另一个submit 在本页面提交</title>
           <link>http://www.yici.net/content/text_all/text_0/614_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>JavaScript</category>
           <pubDate>2009-11-12 20:30:46</pubDate>
           <comments></comments>
           <description>&lt;FONT color=#ff0000&gt;&amp;lt;form name=&quot;Form&quot; method=&quot;post&quot;&amp;gt; &lt;BR&gt;&lt;/FONT&gt;&amp;lt;input type=&quot;text&quot; name=&quot;textfield2&quot;&amp;gt; &lt;BR&gt;&lt;BR&gt;&lt;FONT color=#ff6600&gt;&amp;lt;input type=submit name=&quot;preview&quot; value=&quot;提交&quot; onclick=document.Form.target=&quot;&quot;;document.Form.action=&quot;submit.asp&quot;}&amp;gt;&lt;/FONT&gt; &lt;BR&gt;&lt;BR&gt;&lt;FONT color=#ff6600&gt;&amp;lt;input type=submit name=&quot;preview&quot; value=&quot;预览&quot; onclick=document.Form.target=&quot;_blank&quot;;document.Form.action=&quot;preview.asp&quot;}&amp;gt;&lt;/FONT&gt; &lt;BR&gt;&lt;FONT color=#ff0000&gt;&amp;lt;/form&amp;gt;&lt;/FONT&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]ASP用instr函数加上compare参数忽略大小写时，搜索带日文的字符时提示溢出</title>
           <link>http://www.yici.net/content/text_all/text_0/605_1.html</link>
           <author>Joker</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2009-10-8 20:19:10</pubDate>
           <comments></comments>
           <description>&lt;P&gt;我用instr函数搜索一段日本字符时出现实时错误：内存溢出&amp;nbsp; &lt;BR&gt;我试过删除instr函数的compare参数就不会出现此错误，但我需要这个compare参数去忽略大小写的检查。&amp;nbsp; &lt;BR&gt;&lt;BR&gt;第一反应：唯有用instr函数去处理，有没有其他直接用instr函数的方法，或者其他函数可以代替？&lt;BR&gt;&lt;BR&gt;经过上网搜索大量资料，发现应该是VB脚本的解释问题。&lt;BR&gt;&lt;BR&gt;如果出现这个问题的是VB5之类的VB编程软件，那很好办，只需要打上sp6的补丁，之前版本的vb instr函数都有这个问题。&lt;BR&gt;&lt;BR&gt;但是对于IIS，就没有太好的解决办法了，唯有进行编码和反编码～&lt;/P&gt;
&lt;P&gt;解决办法: &lt;BR&gt;当字段内包含了这26个日文字符任意一个多个时,就会导致在执行SQL语句中包含了 &lt;BR&gt;[字段]&amp;nbsp;like&amp;nbsp;'%aaaaa%'&amp;nbsp;或&amp;nbsp;inStr(1,[字段],'aaaaa',1)&amp;gt;0 &lt;BR&gt;这样的查询时,毫无道理的出现了 &lt;BR&gt;&quot;Microsoft&amp;nbsp;JET&amp;nbsp;Database&amp;nbsp;Engine&amp;nbsp;错误&amp;nbsp;'80040e14'&amp;nbsp;内存溢出&quot;的错误 &lt;BR&gt;其他Jet&amp;nbsp;SQL函数命令未作测试，大概与字符搜索定位匹配相关的都可能出错 &lt;BR&gt;搜索相关资料得知被微软工程师证实是Access的bug,可能是语法关系都是微软的东东 &lt;BR&gt;在vbs中&amp;nbsp;执行inStr(1,日文平假名变量,&quot;aaaaa&quot;,1)依然要出现错误 &lt;BR&gt;Microsoft&amp;nbsp;VBScript&amp;nbsp;运行时错误&amp;nbsp;错误&amp;nbsp;'800a0005'&amp;nbsp;无效的过程调用或参数:&amp;nbsp;'instr'&amp;nbsp; &lt;BR&gt;没有搜索,因这几个字符出现Access的论坛网站搜索无法进行,何等痛苦 &lt;BR&gt;昨天一朋友大叫怪事,他的音乐数据库无法搜索了,只有30000条记录时是好的 &lt;BR&gt;毫无疑问,日文片假名是祸根,花几分钟把有包含上面的日文替换成&quot;?&quot;搜索顺利恢复 &lt;BR&gt;找来论坛程序用户群最大的动网dvBBS&amp;nbsp;AC版本&amp;nbsp;7.0SP2&amp;nbsp;版测试,同样有这个日文发帖后&amp;nbsp;导致无法搜索并且运行时出错的问题 &lt;BR&gt;线上去搜索&amp;nbsp;'80040e14'&amp;nbsp;内存溢出&quot;&amp;nbsp;的错误&amp;nbsp;多的是! &lt;BR&gt;一简单有效的解决办法: &lt;BR&gt;对这26个字符进行编码和解码,可能效率感觉不理想,测试下来问题不大,速度影响不是太大 &lt;BR&gt;编码: &lt;BR&gt;Function&amp;nbsp;Jencode(byVal&amp;nbsp;iStr) &lt;BR&gt;if&amp;nbsp;isnull(iStr)&amp;nbsp;or&amp;nbsp;isEmpty(iStr)&amp;nbsp;then &lt;BR&gt;&amp;nbsp;&amp;nbsp;Jencode=&quot;&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;function &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;dim&amp;nbsp;F,i,E &lt;BR&gt;'&amp;nbsp;F=array(&quot;ゴ&quot;,&quot;ガ&quot;,&quot;ギ&quot;,&quot;グ&quot;,&quot;ゲ&quot;,&quot;ザ&quot;,&quot;ジ&quot;,&quot;ズ&quot;,&quot;ヅ&quot;,&quot;デ&quot;,_ &lt;BR&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;ド&quot;,&quot;ポ&quot;,&quot;ベ&quot;,&quot;プ&quot;,&quot;ビ&quot;,&quot;パ&quot;,&quot;ヴ&quot;,&quot;ボ&quot;,&quot;ペ&quot;,&quot;ブ&quot;,&quot;ピ&quot;,&quot;バ&quot;,_ &lt;BR&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;ヂ&quot;,&quot;ダ&quot;,&quot;ゾ&quot;,&quot;ゼ&quot;) &lt;BR&gt;&amp;nbsp;&amp;nbsp;E=array(&quot;Jn0;&quot;,&quot;Jn1;&quot;,&quot;Jn2;&quot;,&quot;Jn3;&quot;,&quot;Jn4;&quot;,&quot;Jn5;&quot;,&quot;Jn6;&quot;,&quot;Jn7;&quot;,&quot;Jn8;&quot;,&quot;Jn9;&quot;,&quot;Jn10;&quot;,&quot;Jn11;&quot;,&quot;Jn12;&quot;,&quot;Jn13;&quot;,&quot;Jn14;&quot;,&quot;Jn15;&quot;,&quot;Jn16;&quot;,&quot;Jn17;&quot;,&quot;Jn18;&quot;,&quot;Jn19;&quot;,&quot;Jn20;&quot;,&quot;Jn21;&quot;,&quot;Jn22;&quot;,&quot;Jn23;&quot;,&quot;Jn24;&quot;,&quot;Jn25;&quot;) &lt;BR&gt;&amp;nbsp;&amp;nbsp;F=array(chr(-23116),chr(-23124),chr(-23122),chr(-23120),_ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;chr(-23118),chr(-23114),chr(-23112),chr(-23110),_ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;chr(-23099),chr(-23097),chr(-23095),chr(-23075),_ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;chr(-23079),chr(-23081),chr(-23085),chr(-23087),_ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;chr(-23052),chr(-23076),chr(-23078),chr(-23082),_ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;chr(-23084),chr(-23088),chr(-23102),chr(-23104),_ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;chr(-23106),chr(-23108)) &lt;BR&gt;&amp;nbsp;&amp;nbsp;Jencode=iStr &lt;BR&gt;&amp;nbsp;&amp;nbsp;for&amp;nbsp;i=0&amp;nbsp;to&amp;nbsp;25 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Jencode=replace(Jencode,F(i),E(i)) &lt;BR&gt;&amp;nbsp;&amp;nbsp;next &lt;BR&gt;End&amp;nbsp;Function &lt;BR&gt;解码: &lt;BR&gt;Function&amp;nbsp;Juncode(byVal&amp;nbsp;iStr) &lt;BR&gt;if&amp;nbsp;isnull(iStr)&amp;nbsp;or&amp;nbsp;isEmpty(iStr)&amp;nbsp;then &lt;BR&gt;&amp;nbsp;&amp;nbsp;Juncode=&quot;&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;function &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;dim&amp;nbsp;F,i,E &lt;BR&gt;'&amp;nbsp;F=array(&quot;ゴ&quot;,&quot;ガ&quot;,&quot;ギ&quot;,&quot;グ&quot;,&quot;ゲ&quot;,&quot;ザ&quot;,&quot;ジ&quot;,&quot;ズ&quot;,&quot;ヅ&quot;,&quot;デ&quot;,_ &lt;BR&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;ド&quot;,&quot;ポ&quot;,&quot;ベ&quot;,&quot;プ&quot;,&quot;ビ&quot;,&quot;パ&quot;,&quot;ヴ&quot;,&quot;ボ&quot;,&quot;ペ&quot;,&quot;ブ&quot;,&quot;ピ&quot;,&quot;バ&quot;,_ &lt;BR&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;ヂ&quot;,&quot;ダ&quot;,&quot;ゾ&quot;,&quot;ゼ&quot;) &lt;BR&gt;E=array(&quot;Jn0;&quot;,&quot;Jn1;&quot;,&quot;Jn2;&quot;,&quot;Jn3;&quot;,&quot;Jn4;&quot;,&quot;Jn5;&quot;,&quot;Jn6;&quot;,&quot;Jn7;&quot;,&quot;Jn8;&quot;,&quot;Jn9;&quot;,&quot;Jn10;&quot;,&quot;Jn11;&quot;,&quot;Jn12;&quot;,&quot;Jn13;&quot;,&quot;Jn14;&quot;,&quot;Jn15;&quot;,&quot;Jn16;&quot;,&quot;Jn17;&quot;,&quot;Jn18;&quot;,&quot;Jn19;&quot;,&quot;Jn20;&quot;,&quot;Jn21;&quot;,&quot;Jn22;&quot;,&quot;Jn23;&quot;,&quot;Jn24;&quot;,&quot;Jn25;&quot;) &lt;BR&gt;&amp;nbsp;&amp;nbsp;F=array(chr(-23116),chr(-23124),chr(-23122),chr(-23120),_ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;chr(-23118),chr(-23114),chr(-23112),chr(-23110),_ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;chr(-23099),chr(-23097),chr(-23095),chr(-23075),_ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;chr(-23079),chr(-23081),chr(-23085),chr(-23087),_ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;chr(-23052),chr(-23076),chr(-23078),chr(-23082),_ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;chr(-23084),chr(-23088),chr(-23102),chr(-23104),_ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;chr(-23106),chr(-23108)) &lt;BR&gt;&amp;nbsp;&amp;nbsp;Juncode=iStr &lt;BR&gt;for&amp;nbsp;i=0&amp;nbsp;to&amp;nbsp;25 &lt;BR&gt;&amp;nbsp;&amp;nbsp;Juncode=replace(Juncode,E(i),F(i))'□ &lt;BR&gt;next &lt;BR&gt;End&amp;nbsp;Function &lt;BR&gt;注意,如果直接使用字符不方便(windows还没装日文支持),注释掉的部分提供有&amp;nbsp;chr(-23804)&amp;nbsp;..这样的定义 &lt;BR&gt;这样 &lt;BR&gt;1. &lt;BR&gt;表单输入保存时,使用Jencode()将这26个字符先编码再保存(为什么是这26个字符,经过全部测试87个平假名89个片假名最终认定的) &lt;BR&gt;如 &lt;BR&gt;ゴ&amp;nbsp;即&amp;nbsp;chr(-23116)&amp;nbsp;编码为&amp;nbsp;Jn1; &lt;BR&gt;2. &lt;BR&gt;显示时,则使用&amp;nbsp;Juncode()&amp;nbsp;函数进行解码,还原日文片假名显示 &lt;BR&gt;3. &lt;BR&gt;搜索关键字,也要使用&amp;nbsp;Jencode()&amp;nbsp;进行编码后再放入&amp;nbsp;like里 &lt;BR&gt;where&amp;nbsp;[Topic]&amp;nbsp;like&amp;nbsp;'%Jencode(kewwords)%'&amp;nbsp;使用 &lt;BR&gt;才能保证搜索的值和编码过的数据库字段内容匹配。&lt;/P&gt;</description>
       </item>
       <item>
           <title>[ASP.net]如何实现小型WEB搜索引擎(C#+SQL Server全文检索+Asp.net)</title>
           <link>http://www.yici.net/content/text_all/text_0/592_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP.net</category>
           <pubDate>2009-9-2 8:42:05</pubDate>
           <comments></comments>
           <description>华中师范大学信息技术系&amp;nbsp;SunJoy&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&lt;BR&gt;1&amp;nbsp;引言 &lt;BR&gt;&lt;BR&gt;21世纪，中国互联网搜索引擎领域可谓群雄逐鹿，百度、Yahoo、中搜、搜狗等等都使出浑身解数吸引着网民的眼球。这些大网站可谓是各有所长，总的来说虽然他们搜索功能都很强，但是搜索得到的结果基本上是千篇一律，信息的冗余量很大，网民不得不在一次又一次的翻页中浪费时间，或者为了想出一个好的关键词而绞尽脑汁。要是有一个有针对性的搜索引擎就好了，并且这个针对性应该是可以控制的。 &lt;BR&gt;&lt;BR&gt;2&amp;nbsp;SOSO的由来 &lt;BR&gt;&lt;BR&gt;笔者在上网搜索的过程中曾有这样痛苦的经历。由于笔者爱好编程，经常需要上网查找技术资料。但是搜到的结果往往是来自一些不起眼的小网站，它们主要是转载CSDN，赛迪网等一些技术大站上的文档，可恶的是，这些小网站常常转载不全，广告成堆，乱弹窗口，更有甚者还有病毒、木马等防不胜防。笔者当时想，如果有一个“IT技术文档搜索引擎”就好了，可惜没有，于是就自己动手做吧。我把CSDN、IT168、赛迪网等IT技术网站存储在“被搜网站库”中，按一定的周期启动Spider（蜘蛛）程序（Spider的原理后面讲），Spider搜到的结果按一定格式暂时存在硬盘上，然后由Carrier（搬运工）程序异步转存到数据库中，再利用SQL&amp;nbsp;Server强大的全文检索（不是用Like语句J）结合Asp.net做出查询界面，这便有了SOSO的原型。由于SOSO只搜特定的网站，数量少，因此数据更新的速度更快，而且由于事先对网站就有了筛选，搜到的结果质量也比较高，比用大型搜索引擎有更好的用户体验。后来笔者想起校网络中心的老师曾提议做一个专门搜索华师校内所有网站信息的搜索引擎，便做了Scanner程序，它的功能是检索出给定的IP范围内所有的网站，并把这些网站的主要信息存入“被搜网站库”。于是便有了“华师人自己的WEB搜索引擎------MySOSO”,网址http://it.ccnu.edu.cn/mysoso。网站推出后受到了同学们的好评，校领导也曾在校网络建设工作会议上点名表扬。有个同学说：“以前想查一下校学生会主席的资料，用Google和Baidu搜到的结果都不理想，因为重名的太多了。有了MySOSO就好多了，搜到网页也都是来源于校内各大网站，真实可靠。” &lt;BR&gt;&lt;BR&gt;3&amp;nbsp;SOSO的技术说明 &lt;BR&gt;&lt;BR&gt;3.1&amp;nbsp;SOSO的工作环境 &lt;BR&gt;&lt;BR&gt;软件环境：Windows平台（推荐Win2000,Win2003&amp;nbsp;Server）＋.NET1.1&amp;nbsp;Framework&amp;nbsp;＋&amp;nbsp;SQL&amp;nbsp;Server&amp;nbsp;2000。硬件环境：服务器一台，配置越高越好。当然有多台服务器更好，这样Spider可以并行地在多台机器上跑。 &lt;BR&gt;&lt;BR&gt;3.2&amp;nbsp;SOSO的基本原理 &lt;BR&gt;&lt;BR&gt;SOSO主要由五部分组成，数据库＋WebScanner＋WebSpider+Carrier＋Asp.net网站。 &lt;BR&gt;&lt;BR&gt;数据库主要有三张表：被搜网站表，网页表，关键词表。被搜网站表存放着Spider要去访问的网站的网址及其他基本信息，网页表存放搜到的网页的基本信息，关键词表记录用户检索过的关键词及其频率。数据库里还存放着一些存储过程，以供其它模块调用。此外，因为用到了SQL&amp;nbsp;Server的全文检索功能，还要创建索引文件。 &lt;BR&gt;&lt;BR&gt;WebScanner是一个用C#编写的基于Console的应用程序，它的作用是扫描一定IP范围的所有网站的基本信息，并将其存入数据库。由于采用了多线程技术，扫描是比较快的。经测试，扫描华师的IP范围202.114.32.1~202.114.47.255，得到89个网站只用了45秒。 &lt;BR&gt;&lt;BR&gt;WebSpider是一个用C#编写的基于Console的应用程序，它的作用是访问数据库中给出的网站，并把网站的网页抓取下来，抓取的原理是利用正则表达式（可以适应各种网页），笔记经心设计了一个WebPage类，它可获取给定网址的网页的所有链接、站内链接，链接文字、纯文本、网页大小、标题等等一系列信息。获得的网页信息数据放入内存中的一个全局数据队列结构，而全局数据队列每隔一定周期被序列化后以文件的形式存于硬盘上，并将自身清空。WebSpider的内部采用了多线程技术，每个线程维护自己的广度优先遍历队列，因此速度非常快，经华师校内测试，每分钟平均抓取1,050张网页。此外，还可以在配置文件中设定Spider的同时最大并发线程、线程生存周期、搜索深度、数据序列化周期、特定网站过滤等参数。 &lt;BR&gt;&lt;BR&gt;Carrier是个批处理文件，它的作用是把WebSpider输出的序列化的数据从硬盘“搬”到数据库中。那么为什么WebSpider不直接把数据插到数据库里面呢？因为SQL&amp;nbsp;Server在接收大量数据插入请求时，效率会下降，前台Asp.net网站的查询效率就会下降，查询时间变长。因此笔者在设计时采用了异步模式，WebSpider只负责收集数据，Carrier来负责数据插入数据库，这样通过合理的时间调度就可以避免瓶颈的出现。这种异步工作模式在有多台计算机运行WebSpider时优势将更加明显。 &lt;BR&gt;&lt;BR&gt;搜索网站是用Asp.net开发的，基本原理相信做过网站的人都知道。SOSO的亮点体现在三个地方。首先是对关键词分词的处理。由于笔者对这方面的算法研究不深，因此用了Split()加上SQL&amp;nbsp;Server的FreeText功能实现了模糊查询。基本原理是这样的，比如说，当用户查询“刘德华天王&amp;nbsp;&amp;nbsp;mp3”时，首先以与逻辑即contains“刘德华天王&amp;nbsp;and&amp;nbsp;mp3”进行查询，如果无记录，则用或逻辑查询即contains“刘德华天王&amp;nbsp;or&amp;nbsp;&amp;nbsp;mp3”。如果还是无记录，则用SQL&amp;nbsp;Server的FreeText进行分词，可能返回匹配“刘德华”,“天王”,”mp3”当中任意一个词的记录，并且按照相关度的高低排序。其次，此网站的分页算法采用了“按需索取”的原则，即每次只从数据库中读取第m条到第m+pagesize-1条数据，因此查询速度还是比较可观的。关键词着色上也做了一些小技巧，以前被搜过的关键词的着色正则式会被预编译存在Application全局变量中，因此其它人再搜这个词时速度就很快了。最后要提一下网页右边那一栏，目前放的是校内新闻，它本质上是读取了一个RSS源并显示出来。这个RSS源是我做个另一个系统，它收集本校五大门户网站的新闻并以xml的形式显示。 &lt;BR&gt;&lt;BR&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]ASP Randomize</title>
           <link>http://www.yici.net/content/text_all/text_0/586_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2009-8-16 11:20:30</pubDate>
           <comments></comments>
           <description>&lt;STRONG&gt;Randomize&lt;/STRONG&gt;&lt;BR&gt;初始化随机数生成器。&lt;BR&gt;&lt;BR&gt;Randomize [number]&lt;BR&gt;&lt;BR&gt;number 参数可以是任何有效的数值表达式。&lt;BR&gt;&lt;BR&gt;说明&lt;BR&gt;Randomize 使用 number 参数初始化 Rnd 函数的随机数生成器，赋给它新的种子值。如果省略 number，则使用系统计时器返回的值作为新的种子值。&lt;BR&gt;&lt;BR&gt;如果不使用 Randomize，则第一次调用 Rnd 函数（无参数）时，它将使用相同的数字作为种子值，随后使用最后生成的数值作为种子值。&lt;BR&gt;&lt;BR&gt;注意 要重复随机数的序列，请在使用数值参数调用 Randomize 之前，立即用负值参数调用 Rnd。使用相同的 number 值的 Randomize 不能重复先前的随机数序列。&lt;BR&gt;&lt;BR&gt;下面例子举例说明如何使用 Randomize 语句: &lt;BR&gt;&lt;BR&gt;
&lt;DIV class=UBBPanel&gt;
&lt;DIV class=UBBTitle&gt;&lt;STRONG&gt;例如：&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV class=UBBContent&gt;Dim MyValue, Response&lt;BR&gt;Randomize '初始化随机数生成器。&lt;BR&gt;Do Until Response = vbNo&lt;BR&gt;&amp;nbsp;&amp;nbsp; MyValue = Int((6 * Rnd) + 1)' 产生 1 到 6 之间的随机数。&lt;BR&gt;&amp;nbsp;&amp;nbsp; MsgBox MyValue&lt;BR&gt;&amp;nbsp;&amp;nbsp; Response = MsgBox (&quot;Roll again? &quot;, vbYesNo)&lt;BR&gt;Loop&lt;/DIV&gt;&lt;/DIV&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Rnd 函数&lt;/STRONG&gt;&lt;BR&gt;返回一个随机数。&lt;BR&gt;&lt;BR&gt;Rnd[(number)]&lt;BR&gt;&lt;BR&gt;number 参数可以是任意有效的数值表达式。&lt;BR&gt;&lt;BR&gt;说明&lt;BR&gt;Rnd 函数返回一个小于 1 但大于或等于 0 的值。number 的值决定了 Rnd 生成随机数的方式：&lt;BR&gt;&lt;BR&gt;如果 number 为 Rnd 生成 &lt;BR&gt;小于零 每次都相同的值，使用 number 作为种子。 &lt;BR&gt;大于零 序列中的下一个随机数。 &lt;BR&gt;等于零 最近生成的数。 &lt;BR&gt;省略 序列中的下一个随机数。 &lt;BR&gt;&lt;BR&gt;因每一次连续调用 Rnd 函数时都用序列中的前一个数作为下一个数的种子，所以对于任何最初给定的种子都会生成相同的数列。&lt;BR&gt;&lt;BR&gt;在调用 Rnd 之前，先使用无参数的 Randomize 语句初始化随机数生成器，该生成器具有基于系统计时器的种子。&lt;BR&gt;&lt;BR&gt;要产生指定范围的随机整数，请使用以下公式： &lt;BR&gt;&lt;BR&gt;&lt;FONT color=#ff0000&gt;&lt;STRONG&gt;Int((upperbound - lowerbound + 1) * Rnd + lowerbound)&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;STRONG&gt;这里， upperbound 是此范围的上界，而 lowerbound 是此范围内的下界。&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;注意 要重复随机数的序列，请在使用数值参数调用 Randomize 之前，立即用负值参数调用 Rnd。使用同样 number 值的 Randomize 不能重复先前的随机数序列。&lt;BR&gt;&lt;BR&gt;以前看过这方面的内容，今天又一次见到了，所以就总结一下，以后还要用呢！&lt;BR&gt;&lt;BR&gt;下面给出一个实例来说明Randomize的用途：&lt;BR&gt;
&lt;H1&gt;&lt;FONT size=3&gt;&lt;STRONG&gt;解决防止表单重复提交的方法&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H1&gt;表单文件formtest.asp&lt;BR&gt;&lt;BR&gt;&amp;lt;%&lt;BR&gt;Randomize　'初始代随机数种子&lt;BR&gt;num1=rnd() '产生随机数num1&lt;BR&gt;num1=int(26*num1)+65　'修改num1的范围以使其是A-Z范围的Ascii码，以防表单名出错&lt;BR&gt;session(&quot;antry&quot;)=&quot;test&quot;&amp;amp;chr(num1)　'产生随机字符串&lt;BR&gt;%&amp;gt;&lt;BR&gt;&amp;lt;form name=&quot;test&quot; action=&quot;testact.asp&quot; method=&quot;post&quot;&amp;gt;&lt;BR&gt;你的名字：&amp;lt;input type='text' name='' size=30&amp;gt;　 '注意本行中使用了随机表单项名&lt;BR&gt;&amp;lt;input type='submit' value='提交'&amp;gt;&lt;BR&gt;&amp;lt;/form&amp;gt;&lt;BR&gt;&lt;BR&gt;表单处理程序testact.asp&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp; &amp;lt;%&lt;BR&gt;teststr=request.form(session(&quot;antry&quot;))&lt;BR&gt;if teststr=&quot;&quot; then&lt;BR&gt;response.write &quot;没有填写姓名或重复提交&quot;&lt;BR&gt;'由于用户没有填写名字，或表单被重复提交(标志为session(&quot;antry&quot;)为空)引起&lt;BR&gt;else&lt;BR&gt;response.write teststr&lt;BR&gt;session(&quot;antry&quot;)=&quot;&quot;　　'提交成功，清空session(&quot;antry&quot;)，以防重复提交！！&lt;BR&gt;end if&lt;BR&gt;%&amp;gt;&lt;BR&gt;&lt;BR&gt;在这里，你只需随机化一个必填项目的表单项名即可，不必随机化所有的表单项目。</description>
       </item>
       <item>
           <title>[ASP/shtml]无需模板 ASP+FSO生成静态HTML页</title>
           <link>http://www.yici.net/content/text_all/text_0/561_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2009-3-6 22:09:33</pubDate>
           <comments></comments>
           <description>FSO生成静态HTML文件的时候替换模板标签一直是一个很麻烦的问题，至少我是这么认为的，还要别外做一个模板，麻烦！，我今天看见有一个方法可以解决这个问题 &lt;BR&gt;&lt;BR&gt;如一个正常的index.asp页面，并且用ASP代码调出数据库中的内容，另建一个makehtml.asp的页面，加入一个textarea域，假设为name=&quot;body&quot;，将index.asp在textarea里调出来，如：&amp;nbsp;&lt;BR&gt;&lt;BR&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#f3f3f3&gt;&lt;FONT style=&quot;FONT-WEIGHT: bold; COLOR: #990000&quot;&gt;以下是引用片段：&lt;/FONT&gt;&lt;BR&gt;&lt;BR&gt;&amp;lt;textarea&amp;nbsp;name=&quot;body&quot;&amp;gt;&amp;lt;!--#include&amp;nbsp;file=&quot;index.asp&quot;--&amp;gt;&amp;lt;/textarea&amp;gt;，将这个textarea包含在表单中，在接收表单页用创建FSO对象，如下生成index.html文件！ &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&lt;BR&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#f3f3f3&gt;&lt;FONT style=&quot;FONT-WEIGHT: bold; COLOR: #990000&quot;&gt;以下是引用片段：&lt;/FONT&gt;&lt;BR&gt;&lt;BR&gt;&amp;lt;% &lt;BR&gt;filename=&quot;../index.html&quot; &lt;BR&gt;if&amp;nbsp;request(&quot;body&quot;)&amp;lt;&amp;gt;&quot;&quot;&amp;nbsp;then &lt;BR&gt;set&amp;nbsp;fso&amp;nbsp;=&amp;nbsp;Server.CreateObject(&quot;Scripting.FileSystemObject&quot;) &lt;BR&gt;set&amp;nbsp;fout&amp;nbsp;=&amp;nbsp;fso.CreateTextFile(server.mappath(&quot;&quot;&amp;amp;filename&amp;amp;&quot;&quot;)) &lt;BR&gt;fout.write&amp;nbsp;request.form(&quot;body&quot;) &lt;BR&gt;fout.close &lt;BR&gt;set&amp;nbsp;fout=nothing &lt;BR&gt;set&amp;nbsp;fso=nothing &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;%&amp;gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&amp;nbsp;这样index.html文件就生成了，连模板都用不着，只要将正常情况下使用的ASP文件读取到textarea里就可以了，目前尚未发现问题！当然前提是服务器要支持FSO. &lt;BR&gt;&lt;BR&gt;</description>
       </item>
       <item>
           <title>[ASP.net]ASP.Net是什么 兼容ASP但是性能更加优越</title>
           <link>http://www.yici.net/content/text_all/text_0/559_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP.net</category>
           <pubDate>2009-3-6 9:13:44</pubDate>
           <comments></comments>
           <description>&lt;P&gt;&lt;STRONG&gt;1 ASP.Net是什么？&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;ASP.Net是建立在微软新一代.Net平台架构上，利用普通语言运行时（Common Language Runtime）在服务器后端为用户提供建立强大的企业级Web应用服务的编程框架。&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;2．ASP.Net与ASP的联系和主要区别是什么？&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;ASP.Net与现存的ASP保持语法兼容，实际上我们可将现有的ASP源码文件扩展名“.asp”改为“.aspx”，然后配置在支持ASP.Net运行时的IIS服务器的Web目录下，即可获得ASP.Net运行时的全部优越性能。&lt;/P&gt;
&lt;P&gt;ASP.Net 与ASP的主要区别在于前者是编译（Compile）执行，而后者是解释（Interpret）执行，前者比后者有更高的效率。实际上我们可以把 ASP.Net的执行过程看做是编译后的普通语言运行时代码充当一个和前端浏览器和中间件用户交互的应用程序，它接受用户的请求，输出HTML流到客户端显示。除此之外，ASP.Net还可以利用.Net平台架构的诸多优越性能，如类型安全，对XML，SOAP， WSDL等Internet标准的强健支持。&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;3．目前ASP.Net的开发语言有那些？&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;目前ASP.Net的开发语言有三种语言，C#，Visual Basic.Net和JScrip.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;4.ASP.Net的主要优点有哪些？&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;ASP.Net 可完全利用.Net架构的强大，安全，高效的平台特性。ASP.Net是运行在服务器后端编译后的普通语言运行时代码，运行时早绑定（Early Binding），即时编译，本地优化，缓存服务，零安装配置，基于运行时代码受管与验证的安全机制等都为ASP.Net带来卓越的性能。&lt;/P&gt;
&lt;P&gt;对XML，SOAP，WSDL等Internet标准的强健支持为ASP.Net在异构网络里提供了强大的扩展性。&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;5．ASP.Net主要包括哪些内容？&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;ASP.Net主要包括WebForm和WebService两种编程模型。前者为用户提供建立功能强大，外观丰富的基于表单（Form）的可编程&lt;/P&gt;
&lt;P&gt;Web页面。后者通过对HTTP，XML，SOAP，WSDL等Internet标准的支持提供在异构网络环境下获取远程服务，连接远程设备，交互远程应用的编程界面。&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;6．HTML Server Control和Web Server Control有什么联系和区别？&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;HTML Server Control是为了和传统ASP保持兼容而开发的一类基于HTML静态页面的控件（如文本框，按钮），它们与这些控件一一对应，它们位于命名空间System.Web.UI.HtmlControls里。&lt;/P&gt;
&lt;P&gt;Web Server Control 是专为下一代基于组件开发的.Net平台架构而量身定做的，它不仅包括具有传统HTML静态页面的控件等Web Server Control，它还包括有AdRotator，XML等功能强大的组件，更重要的是它为用户开发Web Server Control组件提供了强大，易用的技术底层支持。这将成为下一阶段ASP.Net开发的热点。它们位于命名空间 System.Web.UI.WebControls里。&lt;/P&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]XMLHTTP使用方法参考资料</title>
           <link>http://www.yici.net/content/text_all/text_0/558_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2009-3-4 22:40:00</pubDate>
           <comments></comments>
           <description>&lt;P&gt;XMLHTTP对象及其方法&lt;BR&gt;－－－－－－－－－－－－－－－－－－&lt;BR&gt;MSXML中提供了Microsoft.XMLHTTP对象，能够完成从数据包到Request对象的转换以及发送任务。 &lt;BR&gt;创建XMLHTTP对象的语句如下： &lt;BR&gt;Set objXML = CreateObject(&quot;Msxml2.XMLHTTP&quot;) 或&lt;BR&gt;Set objXML = CreateObject(“Microsoft.XMLHTTP”)&lt;BR&gt;' Or, for version 3.0 of XMLHTTP, use:&lt;BR&gt;' Set xml = Server.CreateObject(&quot;MSXML2.ServerXMLHTTP&quot;)&lt;BR&gt;对象创建后调用Open方法对Request对象进行初始化，语法格式为： &lt;BR&gt;poster.open http-method, url, async, userID, password &lt;BR&gt;Open方法中包含了5个参数，前三个是必要的，后两个是可选的(在服务器需要进行身份验证时提供)。参数的含义如下所示：&amp;nbsp; &lt;BR&gt;http-method： HTTP的通信方式，比如GET或是 POST &lt;BR&gt;url： 接收XML数据的服务器的URL地址。通常在URL中要指明 ASP或CGI程序 &lt;BR&gt;async： 一个布尔标识，说明请求是否为异步的。如果是异步通信方式(true)，客户机就不等待服务器的响应；如果是同步方式(false)，客户机就要等到服务器返回消息后才去执行其他操作 &lt;BR&gt;userID 用户ID，用于服务器身份验证 &lt;BR&gt;password 用户密码，用于服务器身份验证 &lt;BR&gt;XMLHTTP对象的Send方法 &lt;BR&gt;用Open方法对Request对象进行初始化后，调用Send方法发送XML数据： &lt;BR&gt;poster.send XML-data &lt;BR&gt;Send方法的参数类型是Variant，可以是字符串、DOM树或任意数据流。发送数据的方式分为同步和异步两种。在异步方式下，数据包一旦发送完毕，就结束Send进程，客户机执行其他的操作；而在同步方式下，客户机要等到服务器返回确认消息后才结束Send进程。 &lt;BR&gt;XMLHTTP对象中的readyState属性能够反映出服务器在处理请求时的进展状况。客户机的程序可以根据这个状态信息设置相应的事件处理方法。属性值及其含义如下表所示： &lt;BR&gt;值 说明 &lt;BR&gt;0 Response对象已经创建，但XML文档上载过程尚未结束 &lt;BR&gt;1 XML文档已经装载完毕 &lt;BR&gt;2 XML文档已经装载完毕，正在处理中 &lt;BR&gt;3 部分XML文档已经解析 &lt;BR&gt;4 文档已经解析完毕，客户端可以接受返回消息&lt;BR&gt;客户机处理响应信息 &lt;BR&gt;客户机接收到返回消息后，进行简单的处理，基本上就完成了C/S之间的一个交互周期。客户机接收响应是通过XMLHTTP对象的属性实现的： &lt;BR&gt;● responseTxt：将返回消息作为文本字符串； &lt;BR&gt;● responseXML：将返回消息视为XML文档，在服务器响应消息中含有XML数据时使用； &lt;BR&gt;● responseStream：将返回消息视为Stream对象。&lt;BR&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;下面的xml文件是动态生成的最后用xmlHTTP传送出去，这是一个在客户端JavaScript脚本里的内容，当然你也可以写在服务器，但是要相应的改一些东西：（仅供大家参考，了解它的用法）&lt;BR&gt;var xmlDoc=new ActiveXObject(&quot;MSXML2.DOMDocument&quot;);&lt;BR&gt;flag=xmlDoc.loadXML(&quot;&quot;);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; newNode =xmlDoc.createElement(&quot;编码&quot;)&lt;BR&gt;&amp;nbsp; MarkNode=xmlDoc.documentElement.appendChild(newNode);&lt;BR&gt;&amp;nbsp; newNode =xmlDoc.createElement(&quot;StartMark&quot;)&lt;BR&gt;&amp;nbsp; newNode.text=StartMark;&lt;BR&gt;&amp;nbsp; MarkNode.appendChild(newNode)&lt;BR&gt;&amp;nbsp; newNode =xmlDoc.createElement(&quot;EndMark&quot;)&lt;BR&gt;&amp;nbsp; newNode.text=EndMark;&lt;BR&gt;&amp;nbsp; MarkNode.appendChild(newNode)&lt;BR&gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp; newNode =xmlDoc.createElement(&quot;日期&quot;)&lt;BR&gt;&amp;nbsp; DateNode=xmlDoc.documentElement.appendChild(newNode);&lt;BR&gt;&amp;nbsp; newNode =xmlDoc.createElement(&quot;StartDate&quot;);&lt;BR&gt;&amp;nbsp; newNode.text=StartDate;&lt;BR&gt;&amp;nbsp; DateNode.appendChild(newNode)&lt;BR&gt;&amp;nbsp; newNode =xmlDoc.createElement(&quot;EndDate&quot;)&lt;BR&gt;&amp;nbsp; newNode.text=EndDate;&lt;BR&gt;&amp;nbsp; DateNode.appendChild(newNode);&lt;BR&gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp; newNode =xmlDoc.createElement(&quot;数量&quot;)&lt;BR&gt;&amp;nbsp; SLNode =xmlDoc.documentElement.appendChild(newNode);&lt;BR&gt;&amp;nbsp; newNode =xmlDoc.createElement(&quot;StartSL&quot;)&lt;BR&gt;&amp;nbsp; newNode.text=StartShuL &lt;BR&gt;&amp;nbsp; SLNode.appendChild(newNode)&lt;BR&gt;&amp;nbsp; newNode =xmlDoc.createElement(&quot;EndSL&quot;);&lt;BR&gt;&amp;nbsp; newNode.text=EndShuL&lt;BR&gt;&amp;nbsp; SLNode.appendChild(newNode);&lt;BR&gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp; newNode =xmlDoc.createElement(&quot;单价&quot;)&lt;BR&gt;&amp;nbsp; DJNode =xmlDoc.documentElement.appendChild(newNode)&lt;BR&gt;&amp;nbsp; newNode =xmlDoc.createElement(&quot;StartDJ&quot;)&lt;BR&gt;&amp;nbsp; newNode.text=StartDanJ;&lt;BR&gt;&amp;nbsp; DJNode.appendChild(newNode);&lt;BR&gt;&amp;nbsp; newNode =xmlDoc.createElement(&quot;EndDJ&quot;)&lt;BR&gt;&amp;nbsp; newNode.text=EndDanJ;&lt;BR&gt;&amp;nbsp; DJNode.appendChild(newNode);&lt;BR&gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp; newNode =xmlDoc.createElement(&quot;金额&quot;)&lt;BR&gt;&amp;nbsp; JENode =xmlDoc.documentElement.appendChild(newNode)&lt;BR&gt;&amp;nbsp; newNode =xmlDoc.createElement(&quot;StartJE&quot;)&lt;BR&gt;&amp;nbsp; newNode.text=StartJinE&lt;BR&gt;&amp;nbsp; JENode.appendChild(newNode)&lt;BR&gt;&amp;nbsp; newNode =xmlDoc.createElement(&quot;EndJE&quot;)&lt;BR&gt;&amp;nbsp; newNode.text=EndJinE&lt;BR&gt;&amp;nbsp; JENode.appendChild(newNode)&lt;BR&gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp; newNode =xmlDoc.createElement(&quot;仓库代码&quot;)&lt;BR&gt;&amp;nbsp; newNode.text=CK;&lt;BR&gt;&amp;nbsp; xmlDoc.documentElement.appendChild(newNode)&lt;BR&gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp; newNode =xmlDoc.createElement(&quot;票号&quot;)&lt;BR&gt;&amp;nbsp; newNode.text=RKPH;&lt;BR&gt;&amp;nbsp; xmlDoc.documentElement.appendChild(newNode)&lt;BR&gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp; newNode =xmlDoc.createElement(&quot;单位代码&quot;)&lt;BR&gt;&amp;nbsp; newNode.text=CorpName;&lt;BR&gt;&amp;nbsp; xmlDoc.documentElement.appendChild(newNode)&lt;BR&gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp; newNode =xmlDoc.createElement(&quot;BiaoShi&quot;)&lt;BR&gt;&amp;nbsp; newNode.text=Biaoshi&lt;BR&gt;&amp;nbsp; xmlDoc.documentElement.appendChild(newNode)&lt;BR&gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp; newNode =xmlDoc.createElement(&quot;FindCate&quot;)&lt;BR&gt;&amp;nbsp; newNode.text=FindCate&lt;BR&gt;&amp;nbsp; xmlDoc.documentElement.appendChild(newNode)&lt;BR&gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp; var xh =new ActiveXObject(&quot;MSXML2.XMLHTTP&quot;)&lt;BR&gt;&amp;nbsp; xh.open(&quot;POST&quot;,&quot;Find.asp&quot;,false)&lt;BR&gt;&amp;nbsp; xh.setRequestHeader(&quot;Content-Type&quot;,&quot;text/xml&quot;)&lt;BR&gt;&amp;nbsp; xh.setRequestHeader(&quot;Content-Type&quot;,&quot;gb2312&quot;)&lt;BR&gt;&amp;nbsp; xh.send(xmlDoc);&lt;BR&gt;我的每一个newNode的text值是一个变量，也就是我客户端form 中input的值．&lt;/P&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]Win2003下Microsoft.XMLHTTP出错，无法执行、无提示的解决</title>
           <link>http://www.yici.net/content/text_all/text_0/555_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2009-3-4 18:18:50</pubDate>
           <comments></comments>
           <description>&lt;TABLE style=&quot;BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted&quot; cellSpacing=0 cellPadding=6 width=&quot;95%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;WORD-WRAP: break-word&quot; bgColor=#f3f3f3&gt;报如下错误: &amp;nbsp; &lt;BR&gt;&amp;nbsp; msxml3.dll &amp;nbsp; 错误 &amp;nbsp; '800c0005' &amp;nbsp; &amp;nbsp; &lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;BR&gt;&amp;nbsp; 系统未找到指定的资源。 &amp;nbsp; &amp;nbsp; &lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;BR&gt;&amp;nbsp; /student/asp/CheckID_jg.asp，行 &amp;nbsp; 53 &amp;nbsp; &amp;nbsp; &lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;BR&gt;&amp;nbsp; 代码是: &amp;nbsp; &lt;BR&gt;&amp;nbsp; Url= &amp;nbsp; &quot;http://127.0.0.1/hfut/save_confirm.php?id=&quot; &amp;nbsp; &amp;amp;Id&amp;amp; &amp;nbsp; &quot;&amp;amp;zjhm=&quot; &amp;nbsp; &amp;amp;zjhm&amp;amp; &amp;nbsp; &quot;&amp;amp;zjlx=0 &amp;nbsp; &amp;amp;changepass=&quot; &amp;nbsp; &amp;amp;changepass &amp;nbsp; &lt;BR&gt;&amp;nbsp; set &amp;nbsp; oSend=Server.CreateObject(&quot;Microsoft.XMLHTTP&quot;) &amp;nbsp; &lt;BR&gt;&amp;nbsp; SourceCode &amp;nbsp; = &amp;nbsp; oSend.open &amp;nbsp; (&quot;GET&quot;,Url,false) &amp;nbsp; &lt;BR&gt;&amp;nbsp; oSend.send() &amp;nbsp; &lt;BR&gt;&amp;nbsp; SourceCode &amp;nbsp; = &amp;nbsp; bytes2BSTR(oSend.responseBody) &amp;nbsp; &lt;BR&gt;&amp;nbsp; Response.Write &amp;nbsp; SourceCode &amp;nbsp; &lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;BR&gt;&amp;nbsp; 报第四行错 &amp;nbsp; oSend.send() &amp;nbsp; &lt;BR&gt;&amp;nbsp; 原来在win2000下正常,现在用win2003,请问是什么错,如何解决? &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;在运用xmlhttp组件编写程序中，会碰到&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;msxml3.dll&amp;nbsp;&amp;nbsp;&amp;nbsp;错误&amp;nbsp;&amp;nbsp;&amp;nbsp;‘800c0005’&amp;nbsp;&amp;nbsp;&amp;nbsp;系统未找到指定的资源。&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;这种错误，网上对这种错误的产生原因有很多钟解释，大体说是因为防火墙或UDP站口权限造成了，也说了相应的解决办法。其它有时候也未必。其实错误的描述中就说出了主要的原因&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;系统未找到指定的资源&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;。这种错误都是出现在调用了&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlhttp&amp;nbsp;&amp;nbsp;&amp;nbsp;组件的&amp;nbsp;&amp;nbsp;&amp;nbsp;Open方法，接着再用Send方法后造成的。当open方法的的&amp;nbsp;&amp;nbsp;&amp;nbsp;url&amp;nbsp;&amp;nbsp;&amp;nbsp;参数无法访问时，就会造成&amp;nbsp;&amp;nbsp;&amp;nbsp;8000005&amp;nbsp;&amp;nbsp;&amp;nbsp;错误。并且一旦产生这种错误，就会导致应用程序终止，无法继续操作。大多说的程序是这样写的:&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;Function&amp;nbsp;&amp;nbsp;&amp;nbsp;functionName(pararm&amp;nbsp;&amp;nbsp;&amp;nbsp;...)&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;&amp;nbsp;&amp;nbsp;Http&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;&amp;nbsp;&amp;nbsp;Http=Server.CreateObject(&quot;MSXML2.XMLHTTP.4.0&quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;&amp;nbsp;&amp;nbsp;Http&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.open&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;GET&quot;,HttpUrl,False&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Send&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;&amp;nbsp;&amp;nbsp;Http.Readystate&amp;lt;&amp;gt;4&amp;nbsp;&amp;nbsp;&amp;nbsp;then&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;&amp;nbsp;&amp;nbsp;Http=Nothing&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;......&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;&amp;nbsp;&amp;nbsp;function&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;End&amp;nbsp;&amp;nbsp;&amp;nbsp;Function&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;大多数的程序都是运用xmlhttp的&amp;nbsp;&amp;nbsp;&amp;nbsp;Readystate&amp;nbsp;&amp;nbsp;&amp;nbsp;属性判断从服务器的返回状态。其实这样未必适合，很多时候用ReadyState&amp;nbsp;&amp;nbsp;&amp;nbsp;属性判断并不能真正检测到程序流程中的错误。当遇到错误的时候，仍然会致使程序终止。其实修改一下上面的代码，完全可以实现跳过程序执行过程中遇到的错误，使程序继续运行。修改代码如下:&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;Function&amp;nbsp;&amp;nbsp;&amp;nbsp;functionName(pararm&amp;nbsp;&amp;nbsp;&amp;nbsp;...)&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;&amp;nbsp;&amp;nbsp;Http&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;&amp;nbsp;&amp;nbsp;Http=Server.CreateObject(&quot;MSXML2.XMLHTTP.4.0&quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;&amp;nbsp;&amp;nbsp;Http&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.open&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;GET&quot;,HttpUrl,False&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Send&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;&amp;nbsp;&amp;nbsp;Error&amp;nbsp;&amp;nbsp;&amp;nbsp;Resume&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;&amp;nbsp;&amp;nbsp;Http.Status&amp;lt;&amp;gt;200&amp;nbsp;&amp;nbsp;&amp;nbsp;then&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;&amp;nbsp;&amp;nbsp;Http=Nothing&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;......&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;&amp;nbsp;&amp;nbsp;function&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;End&amp;nbsp;&amp;nbsp;&amp;nbsp;Function&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;Send&amp;nbsp;&amp;nbsp;&amp;nbsp;方法产生错误的时候，ReadyState的值或许为4，但Status的返回值就一定不是200的。呵呵，我经过多次跟踪ReadyState和Status的值得到以前结果。可能会有差错，目前我还没有发现。&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;希望以上程序解决方案能够帮到你!!如果朋友你有更好的解决方法，请一定告诉我哟。&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;我是以MSXML2.XMLHTTP.4.0为例说明的程序，也适合其它版本的XMLHTTP组件。想检查的你系统中已经安装了哪些版本的XMLHTTP组件，请到注册表的&amp;nbsp;&amp;nbsp;&amp;nbsp;HKEY_CLASSES_ROOT&amp;nbsp;&amp;nbsp;&amp;nbsp;下查找。&lt;/P&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]asp中将字符转换成变量使用</title>
           <link>http://www.yici.net/content/text_all/text_0/547_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2009-2-22 11:07:06</pubDate>
           <comments></comments>
           <description>&lt;FONT face=Verdana&gt;&lt;FONT face=Verdana&gt;asp中将字符转换成变量使用&lt;BR&gt;&lt;/FONT&gt;&amp;lt;%&lt;BR&gt;&amp;nbsp;abc=1&amp;nbsp;'变量abc&lt;BR&gt;&amp;nbsp;aaa=2 '变量aaa&lt;BR&gt;&amp;nbsp;response.write eval(&quot;abc&quot;)+eval(&quot;aaa&quot;) '这里的abc，aaa分别是两个字符串&lt;BR&gt;%&amp;gt;&lt;BR&gt;&lt;BR&gt;运行得到的结果是3&lt;/FONT&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]在ASP编程中使用数组</title>
           <link>http://www.yici.net/content/text_all/text_0/546_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2009-2-22 11:06:33</pubDate>
           <comments></comments>
           <description>在ASP编程中使用数组&amp;nbsp; &lt;BR&gt;数组的定义 &lt;BR&gt;Dim&amp;nbsp;MyArray &lt;BR&gt;MyArray&amp;nbsp;=&amp;nbsp;Array(1,5,123,12,98) &lt;BR&gt;&lt;BR&gt;可扩展数组 &lt;BR&gt;Dim&amp;nbsp;MyArray() &lt;BR&gt;for&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0&amp;nbsp;to&amp;nbsp;10 &lt;BR&gt;ReDim&amp;nbsp;Preserve&amp;nbsp;MyArray(i) &lt;BR&gt;MyArray(i)=i &lt;BR&gt;next &lt;BR&gt;&lt;BR&gt;将一个字符串分割并返回分割结果的数组 &lt;BR&gt;Dim&amp;nbsp;MyArray &lt;BR&gt;MyArray&amp;nbsp;=&amp;nbsp;Split(tempcnt,chr(13)&amp;amp;chr(10)) &lt;BR&gt;For&amp;nbsp;I&amp;nbsp;=&amp;nbsp;Lbound(MyArray)&amp;nbsp;to&amp;nbsp;Ubound(MyArray)&amp;nbsp; &lt;BR&gt;Response.Write&amp;nbsp;MyArray(I)&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;lt;br&amp;gt;&quot; &lt;BR&gt;Next &lt;BR&gt;&lt;BR&gt;数组排序函数 &lt;BR&gt;function..Sort(ary)&amp;nbsp; &lt;BR&gt;KeepChecking&amp;nbsp;=&amp;nbsp;TRUE&amp;nbsp; &lt;BR&gt;Do&amp;nbsp;Until&amp;nbsp;KeepChecking&amp;nbsp;=&amp;nbsp;FALSE&amp;nbsp; &lt;BR&gt;KeepChecking&amp;nbsp;=&amp;nbsp;FALSE&amp;nbsp; &lt;BR&gt;For&amp;nbsp;I&amp;nbsp;=&amp;nbsp;0&amp;nbsp;to&amp;nbsp;UBound(ary)&amp;nbsp; &lt;BR&gt;If&amp;nbsp;I&amp;nbsp;=&amp;nbsp;UBound(ary)&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;For&amp;nbsp; &lt;BR&gt;If&amp;nbsp;ary(I)&amp;nbsp;&amp;gt;&amp;nbsp;ary(I+1)&amp;nbsp;Then&amp;nbsp; &lt;BR&gt;FirstValue&amp;nbsp;=&amp;nbsp;ary(I)&amp;nbsp; &lt;BR&gt;SecondValue&amp;nbsp;=&amp;nbsp;ary(I+1)&amp;nbsp; &lt;BR&gt;ary(I)&amp;nbsp;=&amp;nbsp;SecondValue&amp;nbsp; &lt;BR&gt;ary(I+1)&amp;nbsp;=&amp;nbsp;FirstValue&amp;nbsp; &lt;BR&gt;KeepChecking&amp;nbsp;=&amp;nbsp;TRUE&amp;nbsp; &lt;BR&gt;End&amp;nbsp;If&amp;nbsp; &lt;BR&gt;Next&amp;nbsp; &lt;BR&gt;Loop&amp;nbsp; &lt;BR&gt;Sort&amp;nbsp;=&amp;nbsp;ary&amp;nbsp; &lt;BR&gt;End&amp;nbsp;function.. &lt;BR&gt;&lt;BR&gt;数组排序函数应用例子 &lt;BR&gt;Dim&amp;nbsp;MyArray&amp;nbsp; &lt;BR&gt;MyArray&amp;nbsp;=&amp;nbsp;Array(1,5,123,12,98) &lt;BR&gt;MyArray&amp;nbsp;=&amp;nbsp;Sort(MyArray)&amp;nbsp; &lt;BR&gt;For&amp;nbsp;I&amp;nbsp;=&amp;nbsp;Lbound(MyArray)&amp;nbsp;to&amp;nbsp;Ubound(MyArray)&amp;nbsp; &lt;BR&gt;Response.Write&amp;nbsp;MyArray(I)&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;lt;br&amp;gt;&quot; &lt;BR&gt;Next &lt;BR&gt;&lt;BR&gt;在Application和Session中使用数组 &lt;BR&gt;Application.Lock &lt;BR&gt;Application(&quot;StoredArray&quot;)&amp;nbsp;=&amp;nbsp;MyArray &lt;BR&gt;Application.Unlock &lt;BR&gt;&lt;BR&gt;LocalArray&amp;nbsp;=&amp;nbsp;Application(&quot;StoredArray&quot;) &lt;BR&gt;&lt;BR&gt;覆盖Application中的数组 &lt;BR&gt;Application.Lock &lt;BR&gt;Application(&quot;StoredArray&quot;)&amp;nbsp;=&amp;nbsp;LocalArray &lt;BR&gt;Application.Unlock &lt;BR&gt;&lt;BR&gt;Session使用方法与Application相同 &lt;BR&gt;&lt;BR&gt;从数据库中把数据导入数组中 &lt;BR&gt;Dim&amp;nbsp;MyArray &lt;BR&gt;取出全部记录 &lt;BR&gt;MyArray&amp;nbsp;=&amp;nbsp;RS.GetRows &lt;BR&gt;取出前10项记录 &lt;BR&gt;MyArray&amp;nbsp;=&amp;nbsp;RS.GetRows(10) &lt;BR&gt;&lt;BR&gt;For&amp;nbsp;row&amp;nbsp;=&amp;nbsp;0&amp;nbsp;To&amp;nbsp;UBound(MyArray,&amp;nbsp;2) &lt;BR&gt;For&amp;nbsp;col&amp;nbsp;=&amp;nbsp;0&amp;nbsp;To&amp;nbsp;UBound(MyArray,&amp;nbsp;1) &lt;BR&gt;Response.Write&amp;nbsp;(col,&amp;nbsp;row)&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;lt;br&amp;gt;&quot; &lt;BR&gt;Next &lt;BR&gt;Next &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;回复 &lt;BR&gt;-------------------------------------------------------------------------------- &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;.2.&amp;nbsp;有效的在asp中利用数组 &lt;BR&gt;admin(2006-3-22&amp;nbsp;7:57:28)&amp;nbsp;IP: &lt;BR&gt;一个数组是一个基本的数据结构，它是由跟随若干数字的变量组成，代替了声明10个变量来代表10个值的过程，你可以声明一个数组，并且把10个元素存入到这个数组中。 &lt;BR&gt;&lt;BR&gt;就像声明其他变量一样，数组需要与其大小相同大的内存，因此他们非常高效。在数组中为了获得一个特殊的变量，你需要参考它的索引。一个数组中正确的索引值是从0到(下标-1)，如果一个数组的大小是10，我们可以从0到9来索引元素。数组不是复杂的结构，记住，你可以像应用其他变量一样来应用数组中的变量，规则是一样的。 &lt;BR&gt;&lt;BR&gt;现在让我们看看如何定义一个数组，如何动态的更改数组的大小，一些有用的asp数组函数，在数组中如何查找元素和我们怎样在页面和页面之间传递数组。 &lt;BR&gt;&lt;BR&gt;............................................. &lt;BR&gt;&lt;BR&gt;定义一个简单的数组 &lt;BR&gt;&lt;BR&gt;有两种方法在asp中定义数组，让我们看看每种的例子： &lt;BR&gt;&lt;BR&gt;方法一： &lt;BR&gt;MyArray&amp;nbsp;=&amp;nbsp;Array(&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&amp;nbsp;&quot;Nov&quot;,&quot;Dec&quot;) &lt;BR&gt;&lt;BR&gt;方法二： &lt;BR&gt;Dim&amp;nbsp;myArray(2) &lt;BR&gt;&lt;BR&gt;myArray(0)=&quot;Jan&quot; &lt;BR&gt;myArray(1)=&quot;Feb&quot; &lt;BR&gt;&lt;BR&gt;在方法一中，我们用一行定义整个数组，这种方法在数组中有特殊的用途，如上面那样只存储一年中的12个月。 &lt;BR&gt;在方法二中，我们在多行中用单独的元素定义值，如果你想从纪录中将不同的值存入数组元素中，或者在一个循环中定义每一个元素的值，就要用到这种方法，例如： &lt;BR&gt;Dim&amp;nbsp;myArray(20) &lt;BR&gt;Dim&amp;nbsp;I &lt;BR&gt;&lt;BR&gt;For&amp;nbsp;I=0&amp;nbsp;to&amp;nbsp;20 &lt;BR&gt;Myarray(I)=&quot;This&amp;nbsp;is&amp;nbsp;message&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;I &lt;BR&gt;Next &lt;BR&gt;&lt;BR&gt;................................................................................................. &lt;BR&gt;&lt;BR&gt;动态改变数组的大小 &lt;BR&gt;&lt;BR&gt;现在让我们看看动态改变数组的大小。为什么你要做这个？举例说如果你不知道一个查询中有多少项目，但是你又想把这些数据存入到数组中，这时你将不能用上面的方法，除非你获得了数据的总数然后声明数组。为了避免这些，我们看看其中的方法： &lt;BR&gt;&lt;BR&gt;DIM&amp;nbsp;myArray() &lt;BR&gt;Dim&amp;nbsp;I &lt;BR&gt;&lt;BR&gt;REDIM&amp;nbsp;myArray(20)&amp;nbsp;'将数组重新定义为20维 &lt;BR&gt;&lt;BR&gt;For&amp;nbsp;I=0&amp;nbsp;to&amp;nbsp;20 &lt;BR&gt;MyArray(I)=&quot;This&amp;nbsp;is&amp;nbsp;item&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;I &lt;BR&gt;Next &lt;BR&gt;&lt;BR&gt;在上面的例子中，声明数组没有包含任何的数字项目，它的作用是告诉asp有一个数组被声明了，然后我们用REDIM语句来重新定义数组有20维，并且向其中存入数据。 &lt;BR&gt;&lt;BR&gt;................................................................................................. &lt;BR&gt;&lt;BR&gt;有用的数组函数 &lt;BR&gt;&lt;BR&gt;Ubound(arrayName)函数 &lt;BR&gt;&lt;BR&gt;这个函数是返回数组的下标，也就是数组最后一个元素的标记。 &lt;BR&gt;&lt;BR&gt;Dim&amp;nbsp;myArray(10) &lt;BR&gt;Dim&amp;nbsp;I &lt;BR&gt;&lt;BR&gt;For&amp;nbsp;I=0&amp;nbsp;to&amp;nbsp;10 &lt;BR&gt;MyArray(I)=&quot;Item&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;I &lt;BR&gt;Next &lt;BR&gt;Response.write&amp;nbsp;&quot;ubound(myArray)&amp;nbsp;=&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;ubound(myArray) &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;Lbound(arrayName)函数 &lt;BR&gt;&lt;BR&gt;这个函数是返回数组的上标，也就是数组第一个元素的标记。可以用上面的例子进行试验，不过不要忘了把Ubound换成Lbound哟！ &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;Split(string,&amp;nbsp;splitby)函数 &lt;BR&gt;&lt;BR&gt;这个函数返回基于0的一维数组，其中包含指定数目的子字符串。这里有两个参数，string是一个字符串，sqlitby是分隔符，让我们看一个例子来理解这个函数的功能： &lt;BR&gt;&lt;BR&gt;Dim&amp;nbsp;myString &lt;BR&gt;Dim&amp;nbsp;myArray &lt;BR&gt;Dim&amp;nbsp;I &lt;BR&gt;&lt;BR&gt;MyString&amp;nbsp;=&amp;nbsp;&quot;a,b,c,d&quot; &lt;BR&gt;MyArray&amp;nbsp;=&amp;nbsp;split(MyString,&quot;,&quot;) &lt;BR&gt;&lt;BR&gt;For&amp;nbsp;I=0&amp;nbsp;to&amp;nbsp;Ubound(MyArray) &lt;BR&gt;Response.write&amp;nbsp;MyArray(I)&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;lt;br&amp;gt;&quot; &lt;BR&gt;Next &lt;BR&gt;&lt;BR&gt;这个例子的意思是：将字符串&quot;a,b,c,d&quot;转换成一个有四个元素一维数组，其中字符串中的&quot;,&quot;是分隔符。最后我们用循环将这个数组显示出来。如果大家觉得不容易懂，可以自己上机调试一下就明白了，其实很简单。 &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;................................................................................................. &lt;BR&gt;&lt;BR&gt;在数组中查找元素 &lt;BR&gt;这有一个函数，它能返回数组中的元素索引。这个索引是数组元素的基本位置，如：0代表myArray(0)。 &lt;BR&gt;&lt;BR&gt;function&amp;nbsp;findArray(arrName,srcStr) &lt;BR&gt;dim&amp;nbsp;I &lt;BR&gt;dim&amp;nbsp;pint,cnt &lt;BR&gt;&lt;BR&gt;cnt=0 &lt;BR&gt;&lt;BR&gt;for&amp;nbsp;i=0&amp;nbsp;to&amp;nbsp;ubound(arrName) &lt;BR&gt;if&amp;nbsp;cnt=0&amp;nbsp;then &lt;BR&gt;if&amp;nbsp;srcStr=arrName(i)&amp;nbsp;then &lt;BR&gt;pint=i &lt;BR&gt;cnt=1 &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;next &lt;BR&gt;findArray=pint+1 &lt;BR&gt;end&amp;nbsp;function &lt;BR&gt;&lt;BR&gt;现在我们来用一用这个函数： &lt;BR&gt;&lt;BR&gt;Dim&amp;nbsp;myArray(20) &lt;BR&gt;Dim&amp;nbsp;k &lt;BR&gt;&lt;BR&gt;For&amp;nbsp;k=0&amp;nbsp;to&amp;nbsp;20 &lt;BR&gt;MyArray(k)=&quot;Item&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;k &lt;BR&gt;Next &lt;BR&gt;&lt;BR&gt;Response.write&amp;nbsp;findArray(myArray,&quot;Item&amp;nbsp;8&quot;)&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;lt;p&amp;gt;&quot; &lt;BR&gt;Response.write&amp;nbsp;myArray(findArray(myArray,&quot;Item&amp;nbsp;8&quot;)) &lt;BR&gt;&lt;BR&gt;赶紧在本机上调试一下，看看这个函数的功能。 &lt;BR&gt;&lt;BR&gt;................................................................................................. &lt;BR&gt;&lt;BR&gt;向另一个页面传递数组 &lt;BR&gt;&lt;BR&gt;现在有很多种方法向另一页面传递数组，目前有三种方法： &lt;BR&gt;&lt;BR&gt;定义一个又逗号分隔的字符串，然后再下一页中用Split函数重新建立数组。 &lt;BR&gt;将数组存储在一个Session变量中，然后在下一个页面中调用。 &lt;BR&gt;通过表单的隐含区域来传递数组，他们都是自动用逗号分开，然后再用Split函数重新建立数组。 &lt;BR&gt;&lt;BR&gt;前两种方法很好，但是都比第三中复杂。在这里我们将只介绍第三种，因为它是最简单最有效的。 &lt;BR&gt;&lt;BR&gt;1.asp： &lt;BR&gt;&amp;lt;% &lt;BR&gt;dim&amp;nbsp;I &lt;BR&gt;dim&amp;nbsp;myArray(20) &lt;BR&gt;&lt;BR&gt;for&amp;nbsp;I=0&amp;nbsp;to&amp;nbsp;20 &lt;BR&gt;myArray(I)=&quot;Item&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;I &lt;BR&gt;next &lt;BR&gt;%&amp;gt; &lt;BR&gt;&amp;lt;html&amp;gt; &lt;BR&gt;&amp;lt;body&amp;gt; &lt;BR&gt;&amp;lt;form&amp;nbsp;name=&quot;testform&quot;&amp;nbsp;method=&quot;post&quot;&amp;nbsp;action=&quot;2.asp&quot;&amp;gt; &lt;BR&gt;&amp;lt;% &lt;BR&gt;for&amp;nbsp;I=0&amp;nbsp;to&amp;nbsp;ubound(myArray) &lt;BR&gt;response.write&amp;nbsp;&quot;&amp;lt;input&amp;nbsp;type=hidden&amp;nbsp;name=myArray&amp;nbsp;value='&quot;&amp;nbsp;&amp;amp;&amp;nbsp;myArray(I)&amp;nbsp;&amp;amp;&amp;nbsp;&quot;'&amp;gt;&quot; &lt;BR&gt;next &lt;BR&gt;%&amp;gt; &lt;BR&gt;&amp;lt;p&amp;gt; &lt;BR&gt;&amp;lt;input&amp;nbsp;type=&quot;submit&quot;&amp;gt; &lt;BR&gt;&amp;lt;/form&amp;gt; &lt;BR&gt;&amp;lt;/body&amp;gt; &lt;BR&gt;&amp;lt;/html&amp;gt; &lt;BR&gt;&lt;BR&gt;以上我们做的是在一个表单中用单独的隐含域存储数组中的每个元素，我们再看看下一页： &lt;BR&gt;&lt;BR&gt;2.asp &lt;BR&gt;&amp;lt;html&amp;gt; &lt;BR&gt;&amp;lt;body&amp;gt; &lt;BR&gt;&amp;lt;% &lt;BR&gt;dim&amp;nbsp;arrString &lt;BR&gt;dim&amp;nbsp;myArray &lt;BR&gt;dim&amp;nbsp;I &lt;BR&gt;&lt;BR&gt;arrString=request(&quot;myArray&quot;) &lt;BR&gt;myArray&amp;nbsp;=&amp;nbsp;split(arrString,&quot;,&quot;) &lt;BR&gt;&lt;BR&gt;for&amp;nbsp;I=0&amp;nbsp;to&amp;nbsp;ubound(myArray)&amp;nbsp; &lt;BR&gt;response.write&amp;nbsp;&quot;Item&amp;nbsp;&quot;&amp;amp;I&amp;amp;&quot;&amp;nbsp;=&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;myArray(I)&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;lt;br&amp;gt;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf &lt;BR&gt;next &lt;BR&gt;%&amp;gt; &lt;BR&gt;&amp;lt;/body&amp;gt; &lt;BR&gt;&amp;lt;/html&amp;gt; &lt;BR&gt;&lt;BR&gt;调试了吗？怎么样，简单吧！数组就这么传递过去了。 &lt;BR&gt;好了，通过以上的讲解，我想初学者一定对asp中的数组有了一定的了解，当然这里将的都只是最基本的，其实数组的功能远远不只这些，如果大家肯钻研，它能使在asp的程序运行效率大大提高。 &lt;BR&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]asp中用fso读写文本文件实例</title>
           <link>http://www.yici.net/content/text_all/text_0/545_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2009-2-21 23:24:02</pubDate>
           <comments></comments>
           <description>&lt;P&gt;&lt;FONT face=Verdana&gt;&amp;lt;%&lt;BR&gt;if request.Form(&quot;action&quot;)=&quot;edit&quot; then&lt;BR&gt;Set FSO = Server.CreateObject(&quot;Scripting.FileSystemObject&quot;) &lt;!--DVNEWS_AD_BEGIN--&gt;powered by 25175.&lt;A title=25175.net分网站 href=&quot;http://www.25175.net/&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#0240a3&gt;net&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;!--DVNEWS_AD_END--&gt;&lt;BR&gt;File = Server.MapPath(&quot;config.asp&quot;)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;If FSO.FileExists(File) = True Then '判断该文件是否存在&lt;BR&gt;fso.DeleteFile (File)&lt;BR&gt;End If&lt;BR&gt;Set CTF = FSO.CreateTextFile(File,true, False) '新建文件&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;CTF.Writeline &quot;&amp;lt;%&quot;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;CTF.WriteLine &quot;OnliveUrl=&quot;&quot;&quot;&amp;amp;request.Form(&quot;OnliveUrl&quot;)&amp;amp;&quot;&quot;&quot; '直播地址&quot;&lt;BR&gt;CTF.WriteLine &quot;Url=&quot;&quot;&quot;&amp;amp;request.Form(&quot;Url&quot;)&amp;amp;&quot;&quot;&quot; '直播地址&quot;&lt;BR&gt;CTF.WriteLine &quot;jm=&quot;&quot;&quot;&amp;amp;request.Form(&quot;jm&quot;)&amp;amp;&quot;&quot;&quot; '节目名称&quot;&lt;BR&gt;CTF.WriteLine &quot;jmstr=&quot;&quot;&quot;&amp;amp;request.Form(&quot;jmstr&quot;)&amp;amp;&quot;&quot;&quot; '节目介绍&quot;&lt;BR&gt;CTF.WriteLine &quot;dbqq=&quot;&quot;&quot;&amp;amp;request.Form(&quot;dbqq&quot;)&amp;amp;&quot;&quot;&quot; '导播qq&quot;&lt;BR&gt;CTF.WriteLine &quot;jmlink=&quot;&quot;&quot;&amp;amp;request.Form(&quot;jmlink&quot;)&amp;amp;&quot;&quot;&quot; '讨论连接&quot;&lt;BR&gt;CTF.WriteLine &quot;live=&quot;&amp;amp;request.Form(&quot;live&quot;) '直播&quot; &lt;BR&gt;CTF.WriteLine &quot;showmes=&quot;&quot;&quot;&amp;amp;request.Form(&quot;showmes&quot;)&amp;amp;&quot;&quot;&quot; '非直播时信息&quot; &lt;BR&gt;CTF.WriteLine &quot;%&quot;&amp;amp;&quot;&amp;gt;&quot;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;Set ctf = Nothing&lt;BR&gt;Set FSO = Nothing&lt;BR&gt;response.Redirect(&quot;admin_manage.asp&quot;)&lt;BR&gt;end if&lt;BR&gt;%&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]ASP生成静态页面的方法详解</title>
           <link>http://www.yici.net/content/text_all/text_0/544_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2009-2-21 23:23:07</pubDate>
           <comments></comments>
           <description>ASP生成静态页面方法 &lt;BR&gt;Currently&amp;nbsp;1.00/5&amp;nbsp;1&amp;nbsp; &lt;BR&gt;&lt;BR&gt;页面分类:&amp;nbsp;编程 &lt;BR&gt;天下维客，你可以修改的网络知识库 &lt;BR&gt;跳转到:&amp;nbsp;导航,&amp;nbsp;搜索 &lt;BR&gt;1、WITH&amp;nbsp;TEMPLET意思是，生成的页面架构将采用某个已设定的模板，在此之前我的一篇教程中介绍过，希望各位在看本教程之前对ASP &lt;BR&gt;&lt;BR&gt;采用模板应熟悉下。 &lt;BR&gt;&lt;BR&gt;2、ASP转变为HTML。不要我再说ASP转变成HTML的好处了吧，其中最值得知道的就是：静态HTML页和动态页对服务器的要求承受能力小 &lt;BR&gt;&lt;BR&gt;得多，同样，静态HTML搜索几率远比动态页面的多得多。 &lt;BR&gt;&lt;BR&gt;那么，我现在需要处理的技术问题就是： &lt;BR&gt;&lt;BR&gt;1、如何实现模板技术？ &lt;BR&gt;&lt;BR&gt;2、如何实现2HTML技术？ &lt;BR&gt;&lt;BR&gt;3、如何让模板技术与2HTML技术结合？ &lt;BR&gt;&lt;BR&gt;目录 &lt;BR&gt;[隐藏] &lt;BR&gt;1&amp;nbsp;先进行技术原理分析&amp;nbsp; &lt;BR&gt;2&amp;nbsp;再进行数据库设计&amp;nbsp; &lt;BR&gt;3&amp;nbsp;页面需求设计&amp;nbsp; &lt;BR&gt;4&amp;nbsp;其它功能&amp;nbsp; &lt;BR&gt;5&amp;nbsp;参考资料&amp;nbsp; &lt;BR&gt;&amp;nbsp; &lt;BR&gt;[编辑]先进行技术原理分析 &lt;BR&gt;1、模板技术参看 &lt;BR&gt;&lt;BR&gt;2、如何使得ASP页面转变为HTML？一般都会想到FSO组件，因为该组件能新建任何文件格式。 &lt;BR&gt;&lt;BR&gt;那么其整个运行过程是怎么样的呢？ &lt;BR&gt;&lt;BR&gt;a、提供信息输入页面进行信息收集； &lt;BR&gt;&lt;BR&gt;b、接受信息值先保存数据库，再FSO生成文件； &lt;BR&gt;&lt;BR&gt;c、技术性完成任务，显示刚被创建的HTML文件的路径地址。&amp;nbsp;该技术的实现过程中有如下几个难点： &lt;BR&gt;&lt;BR&gt;i、FSO生成的文件是直接放在一个大文件夹下，还是单独放在某个每日更新的子文件夹中？可能表述不准确，这样理解吧：相信通过 &lt;BR&gt;&lt;BR&gt;FSO生成的文件随着时间的推移，文件会越来越多，管理也会越来越乱……通常你可能看到一些地址诸如&amp;nbsp;www.xxx.com/a/2004-5- &lt;BR&gt;&lt;BR&gt;20/200405201111.html&amp;nbsp;可以分析得出应该是建立了当前日期的文件夹。这样，一天就是一个文件夹的页面内容，查看管理也就显得比较合 &lt;BR&gt;&lt;BR&gt;理。 &lt;BR&gt;&lt;BR&gt;ii、我在试图通过以上方法建立文件夹的时候，又发现了第二个问题。第一次通过FSO建立以当前日期命名的文件夹，没有问题。当我 &lt;BR&gt;&lt;BR&gt;有新的文件需要生成时，因为是同一个程序，所以，其又将会执行建立同样的文件夹。此时，FSO组件会发现该路径已存在……卡壳-_-! &lt;BR&gt;&lt;BR&gt;继续处理，在首行添加代码： &lt;BR&gt;&lt;BR&gt;引用: &lt;BR&gt;&lt;BR&gt;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next&amp;nbsp;达到自欺欺人、掩耳盗铃的效果。 &lt;BR&gt;&lt;BR&gt;当然规矩的用法是判断文件夹的有无 &lt;BR&gt;&lt;BR&gt;引用: &lt;BR&gt;&lt;BR&gt;&amp;lt;% &lt;BR&gt;Set&amp;nbsp;fso&amp;nbsp;=&amp;nbsp;Server.CreateObject(&quot;Scripting.FileSystemObject&quot;) &lt;BR&gt;if&amp;nbsp;(fso.FolderExists(Server.MapPath(folder)))&amp;nbsp;then &lt;BR&gt;'判断如果存在就不做处理 &lt;BR&gt;else &lt;BR&gt;'判断如果不存在则建立新文件夹 &lt;BR&gt;fso.CreateFolder(Server.MapPath(folder)) &lt;BR&gt;end&amp;nbsp;if &lt;BR&gt;%&amp;gt; &lt;BR&gt;iii、文件夹是建立了，文件该如何建立呢？主要也就是文件名的生成。当然这个就需要自己来写个函数，功能就是如何生成文件名： &lt;BR&gt;&lt;BR&gt;引用: &lt;BR&gt;&lt;BR&gt;&amp;lt;% &lt;BR&gt;function&amp;nbsp;makefilename(fname) &lt;BR&gt;fname&amp;nbsp;=&amp;nbsp;fname&amp;nbsp;'前fname为变量，后fname为函数参数引用 &lt;BR&gt;fname&amp;nbsp;=&amp;nbsp;replace(fname,&quot;-&quot;,&quot;&quot;) &lt;BR&gt;fname&amp;nbsp;=&amp;nbsp;replace(fname,&quot;&amp;nbsp;&quot;,&quot;&quot;)&amp;nbsp; &lt;BR&gt;fname&amp;nbsp;=&amp;nbsp;replace(fname,&quot;:&quot;,&quot;&quot;) &lt;BR&gt;fname&amp;nbsp;=&amp;nbsp;replace(fname,&quot;PM&quot;,&quot;&quot;) &lt;BR&gt;fname&amp;nbsp;=&amp;nbsp;replace(fname,&quot;AM&quot;,&quot;&quot;) &lt;BR&gt;fname&amp;nbsp;=&amp;nbsp;replace(fname,&quot;上午&quot;,&quot;&quot;) &lt;BR&gt;fname&amp;nbsp;=&amp;nbsp;replace(fname,&quot;下午&quot;,&quot;&quot;) &lt;BR&gt;makefilename&amp;nbsp;=&amp;nbsp;fname&amp;nbsp;&amp;amp;&amp;nbsp;&quot;.html&quot; &lt;BR&gt;end&amp;nbsp;function&amp;nbsp; &lt;BR&gt;%&amp;gt; &lt;BR&gt;引用函数则： &lt;BR&gt;&lt;BR&gt;&amp;lt;%fname&amp;nbsp;=&amp;nbsp;makefilename(now())%&amp;gt; &lt;BR&gt;其实嘛，就是以年月日时分秒命名的文件。 &lt;BR&gt;&lt;BR&gt;iv、最后，生成的文件该如何查看到？当然需要把生成文件的路径保存的数据库中，并且添加到相对应的记录集中了。当然，这在下 &lt;BR&gt;&lt;BR&gt;面的数据库设计时会提及到。 &lt;BR&gt;&lt;BR&gt;3、模板技术和2HTML技术的结合：将模板中特殊代码的值替换为从表单接受过来的值，完成模板功能；将最终替换过的所有模板代码 &lt;BR&gt;&lt;BR&gt;生成HTML文件。需要注意的是：替换应能将输入数据的格式或者支持UBB的代码彻底改变。 &lt;BR&gt;&lt;BR&gt;[编辑]再进行数据库设计 &lt;BR&gt;目前数据库的设计需要两个表：一个是存放模板数据的；一个是存放信息内容的。 &lt;BR&gt;&lt;BR&gt;1，建立新数据库asp2html.mdb &lt;BR&gt;&lt;BR&gt;2、设计新数据库表c_moban &lt;BR&gt;&lt;BR&gt;字段m_id（自动编号，主关键字）；字段m_html（备注类型）。 &lt;BR&gt;&lt;BR&gt;并将下列完整的代码拷贝至m_html字段 &lt;BR&gt;&lt;BR&gt;引用: &lt;BR&gt;&lt;BR&gt;&amp;lt;html&amp;gt; &lt;BR&gt;&amp;lt;head&amp;gt; &lt;BR&gt;&amp;lt;meta&amp;nbsp;http-equiv=&quot;Content-Type&quot;&amp;nbsp;content=&quot;text/html;&amp;nbsp;charset=hz&quot;&amp;gt; &lt;BR&gt;&amp;lt;title&amp;gt;Cnbruce.Com&amp;nbsp;|&amp;nbsp;ASP2HTML&amp;nbsp;TEST&amp;lt;/title&amp;gt; &lt;BR&gt;&amp;lt;/head&amp;gt; &lt;BR&gt;&amp;lt;body&amp;nbsp;leftmargin=&quot;0&quot;&amp;nbsp;topmargin=&quot;0&quot;&amp;gt; &lt;BR&gt;&amp;nbsp; &lt;BR&gt;&amp;lt;/body&amp;gt; &lt;BR&gt;&amp;lt;/html&amp;gt; &lt;BR&gt;3、设计新数据库表c_news &lt;BR&gt;&lt;BR&gt;字段c_id：自动编号，主关键字 &lt;BR&gt;字段c_title：文本类型，保存文章标题 &lt;BR&gt;字段c_content：备注类型，保存文章内容 &lt;BR&gt;字段c_filepath：文本类型，保持生成文件的路径地址 &lt;BR&gt;字段c_time：日期/时间类型，默认值：Now() &lt;BR&gt;[编辑]页面需求设计 &lt;BR&gt;1、首先建立一个存放HTML页的文件夹 &lt;BR&gt;&lt;BR&gt;在文件同一目录下，建立文件夹newsfile，夹子内部主要存放生成的HTML页面，当然内部还会采用程序方式建立以日期命名的子文件夹，以方便浏览以及管理。 &lt;BR&gt;&lt;BR&gt;2、功能函数页面lib.asp &lt;BR&gt;&lt;BR&gt;引用: &lt;BR&gt;&lt;BR&gt;&amp;lt;% &lt;BR&gt;&amp;nbsp;'生成文件名的函数 &lt;BR&gt;&amp;nbsp;function&amp;nbsp;makefilename(fname) &lt;BR&gt;&amp;nbsp;fname&amp;nbsp;=&amp;nbsp;fname &lt;BR&gt;&amp;nbsp;fname&amp;nbsp;=&amp;nbsp;replace(fname,&quot;-&quot;,&quot;&quot;) &lt;BR&gt;&amp;nbsp;fname&amp;nbsp;=&amp;nbsp;replace(fname,&quot;&amp;nbsp;&quot;,&quot;&quot;)&amp;nbsp; &lt;BR&gt;&amp;nbsp;fname&amp;nbsp;=&amp;nbsp;replace(fname,&quot;:&quot;,&quot;&quot;) &lt;BR&gt;&amp;nbsp;fname&amp;nbsp;=&amp;nbsp;replace(fname,&quot;PM&quot;,&quot;&quot;) &lt;BR&gt;&amp;nbsp;fname&amp;nbsp;=&amp;nbsp;replace(fname,&quot;AM&quot;,&quot;&quot;) &lt;BR&gt;&amp;nbsp;fname&amp;nbsp;=&amp;nbsp;replace(fname,&quot;上午&quot;,&quot;&quot;) &lt;BR&gt;&amp;nbsp;fname&amp;nbsp;=&amp;nbsp;replace(fname,&quot;下午&quot;,&quot;&quot;) &lt;BR&gt;&amp;nbsp;makefilename=fname&amp;nbsp;&amp;amp;&amp;nbsp;&quot;.shtml&quot; &lt;BR&gt;&amp;nbsp;end&amp;nbsp;function&amp;nbsp; &lt;BR&gt;&lt;BR&gt;'保持数据格式不变的函数 &lt;BR&gt;&lt;BR&gt;&amp;nbsp;function&amp;nbsp;HTMLEncode(fString) &lt;BR&gt;&amp;nbsp;fString&amp;nbsp;=&amp;nbsp;replace(fString,&amp;nbsp;&quot;&amp;gt;&quot;,&amp;nbsp;&quot;&amp;gt;&quot;) &lt;BR&gt;&amp;nbsp;fString&amp;nbsp;=&amp;nbsp;replace(fString,&amp;nbsp;&quot;&amp;lt;&quot;,&amp;nbsp;&quot;&amp;lt;&quot;) &lt;BR&gt;&amp;nbsp;fString&amp;nbsp;=&amp;nbsp;Replace(fString,&amp;nbsp;CHR(32),&amp;nbsp;&quot;&amp;nbsp;&quot;) &lt;BR&gt;&amp;nbsp;fString&amp;nbsp;=&amp;nbsp;Replace(fString,&amp;nbsp;CHR(13),&amp;nbsp;&quot;&quot;) &lt;BR&gt;&amp;nbsp;fString&amp;nbsp;=&amp;nbsp;Replace(fString,&amp;nbsp;CHR(10)&amp;nbsp;&amp;amp;&amp;nbsp;CHR(10),&amp;nbsp;&quot;&amp;lt;br&amp;gt;&quot;) &lt;BR&gt;&amp;nbsp;fString&amp;nbsp;=&amp;nbsp;Replace(fString,&amp;nbsp;CHR(10),&amp;nbsp;&quot;&amp;lt;br&amp;gt;&quot;) &lt;BR&gt;&amp;nbsp;HTMLEncode&amp;nbsp;=&amp;nbsp;fString &lt;BR&gt;&amp;nbsp;end&amp;nbsp;function &lt;BR&gt;&amp;nbsp;%&amp;gt; &lt;BR&gt;&lt;BR&gt;3、数据库连接页面conn.asp &lt;BR&gt;&lt;BR&gt;完成数据库的字符串连接方法 &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;lt;% &lt;BR&gt;&amp;nbsp;set&amp;nbsp;conn&amp;nbsp;=&amp;nbsp;Server.CreateObject(&quot;ADODB.Connection&quot;) &lt;BR&gt;&amp;nbsp;connstr&amp;nbsp;=&amp;nbsp;&quot;Provider=Microsoft.Jet.OLEDB.4.0;Data&amp;nbsp;Source=&quot;&amp;amp;Server.MapPath(&quot;asp2html.mdb&quot;) &lt;BR&gt;&amp;nbsp;conn.Open&amp;nbsp;connstr &lt;BR&gt;&amp;nbsp;%&amp;gt; &lt;BR&gt;4、信息输入页面add.html &lt;BR&gt;&lt;BR&gt;其实很简单，就是表单嘛。注意action是跳转到addit.asp &lt;BR&gt;&lt;BR&gt;引用:&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;lt;form&amp;nbsp;action=&quot;addit.asp&quot;&amp;nbsp;method=&quot;post&quot;&amp;gt; &lt;BR&gt;&amp;nbsp;Title:&amp;lt;input&amp;nbsp;type=&quot;text&quot;&amp;nbsp;name=&quot;c_title&quot;&amp;gt;&amp;lt;br&amp;gt; &lt;BR&gt;&amp;nbsp;Content:&amp;lt;br&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;lt;textarea&amp;nbsp;name=&quot;c_content&quot;&amp;nbsp;rows=&quot;8&quot;&amp;nbsp;cols=&quot;30&quot;&amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;br&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;lt;input&amp;nbsp;type=&quot;submit&quot;&amp;nbsp;value=&quot;Add&quot;&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;lt;input&amp;nbsp;type=&quot;reset&quot;&amp;nbsp;value=&quot;Reset&quot;&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;lt;/form&amp;gt; &lt;BR&gt;&lt;BR&gt;5、处理数据功能显示页面addit.asp &lt;BR&gt;&lt;BR&gt;首先是处理接受过来的数据，并将值写入数据库；接着将模板代码进行引用，并将其中特殊代码转换为接受值，最终通过FSO生成HTML页面。其中需要注意的还有，生成文件的路径地址保存至数据库表。 &lt;BR&gt;&lt;BR&gt;引用:&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;lt;%'容错处理 &lt;BR&gt;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;BR&gt;&amp;nbsp;%&amp;gt; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;lt;!--#include&amp;nbsp;file=&quot;conn.asp&quot;&amp;nbsp;--&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;lt;!--#include&amp;nbsp;file=&quot;lib.asp&quot;&amp;nbsp;--&amp;gt; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;lt;%'接受传递值 &lt;BR&gt;&amp;nbsp;c_title=request.form(&quot;c_title&quot;) &lt;BR&gt;&amp;nbsp;c_content=request.form(&quot;c_content&quot;) &lt;BR&gt;&amp;nbsp;%&amp;gt; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;lt;%'生成HTML文件名，建立文件夹，指定文件路径 &lt;BR&gt;&amp;nbsp;fname&amp;nbsp;=&amp;nbsp;makefilename(now())&amp;nbsp;'makefilename为自定义函数&amp;nbsp; &lt;BR&gt;&amp;nbsp;folder&amp;nbsp;=&amp;nbsp;&quot;newsfile/&quot;&amp;amp;date()&amp;amp;&quot;/&quot; &lt;BR&gt;&amp;nbsp;filepath&amp;nbsp;=&amp;nbsp;folder&amp;amp;fname &lt;BR&gt;&amp;nbsp;%&amp;gt; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;lt;%'将接受值及路径保持至数据库表 &lt;BR&gt;&amp;nbsp;sql&amp;nbsp;=&amp;nbsp;&quot;Select&amp;nbsp;*&amp;nbsp;from&amp;nbsp;c_news&quot; &lt;BR&gt;&amp;nbsp;Set&amp;nbsp;rs&amp;nbsp;=&amp;nbsp;Server.CreateObject&amp;nbsp;(&quot;ADODB.Recordset&quot;) &lt;BR&gt;&amp;nbsp;rs.Open&amp;nbsp;sql,conn,3,2 &lt;BR&gt;&amp;nbsp;rs.addnew &lt;BR&gt;&amp;nbsp;rs(&quot;c_title&quot;)=c_title &lt;BR&gt;&amp;nbsp;rs(&quot;c_content&quot;)=c_content &lt;BR&gt;&amp;nbsp;rs(&quot;c_filepath&quot;)=filepath &lt;BR&gt;&amp;nbsp;rs.update &lt;BR&gt;&amp;nbsp;rs.close&amp;nbsp; &lt;BR&gt;&amp;nbsp;Set&amp;nbsp;rs&amp;nbsp;=&amp;nbsp;Nothing &lt;BR&gt;&amp;nbsp;%&amp;gt; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;lt;%'打开模板代码，并将其中特殊代码转变为接受值 &lt;BR&gt;&amp;nbsp;sql1=&quot;select&amp;nbsp;m_id,m_html&amp;nbsp;from&amp;nbsp;c_moban&amp;nbsp;where&amp;nbsp;m_id=1&quot; &lt;BR&gt;&amp;nbsp;set&amp;nbsp;rs1=Server.CreateObject(&quot;adodb.recordset&quot;) &lt;BR&gt;&amp;nbsp;rs1.open&amp;nbsp;sql1,conn,1,1 &lt;BR&gt;&amp;nbsp;mb_code=rs1(&quot;m_html&quot;) &lt;BR&gt;&amp;nbsp;rs1.close &lt;BR&gt;&amp;nbsp;set&amp;nbsp;rs1=nothing &lt;BR&gt;&amp;nbsp;conn.close &lt;BR&gt;&amp;nbsp;set&amp;nbsp;conn=nothing &lt;BR&gt;&amp;nbsp;c_title=htmlencode(c_title) &lt;BR&gt;&amp;nbsp;c_content=htmlencode(c_content) &lt;BR&gt;&amp;nbsp;mb_code=replace(mb_code,&quot;$cntop{LogContent}quot;,now()) &lt;BR&gt;&amp;nbsp;mb_code=replace(mb_code,&quot;$cnleft{LogContent}quot;,c_title) &lt;BR&gt;&amp;nbsp;mb_code=replace(mb_code,&quot;$cnright{LogContent}quot;,c_content) &lt;BR&gt;&amp;nbsp;%&amp;gt; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;lt;%'生成HTML页面 &lt;BR&gt;&amp;nbsp;Set&amp;nbsp;fso&amp;nbsp;=&amp;nbsp;Server.CreateObject(&quot;Scripting.FileSystemObject&quot;) &lt;BR&gt;&amp;nbsp;fso.CreateFolder(Server.MapPath(folder)) &lt;BR&gt;&amp;nbsp;Set&amp;nbsp;fout&amp;nbsp;=&amp;nbsp;fso.CreateTextFile(Server.MapPath(filepath)) &lt;BR&gt;&amp;nbsp;fout.WriteLine&amp;nbsp;mb_code &lt;BR&gt;&amp;nbsp;fout.close &lt;BR&gt;&amp;nbsp;%&amp;gt; &lt;BR&gt;&amp;nbsp;文章添加成功，&amp;lt;a&amp;nbsp;href=&quot;showit.asp&quot;&amp;gt;浏览&amp;lt;/a&amp;gt;&amp;nbsp; &lt;BR&gt;&lt;BR&gt;6、显示数据库表记录，并做指向HTML页的链接：showit.asp &lt;BR&gt;&lt;BR&gt;引用:&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;lt;!--#include&amp;nbsp;file=&quot;conn.asp&quot;&amp;nbsp;--&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;lt;!--#include&amp;nbsp;file=&quot;lib.asp&quot;&amp;nbsp;--&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;lt;% &lt;BR&gt;&amp;nbsp;Set&amp;nbsp;rs&amp;nbsp;=&amp;nbsp;Server.CreateObject&amp;nbsp;(&quot;ADODB.Recordset&quot;) &lt;BR&gt;&amp;nbsp;sql&amp;nbsp;=&amp;nbsp;&quot;Select&amp;nbsp;*&amp;nbsp;from&amp;nbsp;c_news&amp;nbsp;order&amp;nbsp;by&amp;nbsp;c_id&amp;nbsp;desc&quot; &lt;BR&gt;&amp;nbsp;rs.Open&amp;nbsp;sql,conn,1,1 &lt;BR&gt;&amp;nbsp;%&amp;gt; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;lt;% &lt;BR&gt;&amp;nbsp;if&amp;nbsp;rs.EOF&amp;nbsp;and&amp;nbsp;rs.BOF&amp;nbsp;then &lt;BR&gt;&amp;nbsp;response.write&amp;nbsp;(&quot;暂时还没有文章，&amp;lt;a&amp;nbsp;href=add.html&amp;gt;添加&amp;lt;/a&amp;gt;&quot;) &lt;BR&gt;&amp;nbsp;else &lt;BR&gt;&amp;nbsp;Do&amp;nbsp;Until&amp;nbsp;rs.EOF &lt;BR&gt;&amp;nbsp;%&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;lt;table&amp;nbsp;width=&quot;758&quot;&amp;nbsp;border=&quot;0&quot;&amp;nbsp;align=&quot;center&quot;&amp;nbsp;cellpadding=&quot;3&quot;&amp;nbsp;cellspacing=&quot;1&quot;&amp;nbsp;bgcolor=&quot;#000000&quot;&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;lt;td&amp;nbsp;width=&quot;159&quot;&amp;nbsp;align=&quot;right&quot;&amp;nbsp;bordercolor=&quot;#CCCCCC&quot;&amp;nbsp;bgcolor=&quot;#CCCCCC&quot;&amp;gt;&amp;lt;%=rs(&quot;c_time&quot;)%&amp;gt;&amp;lt;/td&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;lt;td&amp;nbsp;width=&quot;591&quot;&amp;nbsp;bordercolor=&quot;#f3f3f3&quot;&amp;nbsp;bgcolor=&quot;#f3f3f3&quot;&amp;gt;&amp;lt;a&amp;nbsp;href=&amp;lt;%=rs(&quot;c_filepath&quot;)%&amp;gt;&amp;nbsp;target=&quot;a_blank&quot;&amp;gt;&amp;lt;%=rs(&quot;c_title&quot;)%&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;lt;/tr&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;lt;td&amp;nbsp;valign=&quot;top&quot;&amp;nbsp;align=&quot;right&quot;&amp;nbsp;bordercolor=&quot;#ececec&quot;&amp;nbsp;bgcolor=&quot;#ececec&quot;&amp;gt;[&amp;lt;a&amp;nbsp;href=del.asp?c_id=&amp;lt;%=rs(&quot;c_id&quot;)%&amp;gt;&amp;gt;Dell&amp;lt;/a&amp;gt;][&amp;lt;a&amp;nbsp;href=change.asp?c_id=&amp;lt;%=rs(&quot;c_id&quot;)%&amp;gt;&amp;gt;Edit&amp;lt;/a&amp;gt;][&amp;lt;a&amp;nbsp;href=&quot;add.html&quot;&amp;gt;Add&amp;lt;/a&amp;gt;]&amp;lt;/td&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;lt;td&amp;nbsp;valign=&quot;top&quot;&amp;nbsp;bordercolor=&quot;#FFFFFF&quot;&amp;nbsp;bgcolor=&quot;#FFFFFF&quot;&amp;gt;&amp;lt;%=htmlencode(rs(&quot;c_content&quot;))%&amp;gt;&amp;lt;/td&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;lt;/tr&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;lt;/table&amp;gt;&amp;lt;br&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;lt;% &lt;BR&gt;&amp;nbsp;rs.MoveNext &lt;BR&gt;&amp;nbsp;Loop &lt;BR&gt;&amp;nbsp;end&amp;nbsp;if &lt;BR&gt;&amp;nbsp;%&amp;gt; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;lt;% &lt;BR&gt;&amp;nbsp;rs.close&amp;nbsp; &lt;BR&gt;&amp;nbsp;Set&amp;nbsp;rs&amp;nbsp;=&amp;nbsp;Nothing &lt;BR&gt;&amp;nbsp;conn.close&amp;nbsp; &lt;BR&gt;&amp;nbsp;set&amp;nbsp;conn=Nothing &lt;BR&gt;&amp;nbsp;%&amp;gt; &lt;BR&gt;&lt;BR&gt;7、修改数据内容页change.asp &lt;BR&gt;&lt;BR&gt;修改数据内容，同时也需要修改更新对应的HTML页面。修改其实就是重新生成文件，且文件名和之前一样，类似文件的覆盖。 &lt;BR&gt;&lt;BR&gt;引用:&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;lt;!--#include&amp;nbsp;file=&quot;conn.asp&quot;&amp;nbsp;--&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;lt;!--#include&amp;nbsp;file=&quot;lib.asp&quot;&amp;nbsp;--&amp;gt; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;lt;%id=request.querystring(&quot;c_id&quot;)%&amp;gt; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;lt;% &lt;BR&gt;&amp;nbsp;if&amp;nbsp;request.form(&quot;submit&quot;)=&quot;change&quot;&amp;nbsp;then &lt;BR&gt;&amp;nbsp;c_title=request.form(&quot;c_title&quot;) &lt;BR&gt;&amp;nbsp;c_content=request.form(&quot;c_content&quot;) &lt;BR&gt;&amp;nbsp;c_id=request.form(&quot;c_id&quot;) &lt;BR&gt;&amp;nbsp;c_filepath=request.form(&quot;c_filepath&quot;) &lt;BR&gt;&lt;BR&gt;&amp;nbsp;Set&amp;nbsp;rs&amp;nbsp;=&amp;nbsp;Server.CreateObject&amp;nbsp;(&quot;ADODB.Recordset&quot;) &lt;BR&gt;&amp;nbsp;sql&amp;nbsp;=&amp;nbsp;&quot;Select&amp;nbsp;*&amp;nbsp;from&amp;nbsp;c_news&amp;nbsp;where&amp;nbsp;c_id=&quot;&amp;amp;c_id &lt;BR&gt;&amp;nbsp;rs.Open&amp;nbsp;sql,conn,3,2 &lt;BR&gt;&amp;nbsp;rs(&quot;c_title&quot;)=c_title &lt;BR&gt;&amp;nbsp;rs(&quot;c_content&quot;)=c_content &lt;BR&gt;&amp;nbsp;rs(&quot;c_time&quot;)=now() &lt;BR&gt;&amp;nbsp;rs.update &lt;BR&gt;&amp;nbsp;rs.close&amp;nbsp; &lt;BR&gt;&amp;nbsp;Set&amp;nbsp;rs&amp;nbsp;=&amp;nbsp;Nothing &lt;BR&gt;&amp;nbsp;%&amp;gt; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;lt;%'打开模板代码，并将其中特殊代码转变为接受值 &lt;BR&gt;&amp;nbsp;sql1=&quot;select&amp;nbsp;m_id,m_html&amp;nbsp;from&amp;nbsp;c_moban&amp;nbsp;where&amp;nbsp;m_id=1&quot; &lt;BR&gt;&amp;nbsp;set&amp;nbsp;rs1=Server.CreateObject(&quot;adodb.recordset&quot;) &lt;BR&gt;&amp;nbsp;rs1.open&amp;nbsp;sql1,conn,1,1 &lt;BR&gt;&amp;nbsp;mb_code=rs1(&quot;m_html&quot;) &lt;BR&gt;&amp;nbsp;rs1.close &lt;BR&gt;&amp;nbsp;set&amp;nbsp;rs1=nothing &lt;BR&gt;&amp;nbsp;conn.close &lt;BR&gt;&amp;nbsp;set&amp;nbsp;conn=nothing &lt;BR&gt;&amp;nbsp;c_title=htmlencode(c_title) &lt;BR&gt;&amp;nbsp;c_content=htmlencode(c_content) &lt;BR&gt;&amp;nbsp;mb_code=replace(mb_code,&quot;$cntop{LogContent}quot;,now()) &lt;BR&gt;&amp;nbsp;mb_code=replace(mb_code,&quot;$cnleft{LogContent}quot;,c_title) &lt;BR&gt;&amp;nbsp;mb_code=replace(mb_code,&quot;$cnright{LogContent}quot;,c_content) &lt;BR&gt;&amp;nbsp;%&amp;gt; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;lt;%'生成HTML页面 &lt;BR&gt;&amp;nbsp;Set&amp;nbsp;fso&amp;nbsp;=&amp;nbsp;Server.CreateObject(&quot;Scripting.FileSystemObject&quot;) &lt;BR&gt;&amp;nbsp;Set&amp;nbsp;fout&amp;nbsp;=&amp;nbsp;fso.CreateTextFile(Server.MapPath(c_filepath)) &lt;BR&gt;&amp;nbsp;fout.WriteLine&amp;nbsp;mb_code &lt;BR&gt;&amp;nbsp;fout.close &lt;BR&gt;&amp;nbsp;%&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;lt;%response.redirect(&quot;showit.asp&quot;)%&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;lt;%end&amp;nbsp;if%&amp;gt; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;lt;% &lt;BR&gt;&amp;nbsp;if&amp;nbsp;id&amp;lt;&amp;gt;&quot;&quot;&amp;nbsp;then &lt;BR&gt;&amp;nbsp;Set&amp;nbsp;rs&amp;nbsp;=&amp;nbsp;Server.CreateObject&amp;nbsp;(&quot;ADODB.Recordset&quot;) &lt;BR&gt;&amp;nbsp;sql=&quot;select&amp;nbsp;*&amp;nbsp;from&amp;nbsp;c_news&amp;nbsp;where&amp;nbsp;c_id=&quot;&amp;amp;id &lt;BR&gt;&amp;nbsp;rs.Open&amp;nbsp;sql,conn,1,1 &lt;BR&gt;&amp;nbsp;c_id=rs(&quot;c_id&quot;) &lt;BR&gt;&amp;nbsp;c_filepath=rs(&quot;c_filepath&quot;) &lt;BR&gt;&amp;nbsp;c_title=rs(&quot;c_title&quot;) &lt;BR&gt;&amp;nbsp;c_content=rs(&quot;c_content&quot;) &lt;BR&gt;&amp;nbsp;end&amp;nbsp;if &lt;BR&gt;&amp;nbsp;%&amp;gt; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;lt;form&amp;nbsp;action=&quot;change.asp&quot;&amp;nbsp;method=&quot;post&quot;&amp;gt; &lt;BR&gt;&amp;nbsp;Title:&amp;lt;input&amp;nbsp;type=&quot;text&quot;&amp;nbsp;name=&quot;c_title&quot;&amp;nbsp;value=&amp;lt;%=c_title%&amp;gt;&amp;gt;&amp;lt;br&amp;gt; &lt;BR&gt;&amp;nbsp;Content:&amp;lt;br&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;lt;textarea&amp;nbsp;name=&quot;c_content&quot;&amp;nbsp;rows=&quot;8&quot;&amp;nbsp;cols=&quot;30&quot;&amp;gt;&amp;lt;%=c_content%&amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;br&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;lt;input&amp;nbsp;type=&quot;submit&quot;&amp;nbsp;value=&quot;change&quot;&amp;nbsp;name=&quot;submit&quot;&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;lt;input&amp;nbsp;type=&quot;reset&quot;&amp;nbsp;value=&quot;Reset&quot;&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;lt;input&amp;nbsp;name=&quot;c_id&quot;&amp;nbsp;type=&quot;hidden&quot;&amp;nbsp;value=&quot;&amp;lt;%=id%&amp;gt;&quot;&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;lt;input&amp;nbsp;name=&quot;c_filepath&quot;&amp;nbsp;type=&quot;hidden&quot;&amp;nbsp;value=&quot;&amp;lt;%=c_filepath%&amp;gt;&quot;&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;lt;/form&amp;gt; &lt;BR&gt;&lt;BR&gt;8、删除记录页del.asp &lt;BR&gt;&lt;BR&gt;同样！删除，除了删除数据库表中的记录，与其对应的HTML页面也需删除。代码如下： &lt;BR&gt;&lt;BR&gt;引用:&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;lt;!--#include&amp;nbsp;file=&quot;conn.asp&quot;&amp;nbsp;--&amp;gt; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;lt;% &lt;BR&gt;&amp;nbsp;c_id&amp;nbsp;=&amp;nbsp;request.querystring(&quot;c_id&quot;) &lt;BR&gt;&amp;nbsp;sql&amp;nbsp;=&amp;nbsp;&quot;Select&amp;nbsp;*&amp;nbsp;from&amp;nbsp;c_news&amp;nbsp;where&amp;nbsp;c_id=&quot;&amp;amp;c_id &lt;BR&gt;&amp;nbsp;Set&amp;nbsp;rs&amp;nbsp;=&amp;nbsp;Server.CreateObject&amp;nbsp;(&quot;ADODB.Recordset&quot;) &lt;BR&gt;&amp;nbsp;rs.Open&amp;nbsp;sql,conn,2,3 &lt;BR&gt;&lt;BR&gt;&amp;nbsp;filepath=rs(&quot;c_filepath&quot;) &lt;BR&gt;&amp;nbsp;Set&amp;nbsp;fso&amp;nbsp;=&amp;nbsp;CreateObject(&quot;Scripting.FileSystemObject&quot;) &lt;BR&gt;&amp;nbsp;fso.DeleteFile(Server.mappath(filepath)) &lt;BR&gt;&amp;nbsp;Set&amp;nbsp;fso&amp;nbsp;=&amp;nbsp;nothing &lt;BR&gt;&lt;BR&gt;&amp;nbsp;rs.delete &lt;BR&gt;&amp;nbsp;rs.close&amp;nbsp; &lt;BR&gt;&amp;nbsp;Set&amp;nbsp;rs&amp;nbsp;=&amp;nbsp;Nothing &lt;BR&gt;&amp;nbsp;conn.close &lt;BR&gt;&amp;nbsp;set&amp;nbsp;conn=nothing &lt;BR&gt;&amp;nbsp;%&amp;gt; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;lt;%response.redirect(&quot;showit.asp&quot;)%&amp;gt; &lt;BR&gt;[编辑]其它功能 &lt;BR&gt;模板管理页面： &lt;BR&gt;&lt;BR&gt;不会每次都是打开数据库表进行增加或者修改模板代码吧，所以，管理代码的页面程序不能少了，自己捣鼓下应该很简单的。当然，之前管理员的登录认证程序就不在书中交代了：）还有，如果设计了多个模板，那么在发表信息的时候应添加模板选择单选框，同样在执行转换HTML时，SQL选择的不同m_id了。 &lt;BR&gt;&lt;BR&gt;不管怎么说，先把这些技术自己调试感受下。多多操作，相信“读书千遍，其意自见”。 &lt;BR&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]asp动态include文件</title>
           <link>http://www.yici.net/content/text_all/text_0/543_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2009-2-21 22:18:19</pubDate>
           <comments></comments>
           <description>&lt;P&gt;经常有这样的要求，根据不同的需求要求include不同的文件如各个人的不同设置，所以要求能动态include文件。&lt;/P&gt;
&lt;P&gt;代码如下：&lt;/P&gt;
&lt;P&gt;Function include(filename)&lt;BR&gt;Dim re,content,fso,f,aspStart,aspEnd&lt;BR&gt;&lt;BR&gt;set fso=CreateObject(&quot;Scripting.FileSystemObject&quot;)&lt;BR&gt;set f=fso.OpenTextFile(server.mappath(filename))&lt;BR&gt;content=f.ReadAll&lt;BR&gt;f.close&lt;BR&gt;set f=nothing&lt;BR&gt;set fso=nothing&lt;BR&gt;&lt;BR&gt;set re=new RegExp&lt;BR&gt;re.pattern=&quot;^\s*=&quot;&lt;BR&gt;aspEnd=1&lt;BR&gt;aspStart=inStr(aspEnd,content,&quot;&amp;lt;%&quot;) 2&lt;BR&gt;do while aspStart&amp;gt;aspEnd 1 &lt;BR&gt;Response.write Mid(content,aspEnd,aspStart-aspEnd-2)&lt;BR&gt;aspEnd=inStr(aspStart,content,&quot;%\&amp;gt;&quot;) 2&lt;BR&gt;Execute(re.replace(Mid(content,aspStart,aspEnd-aspStart-2),&quot;Response.Write &quot;))&lt;BR&gt;aspStart=inStr(aspEnd,content,&quot;&amp;lt;%&quot;) 2&lt;BR&gt;loop&lt;BR&gt;Response.write Mid(content,aspEnd) &lt;BR&gt;set re=nothing&lt;BR&gt;End Function&lt;/P&gt;
&lt;P&gt;使用范例：&lt;/P&gt;
&lt;P&gt;include(&quot;youinc.asp&quot;)&lt;/P&gt;
&lt;P&gt;**************************************************************&lt;/P&gt;
&lt;P&gt;可以动态Include文件吗？ &lt;BR&gt;什么是动态Include? &lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;解答&lt;/P&gt;
&lt;P&gt;我们从一个案例谈起： &lt;BR&gt;&amp;lt;% &lt;BR&gt;'得到用户所在的省份 &lt;BR&gt;Dim Province &lt;BR&gt;Province = Request.form(&quot;Province&quot;) &lt;BR&gt;'下面显示这个省份相关的信息 &lt;BR&gt;%&amp;gt; &lt;BR&gt;&amp;lt;!--＃i nclude virtual=&quot;/ Province/&amp;lt;%= Province%&amp;gt;&quot;--&amp;gt; &lt;BR&gt;你觉得上面的代码可以工作吗？不！简单地使用ASP来达到动态包含，你不能达到你想要的效果。为什么？因为：Include命令先于ASP代码而得到执行，所以，上面的代码并没有按照作者的意愿，先得到用户所在的省份，再包含这个省份的信息！ &lt;/P&gt;
&lt;P&gt;如果你确实需要动态包含，你可以这样做：&lt;BR&gt;&amp;lt;%&lt;BR&gt;Select Case Province&lt;BR&gt;Case 1: %&amp;gt;&lt;BR&gt;&amp;lt;!--＃i nclude file=&quot;1.asp&quot;&#224;&lt;BR&gt;&amp;lt;% Case 2: %&amp;gt;&lt;BR&gt;&amp;lt;!--＃i nclude file=&quot;2.asp&quot;&#224;&lt;BR&gt;&amp;lt;% Case 3: %&amp;gt;&lt;BR&gt;&amp;lt;!--＃i nclude file=&quot;3.asp&quot;&#224;&lt;BR&gt;&amp;lt;% End Select %&amp;gt;&lt;/P&gt;
&lt;P&gt;应该说，这段代码可以得到你想要的结果。但是，由于你的用户可能来自于33个省，你难道包含33个文件？特别要说明的是，SSInc.dll是不知道你究竟需要哪个包含文件的（事实上，这时候Province还没有值），所以，她把所有的文件都包含进来了！你可以想象，这时候的文件有多大！然后，ASP.DLL会去扫描这个文件中的ASP代码，然后执行！&lt;BR&gt;所以，每当这样的时候，你应该考虑其他的思路，比如数据库，或者采用FileSystemObject。&lt;/P&gt;
&lt;P&gt;怎样动态Include文件？&lt;/P&gt;
&lt;P&gt;解答 &lt;BR&gt;ASP程序员经常面临的最大挑战之一是动态Include文件。由于＃i nclude 在ASP代码执行之前处理，所以，看起来，动if/else的脑筋是不可能的。&lt;BR&gt;真是这样吗？&lt;BR&gt;根据你使用Include的目的，以及你将Include的文件数目，使用if/else也许可以解决问题。但这绝对不是任何时候可以奏效的，而且也不是一种有效的解决办法，因为你需要做许多的手工工作。&lt;BR&gt;假设有两个样本HTM文件，1.htm和2.htm，为简化起见，假设文件的内容如下：&lt;BR&gt;&amp;lt;!-- 1.HTM: --&amp;gt; &lt;BR&gt;&amp;lt;font color=#ff0000&amp;gt;This is 1.htm&amp;lt;/font&amp;gt; &lt;BR&gt;&amp;lt;!-- 2.HTM: --&amp;gt; &lt;BR&gt;&amp;lt;font color=#0000ff&amp;gt;This is 2.htm&amp;lt;/font&amp;gt;&lt;BR&gt;现在我们来试试动态Include：&lt;BR&gt;&amp;lt;% &lt;BR&gt;if request.querystring(‘param‘)=‘2‘ then &lt;BR&gt;%&amp;gt; &lt;BR&gt;&amp;lt;!--＃i nclude file=‘2.htm‘--&amp;gt; &lt;BR&gt;&amp;lt;% &lt;BR&gt;else &lt;BR&gt;%&amp;gt; &lt;BR&gt;&amp;lt;!--＃i nclude file=‘1.htm‘--&amp;gt; &lt;BR&gt;&amp;lt;% &lt;BR&gt;end if &lt;BR&gt;%&amp;gt;&lt;BR&gt;请注意：上面的两个＃i nclude 实际上都得到了处理。你可以实际运行一下，看看效果：http://localhost/Test.asp?param=1&lt;BR&gt;http://localhost/Test.asp?param=2&lt;BR&gt;http://localhost/Test.asp&lt;BR&gt;上面我们是把一个querystring作为条件。你还可以把时间、日期、浏览器版本等作为条件。但是，条件越复杂，这种方法的效率越差。下面提供了另外一种思路：&lt;BR&gt;&amp;lt;% &lt;BR&gt;if request(‘param‘)=‘2‘ then &lt;BR&gt;filespec = ‘2.htm‘ &lt;BR&gt;else &lt;BR&gt;filespec = ‘1.htm‘ &lt;BR&gt;end if &lt;BR&gt;filespec = server.mapPath(filespec) &lt;BR&gt;scr = ‘scripting.fileSystemObject‘ &lt;BR&gt;set fs = server.createobject(scr) &lt;BR&gt;set f = fs.openTextFile(filespec) &lt;BR&gt;content = f.readall &lt;BR&gt;set f = nothing &lt;BR&gt;set fs = nothing &lt;BR&gt;response.write(content) &lt;BR&gt;%&amp;gt;&lt;BR&gt;在IIS5.0/ASP3.0中，有两种新的方法来支持“动态包含”：&lt;BR&gt;&amp;lt;% &lt;BR&gt;server.transfer filename &lt;BR&gt;server.execute filename &lt;BR&gt;%&amp;gt;&lt;BR&gt;如果正好使用的是IIS5.0和ASP3.0，那么Ok! 但是IIS5.0需要运行在Windows 2000上。&lt;/P&gt;</description>
       </item>
       <item>
           <title>[JavaScript]js:限制页面必须在框架内·完美版：保证父框架启动的后，自动打开原来页面！</title>
           <link>http://www.yici.net/content/text_all/text_0/542_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>JavaScript</category>
           <pubDate>2009-2-17 22:00:04</pubDate>
           <comments></comments>
           <description>&lt;P&gt;asp.net支持母板页了，这是一个相当强大而实用的功能，不过iframe框架页面还有它的生存空间。比如说网站的后台管理界面，比如说应用软件。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;使用框架页有一个事情需要注意，那就是打开子页面的时候需要保存子页面始终被嵌套在父页面的里面。解决这个问题有一个简单的办法，就是在子页面里面加上一段js:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (top.location == self.location) {&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; top.location='index.htm';&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&lt;BR&gt;这段代码的意思就是，现在整个浏览器窗口中，最上面层次的页面是不是当前页面？如果是的话，那就打开父框架页面。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;这段代码很简单，也很简陋，之前网络上的介绍都是只给出了这样的“半个解决方案”，实际的效果是：你要打开a.htm页面（我们称之为原始请求），a.htm页面运行上面的代码，启动了index.htm。这个时候，index.htm里面有一个框架，框架却默认打开另一个页面w.htm。当然，通常情况下，在index.htm里面，我们可能会加上一个指向a的链接。进入index.htm之后点击链接，重新打开A页面。&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;但是这样子不好，打断了用户体验。&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;就有用户提出：我想看a.htm，打开之后却跳了w.htm，然后我还得去找到a.htm链接再打开。&lt;/P&gt;
&lt;P&gt;所以，我最后决定，要找到一个比较完善的方案：请求a.htm，启动index.htm，index.htm再通过框架启动a.htm。页面虽然有一些切换，但是能保证，用户想看到a.htm结果看到的也就是a.htm，并且a.htm还被index.htm的框架包着。&amp;nbsp;&lt;/P&gt;
&lt;P&gt;我曾经想过一个解决办法：向index.htm传递url参数。比如：top.location='index.htm?url=a.html'&amp;nbsp;&amp;nbsp; 这个办法用了一段时间，后来发现这个办法也有缺陷。出现问题的状况是这样的：a.html放在admin/下面，index.htm也放在admin/下面。在地址栏里输入admin/a.html，结果打开admin/index.htm?url =http://localhost/xxxx/admin/a.html&lt;/P&gt;
&lt;P&gt;而且在index.htm也正常显示了A页面。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;但是，admin这个目录是需要用户权限的。当admin/index.htm?url =http://localhost/xxxx/admin/a.html超时之后，asp.net把页面跳转到了/user_login.aspx。这时候的地址栏是&lt;A href=&quot;http://localhostxxxxx/&quot;&gt;http://localhost:xxxxx/xxxx/user_login.aspx?return&lt;/A&gt;=admin/index.htm?url =http://localhost/xxxx/admin/a.html！并且报错！&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;于是我就想到了用cookies。并且，基本上已经成功了。&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;下面是主要功能说明： &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;主要用于框架（iframe）程序 
&lt;LI&gt;现在演示的是htm页面，也适用于asp/asp.net，当然jsp或者php也应该能用，不过我本人不感兴趣，没有测试过。 
&lt;LI&gt;打开目标页面（a.html）之后，目标页面后自动启动父框架文件(index.htm)。 
&lt;LI&gt;目标页面启动父框架之前，会把目标页面的地址存入cookies，父框架启动后读取cookies，并且用目标页面替换掉，默认页面。 
&lt;LI&gt;容错一：父框架读取cookies之后设置cookies失效。 
&lt;LI&gt;容错二：存入cookies时，指定了path（也可以指定domain），防止进入不合适的路径下读取cookies错误。 
&lt;LI&gt;可以通过UrlRegEx()函数动态获取路径和域名。 &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;a.html里的主要代码：&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(top.location&amp;nbsp;==&amp;nbsp;self.location)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;addCookie('adminGoto',self.location.href,2,getPath());&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//alert('all&amp;nbsp;cookie:\n'&amp;nbsp;+&amp;nbsp;document.cookie&amp;nbsp;+&amp;nbsp;'\n\n&amp;nbsp;adminGoto'&amp;nbsp;+&amp;nbsp;getCookie('adminGoto'));&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;top.location='index.htm';&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;function&amp;nbsp;getPath()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;UrlRegEx(location.href)[4];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;}&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;index.htm的主要代码（里面保留了，通过url跳转的代码） &lt;/P&gt;
&lt;DIV class=dp-highlighter&gt;
&lt;DIV class=bar&gt;
&lt;DIV class=tools&gt;&lt;FONT color=#ff0000&gt;&amp;nbsp;function&amp;nbsp;getRequestQueryString(key)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;QueryString&amp;nbsp;=&amp;nbsp;location.search;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(QueryString.indexOf(&quot;?&quot;)!=&amp;nbsp;-1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str&amp;nbsp;=&amp;nbsp;QueryString.substr(1);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;arr&amp;nbsp;=&amp;nbsp;str.split(&quot;&amp;amp;&quot;);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for(var&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0&amp;nbsp;;&amp;nbsp;i&amp;lt;arr.length;&amp;nbsp;i++)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(key&amp;nbsp;==&amp;nbsp;arr[i].split(&quot;=&quot;)[0])&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;arr[i].split(&quot;=&quot;)[1];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;null;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(getRequestQueryString(&quot;url&quot;)){&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;location.href&amp;nbsp;=&amp;nbsp;'index.aspx';&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mainFrame.src&amp;nbsp;=&amp;nbsp;getRequestQueryString(&quot;url&quot;);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(getCookie('adminGoto')&amp;nbsp;!=&amp;nbsp;'')&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;var&amp;nbsp;mainFrame&amp;nbsp;=&amp;nbsp;$('mainFrame');&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mainFrame.src&amp;nbsp;=&amp;nbsp;getCookie('adminGoto');&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;delCookie('adminGoto');&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;comm.js是分离出来的js代码，主要包含两部分内容：操作cookie，通过url获取域名、路径、文件名等。&lt;/P&gt;
&lt;P&gt;示例下载（csdn）&lt;/P&gt;
&lt;P&gt;注意：一个网友来信说代码不能正常运行，结果我检查发现“C:\MxDownload\xpnew_code\xpnew_code\a.html”这种方式测试肯定是不行的，因为我的正则里面不能解析这种地址。&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://download.csdn.net/source/564196&quot;&gt;http://download.csdn.net/source/564196&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;关于更新：&lt;/P&gt;
&lt;P&gt;程序不断完善中，最新版本请留意我的博客&lt;A href=&quot;http://blog.csdn.net/xpnew/&quot;&gt;http://blog.csdn.net/xpnew/&lt;/A&gt;或者&lt;A href=&quot;http://xpnew.cnblogs.com/&quot;&gt;http://xpnew.cnblogs.com/&lt;/A&gt;。&lt;/P&gt;
&lt;P&gt;欢迎提出批评和建议，那是我的荣幸，来信请寄：xpnew#126.com(请替换#为@)。&lt;BR&gt;特别感谢：无忧脚本、csdn、博客园（排名不分先后）&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;http://www.cnblogs.com/xpnew/archive/2008/07/31/1257452.html&lt;/FONT&gt;&lt;/P&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]参数类型不正确，或不在可以接受的范围之内，或与其他参数冲突</title>
           <link>http://www.yici.net/content/text_all/text_0/540_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2009-2-2 19:25:21</pubDate>
           <comments></comments>
           <description>&lt;P&gt;通常ASP的错误主要有语法错误，业务流程和数据库错误等多方面。&lt;/P&gt;
&lt;P&gt;如果你在ASP的VBScript出现&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;，“参数类型不正确，或不在可以接受的范围之内，或与其他参数冲突”&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;假设次错误出现在Rs.open Sql,Conn,1,1&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;那么请检查：1.是否在运行此句之前创建Conn链接。（是运行流程上，不是代码上）&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.是否在此句之前创建RS对象。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.是否写错了SQL语句。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;例子--正确的流程语句：&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;Dim Conn&lt;BR&gt;Set Conn = Server.CreateObject(&quot;Adodb.Connection&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Conn.Open ConnStr&lt;/SPAN&gt;&lt;BR&gt;Select Case sType&lt;BR&gt;&amp;nbsp;&amp;nbsp;Case &quot;Hot&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Call GetHotNews()&lt;BR&gt;&amp;nbsp;&amp;nbsp;Case &quot;Latest&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Call GetLatestNews()&lt;BR&gt;End Select&lt;/P&gt;
&lt;P&gt;Set Rs=Server.CreateObject(&quot;ADODB.Recordset&quot;)&lt;BR&gt;&amp;nbsp;Sql=&quot;Select Top 5 Title,FilePath From view_AllNewsInfo Where [Count]&amp;gt;100 order by id desc&quot;&lt;BR&gt;&amp;nbsp;Rs.Open Sql,Conn,1,1&lt;/P&gt;
&lt;P&gt;例子--错误的流程语句：&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Select Case sType&lt;BR&gt;&amp;nbsp;&amp;nbsp;Case &quot;Hot&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Call GetHotNews()&lt;BR&gt;&amp;nbsp;&amp;nbsp;Case &quot;Latest&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Call GetLatestNews()&lt;BR&gt;End Select&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: #800000&quot;&gt;SDim Conn&lt;BR&gt;Set Conn = Server.CreateObject(&quot;Adodb.Connection&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Conn.Open ConnStr&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Set Rs=Server.CreateObject(&quot;ADODB.Recordset&quot;)&lt;BR&gt;&amp;nbsp;Sql=&quot;Select Top 5 Title,FilePath From view_AllNewsInfo Where [Count]&amp;gt;100 order by id desc&quot;&lt;BR&gt;&amp;nbsp;Rs.Open Sql,Conn,1,1&lt;/P&gt;</description>
       </item>
       <item>
           <title>[JavaScript]js实现图片不能显示时替换图片显示</title>
           <link>http://www.yici.net/content/text_all/text_0/539_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>JavaScript</category>
           <pubDate>2009-1-31 21:21:50</pubDate>
           <comments></comments>
           <description>&lt;P&gt;很久以前在做jsp时，经常要在代码中加入if图片不存在时把url地址换成默认图片，呵呵到前不久看到某个网站的客户端代码中用了onerror来处理默认图片，我在茅塞顿开，知道dom中有这个事件，但是却一直没想到把默认图片处理交给客户端来做。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;lt;html&amp;gt;&lt;BR&gt;&amp;lt;head&amp;gt;&lt;BR&gt;&amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=gb2312&quot; /&amp;gt;&lt;BR&gt;&amp;lt;title&amp;gt;替换示例&amp;lt;/title&amp;gt;&lt;BR&gt;&amp;lt;/head&amp;gt;&lt;BR&gt;&lt;BR&gt;&amp;lt;body&amp;gt;&lt;BR&gt;&amp;lt;img id=&quot;img&quot; src=&quot;001.jpg&quot; onerror=&quot;showerrimg(this);&quot; &amp;gt;&lt;BR&gt;&amp;lt;script language=&quot;JavaScript&quot;&amp;gt;&lt;BR&gt;function showerrimg(obj){&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var errorimg = &quot;error.jpg&quot;;//替换图片地址&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj.src = errorimg;&lt;BR&gt;}&lt;BR&gt;&amp;lt;/script&amp;gt;&lt;BR&gt;&amp;lt;/body&amp;gt;&lt;BR&gt;&amp;lt;/html&amp;gt; &lt;/P&gt;</description>
       </item>
       <item>
           <title>[JavaScript]window.location window URL window.location方法获取URL</title>
           <link>http://www.yici.net/content/text_all/text_0/538_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>JavaScript</category>
           <pubDate>2009-1-29 21:50:08</pubDate>
           <comments></comments>
           <description>&lt;DIV&gt;window.location方法获取URL&lt;/DIV&gt;
&lt;DIV&gt;
&lt;DIV&gt;统一资源定位符&lt;FONT face=&quot;Times New Roman&quot;&gt; (Uniform Resource Locator, URL) &lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;完整的&lt;FONT face=&quot;Times New Roman&quot;&gt;URL&lt;/FONT&gt;由这几个部分构成：&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=&quot;Times New Roman&quot;&gt;scheme://host:port/path?query#fragment &lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=&quot;Times New Roman&quot;&gt;scheme:&lt;/FONT&gt;通信协议&lt;/DIV&gt;
&lt;DIV&gt;常用的&lt;FONT face=&quot;Times New Roman&quot;&gt;http,ftp,maito&lt;/FONT&gt;等&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=&quot;Times New Roman&quot;&gt;host:&lt;/FONT&gt;主机&lt;/DIV&gt;
&lt;DIV&gt;服务器&lt;FONT face=&quot;Times New Roman&quot;&gt;(&lt;/FONT&gt;计算机&lt;FONT face=&quot;Times New Roman&quot;&gt;)&lt;/FONT&gt;域名系统&lt;FONT face=&quot;Times New Roman&quot;&gt; (DNS) &lt;/FONT&gt;主机名或&lt;FONT face=&quot;Times New Roman&quot;&gt; IP &lt;/FONT&gt;地址。&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=&quot;Times New Roman&quot;&gt;port:&lt;/FONT&gt;端口号&lt;/DIV&gt;
&lt;DIV&gt;整数，可选，省略时使用方案的默认端口，如&lt;FONT face=&quot;Times New Roman&quot;&gt;http&lt;/FONT&gt;的默认端口为&lt;FONT face=&quot;Times New Roman&quot;&gt;80&lt;/FONT&gt;。&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=&quot;Times New Roman&quot;&gt;path:&lt;/FONT&gt;路径&lt;/DIV&gt;
&lt;DIV&gt;由零或多个&lt;FONT face=&quot;Times New Roman&quot;&gt;&quot;/&quot;&lt;/FONT&gt;符号隔开的字符串，一般用来表示主机上的一个目录或文件地址。&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=&quot;Times New Roman&quot;&gt;query:&lt;/FONT&gt;查询&lt;/DIV&gt;
&lt;DIV&gt;可选，用于给动态网页（如使用&lt;FONT face=&quot;Times New Roman&quot;&gt;CGI&lt;/FONT&gt;、&lt;FONT face=&quot;Times New Roman&quot;&gt;ISAPI&lt;/FONT&gt;、&lt;FONT face=&quot;Times New Roman&quot;&gt;PHP/JSP/ASP/ASP.NET&lt;/FONT&gt;等技术制作的网页）传递参数，可有多个参数，用&lt;FONT face=&quot;Times New Roman&quot;&gt;&quot;&amp;amp;&quot;&lt;/FONT&gt;符号隔开，每个参数的名和值用&lt;FONT face=&quot;Times New Roman&quot;&gt;&quot;=&quot;&lt;/FONT&gt;符号隔开。&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=&quot;Times New Roman&quot;&gt;fragment:&lt;/FONT&gt;信息片断&lt;/DIV&gt;
&lt;DIV&gt;字符串，用于指定网络资源中的片断。例如一个网页中有多个名词解释，可使用&lt;FONT face=&quot;Times New Roman&quot;&gt;fragment&lt;/FONT&gt;直接定位到某一名词解释。&lt;FONT face=&quot;Times New Roman&quot;&gt;(&lt;/FONT&gt;也称为锚点&lt;FONT face=&quot;Times New Roman&quot;&gt;.)&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;STRONG&gt;示例：&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=&quot;Times New Roman&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; http://www.home.com:8080/windows/location/page.html?ver=1.0&amp;amp;id=timlq#love&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=&quot;Times New Roman&quot;&gt;1, window.location.href&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;整个&lt;FONT face=&quot;Times New Roman&quot;&gt;URl&lt;/FONT&gt;字符串&lt;FONT face=&quot;Times New Roman&quot;&gt;(&lt;/FONT&gt;在浏览器中就是完整的地址栏&lt;FONT face=&quot;Times New Roman&quot;&gt;)&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;返回值：&lt;FONT face=&quot;Times New Roman&quot;&gt;http://www.home.com:8080/windows/location/page.html?ver=1.0&amp;amp;id=timlq#love &lt;BR&gt;&lt;/FONT&gt;&lt;FONT face=&quot;Times New Roman&quot;&gt;2,window.location.protocol&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=&quot;Times New Roman&quot;&gt;URL &lt;/FONT&gt;的协议部分&lt;/DIV&gt;
&lt;DIV&gt;返回值：&lt;FONT face=&quot;Times New Roman&quot;&gt;http:&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=&quot;Times New Roman&quot;&gt;3,window.location.host&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=&quot;Times New Roman&quot;&gt;URL &lt;/FONT&gt;的主机部分，&lt;/DIV&gt;
&lt;DIV&gt;返回值：&lt;FONT face=&quot;Times New Roman&quot;&gt;www.home.com&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=&quot;Times New Roman&quot;&gt;4,window.location.port&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=&quot;Times New Roman&quot;&gt;URL &lt;/FONT&gt;的端口部分。如果采用默认的&lt;FONT face=&quot;Times New Roman&quot;&gt;80&lt;/FONT&gt;端口&lt;FONT face=&quot;Times New Roman&quot;&gt;(update:&lt;/FONT&gt;即使添加了&lt;FONT face=&quot;Times New Roman&quot;&gt;:80)&lt;/FONT&gt;，那么返回值并不是默认的&lt;FONT face=&quot;Times New Roman&quot;&gt;80&lt;/FONT&gt;而是空字符。&lt;/DIV&gt;
&lt;DIV&gt;本例返回值&lt;FONT face=&quot;Times New Roman&quot;&gt;:8080&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=&quot;Times New Roman&quot;&gt;5,window.location.pathname&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=&quot;Times New Roman&quot;&gt;URL &lt;/FONT&gt;的路径部分&lt;FONT face=&quot;Times New Roman&quot;&gt;(&lt;/FONT&gt;就是文件地址&lt;FONT face=&quot;Times New Roman&quot;&gt;)&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;返回值：&lt;FONT face=&quot;Times New Roman&quot;&gt;/windows/location/page.html&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=&quot;Times New Roman&quot;&gt;6,window.location.search&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;查询&lt;FONT face=&quot;Times New Roman&quot;&gt;(&lt;/FONT&gt;参数&lt;FONT face=&quot;Times New Roman&quot;&gt;)&lt;/FONT&gt;部分。除了给动态语言赋值以外，我们同样可以给静态页面&lt;FONT face=&quot;Times New Roman&quot;&gt;,&lt;/FONT&gt;并使用&lt;FONT face=&quot;Times New Roman&quot;&gt;javascript&lt;/FONT&gt;来获得相信应的参数值&lt;/DIV&gt;
&lt;DIV&gt;返回值：&lt;FONT face=&quot;Times New Roman&quot;&gt;?ver=1.0&amp;amp;id=timlq&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=&quot;Times New Roman&quot;&gt;7,window.location.hash&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;锚点&lt;/DIV&gt;
&lt;DIV&gt;返回值：&lt;FONT face=&quot;Times New Roman&quot;&gt;#love&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]asp利用aspjpeg给图片生成PNG透明水印</title>
           <link>http://www.yici.net/content/text_all/text_0/536_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2009-1-3 18:49:44</pubDate>
           <comments></comments>
           <description>&lt;P&gt;'aspjpeg&lt;FONT face=Verdana&gt;版本:v1.801&lt;BR&gt;&lt;/FONT&gt;'将pic.jpg打上logo.png,可根据图片大小对水印图做适当调整&lt;BR&gt;&lt;BR&gt;filename=&quot;pic.jpg&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '原始图片&lt;BR&gt;Set Jpeg1 = Server.CreateObject(&quot;Persits.Jpeg&quot;)&lt;BR&gt;Jpeg1.Open Server.MapPath(filename)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;iWidth=Jpeg1.OriginalWidth&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;'图片的宽度&lt;BR&gt;iHeight=Jpeg1.OriginalHeight&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'图片的高度&lt;BR&gt;iiwidth=204&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;'水印图片的宽度&lt;BR&gt;iiheight=32&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '水印图片的高度&lt;BR&gt;&lt;BR&gt;'水印图居左上&lt;BR&gt;jpeg1.Canvas.DrawPNG 5, 5,Server.MapPath(&quot;logo.png&quot;)&amp;nbsp;&lt;BR&gt;&lt;BR&gt;'水印图居右上&lt;BR&gt;&lt;FONT face=Verdana&gt;'jpeg1.Canvas.DrawPNG iWidth-iiWidth-5, 5, Server.MapPath(&quot;logo.png&quot;)&amp;nbsp;&amp;nbsp;&lt;BR&gt;&lt;BR&gt;'水印图居左下&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;'jpeg1.Canvas.DrawPNG 5, iHeight-iiHeight-5, Server.MapPath(&quot;logo.png&quot;)&amp;nbsp;&lt;BR&gt;&lt;BR&gt;'水印图居右下&lt;BR&gt;'jpeg1.Canvas.DrawPNG iWidth-iiWidth-5, iHeight-iiHeight-5,Server.MapPath(&quot;logo.png&quot;)&lt;BR&gt;&lt;BR&gt;'水印图居中&lt;BR&gt;'jpeg1.Canvas.DrawPNG iWidth/2-iiWidth/2, iHeight/2-iiHeight/2, Server.MapPath(&quot;logo.png&quot;)&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;jpeg1.save Server.mappath(filename)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'保存打上水印的图片将覆盖原图,亦可另存&lt;BR&gt;Set Jpeg1 = Nothing&lt;BR&gt;&lt;BR&gt;效果:&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG src=&quot;/content/uploadfiles/2009-01/20090103_185012.jpg&quot; border=0&gt;&lt;/P&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]Aspjpeg添加文字水印、图片LOGO水印完整方法</title>
           <link>http://www.yici.net/content/text_all/text_0/535_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2009-1-3 18:23:46</pubDate>
           <comments></comments>
           <description>ASPJPEG是Persits出品的共享软件，试用期为30天，您可以在这里下载：http://www.persits.com/aspjpeg.exe。最新版本号是1.3 &lt;BR&gt;ASPJPEG是一款功能相当强大的图象处理组件，用它可以轻松地做出图片的缩略图和为图片加上水印功能。下面简单介绍一下使用方法： &lt;BR&gt;您先要执行下载得到的exe文件，安装该组件 &lt;BR&gt;1、为图片制作缩略图&amp;nbsp; &lt;BR&gt;&amp;lt;%&amp;nbsp;\\\'&amp;nbsp;建立实例 &lt;BR&gt;Dim&amp;nbsp;Jpeg,Path &lt;BR&gt;Set&amp;nbsp;Jpeg&amp;nbsp;=&amp;nbsp;Server.CreateObject(&quot;Persits.Jpeg&quot;) &lt;BR&gt;\\\'&amp;nbsp;图片所在位置 &lt;BR&gt;Path&amp;nbsp;=&amp;nbsp;Server.MapPath(&quot;images&quot;)&amp;nbsp;&amp;amp;&amp;nbsp;&quot;\\\\clock.jpg&quot; &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;\\\'&amp;nbsp;打开 &lt;BR&gt;Jpeg.Open&amp;nbsp;Path &lt;BR&gt;&lt;BR&gt;\\\'&amp;nbsp;设置缩略图大小（这里比例设定为50%） &lt;BR&gt;Jpeg.Width&amp;nbsp;=&amp;nbsp;Jpeg.OriginalWidth&amp;nbsp;/&amp;nbsp;2 &lt;BR&gt;Jpeg.Height&amp;nbsp;=&amp;nbsp;Jpeg.OriginalHeight&amp;nbsp;/&amp;nbsp;2 &lt;BR&gt;&lt;BR&gt;\\\'&amp;nbsp;保存缩略图到指定文件夹下 &lt;BR&gt;Jpeg.Save&amp;nbsp;Server.MapPath(&quot;images&quot;)&amp;nbsp;&amp;amp;&amp;nbsp;&quot;\\\\clock_small.jpg&quot; &lt;BR&gt;&lt;BR&gt;\\\'&amp;nbsp;注销实例 &lt;BR&gt;Set&amp;nbsp;Jpeg&amp;nbsp;=&amp;nbsp;Nothing &lt;BR&gt;%&amp;gt; &lt;BR&gt;&lt;BR&gt;&amp;lt;IMG&amp;nbsp;SRC=&quot;images/clock.jpg&quot;&amp;gt;&amp;lt;P&amp;gt; &lt;BR&gt;&amp;lt;IMG&amp;nbsp;SRC=&quot;images/clock_small.jpg&quot;&amp;gt;&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;2、为图片加入水印功能 &lt;BR&gt;&amp;lt;% &lt;BR&gt;Dim&amp;nbsp;Jpeg &lt;BR&gt;\\\'&amp;nbsp;建立实例 &lt;BR&gt;Set&amp;nbsp;Jpeg&amp;nbsp;=&amp;nbsp;Server.CreateObject(&quot;Persits.Jpeg&quot;) &lt;BR&gt;\\\'&amp;nbsp;打开目标图片 &lt;BR&gt;Jpeg.Open&amp;nbsp;Server.MapPath(&quot;images/dodge_viper.jpg&quot;) &lt;BR&gt;&lt;BR&gt;\\\'&amp;nbsp;添加文字水印 &lt;BR&gt;Jpeg.Canvas.Font.Color&amp;nbsp;=&amp;nbsp;&amp;amp;HFF0000\\\'&amp;nbsp;红色 &lt;BR&gt;Jpeg.Canvas.Font.Family&amp;nbsp;=&amp;nbsp;&quot;宋体&quot; &lt;BR&gt;Jpeg.Canvas.Font.Bold&amp;nbsp;=&amp;nbsp;True&amp;nbsp;&amp;nbsp; &lt;BR&gt;Jpeg.Canvas.Print&amp;nbsp;10,&amp;nbsp;10,&amp;nbsp;&quot;Copyright&amp;nbsp;(c)&amp;nbsp;Cnmaya.org&quot; &lt;BR&gt;&lt;BR&gt;\\\'&amp;nbsp;保存文件 &lt;BR&gt;Jpeg.Save&amp;nbsp;Server.MapPath(&quot;images/dodge_viper_framed.jpg&quot;) &lt;BR&gt;&lt;BR&gt;\\\'&amp;nbsp;注销对象 &lt;BR&gt;Set&amp;nbsp;Jpeg&amp;nbsp;=&amp;nbsp;Nothing &lt;BR&gt;%&amp;gt;&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;上次做过图片水印，效果很差，没办法把图片弄成背景透明的，用背景透明gif会自动填充成白色。用去掉某种颜色的功能，图片颜色总是不纯，出来的效果斑斑点点。今天灵机一动，把这两个结合起来，用背景透明的gif，并且抽取水印底色，果然成功了！ &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ogvbox.Canvas.Pen.Color&amp;nbsp;&amp;nbsp;=&amp;nbsp;&amp;amp;H000000&amp;nbsp;&amp;nbsp;\\\'//&amp;nbsp;边框的颜色 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ogvbox.Canvas.Pen.Width&amp;nbsp;&amp;nbsp;=&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\\\'//&amp;nbsp;边框的粗细 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ogvbox.Canvas.Brush.Solid&amp;nbsp;=&amp;nbsp;False&amp;nbsp;&amp;nbsp;&amp;nbsp;\\\'//&amp;nbsp;图片边框内是否填充颜色 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ogvbox.DrawImage&amp;nbsp;ogvbox.Width-210,&amp;nbsp;ogvbox.Height-74,&amp;nbsp;Logobox&amp;nbsp;&amp;nbsp;,0.3,&amp;amp;HFFFFFF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\\\'//&amp;nbsp;加入图片的位置坐标（添加水印图片），我用图片大小减去水印大小，把水印加在右下角。参数顺序为：水平坐标，垂直坐标，水印图片地址，水银透明度，抽取颜色（&amp;amp;H表示16进制） &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ogvbox.Canvas.Bar&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;ogvbox.Width,&amp;nbsp;ogvbox.Height&amp;nbsp;\\\'//&amp;nbsp;图片边框线的位置坐标和大小 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ogvbox.Save&amp;nbsp;Server.MapPath(imagename)&amp;nbsp;&amp;nbsp;\\\'//&amp;nbsp;生成文件 &lt;BR&gt;\'//------Pollener.com&amp;nbsp;AspJpeg组件的预览和水印生成------开始------ &lt;BR&gt;\'创建预览图片:call&amp;nbsp;CreateView(原始文件的路径,预览文件名及路径) &lt;BR&gt;Sub&amp;nbsp;CreateView(imagename,tempFilename) &lt;BR&gt;\'定义变量。 &lt;BR&gt;Dim&amp;nbsp;PreviewImageFolderName &lt;BR&gt;Dim&amp;nbsp;ogvbox,objFont &lt;BR&gt;Dim&amp;nbsp;Logobox,LogoPath &lt;BR&gt;LogoPath&amp;nbsp;=&amp;nbsp;Server.MapPath(&quot;images&quot;)&amp;nbsp;&amp;amp;&amp;nbsp;&quot;\\shuiyin.gif&quot;&amp;nbsp;&amp;nbsp;\'//加入图片所在路径及文件名(我的是论坛\\images\\shuiyin.gif)。 &lt;BR&gt;&lt;BR&gt;Select&amp;nbsp;Case&amp;nbsp;upload_ViewType &lt;BR&gt;Case&amp;nbsp;0 &lt;BR&gt;\'---------------------CreatePreviewImage--------------- &lt;BR&gt;set&amp;nbsp;ogvbox&amp;nbsp;=&amp;nbsp;Server.CreateObject(&quot;CreatePreviewImage.cGvbox&quot;) &lt;BR&gt;ogvbox.SetSavePreviewImagePath=Server.MapPath(tempFilename)&amp;nbsp;&amp;nbsp;&amp;nbsp;\'预览图存放路径。 &lt;BR&gt;ogvbox.SetPreviewImageSize&amp;nbsp;=SetPreviewImageSize&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\'预览图宽度。 &lt;BR&gt;ogvbox.SetImageFile&amp;nbsp;=&amp;nbsp;trim(Server.MapPath(imagename))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\'imagename原始文件的物理路径。 &lt;BR&gt;\'创建预览图的文件。 &lt;BR&gt;If&amp;nbsp;ogvbox.DoImageProcess=false&amp;nbsp;Then &lt;BR&gt;Response.write&amp;nbsp;&quot;生成预览图错误:&quot;&amp;amp;&amp;nbsp;ogvbox.GetErrString &lt;BR&gt;End&amp;nbsp;If &lt;BR&gt;Case&amp;nbsp;1 &lt;BR&gt;\'---------------------AspJpegV1.2--------------- &lt;BR&gt;Set&amp;nbsp;Logobox&amp;nbsp;=&amp;nbsp;Server.CreateObject(&quot;Persits.Jpeg&quot;) &lt;BR&gt;\'//建议不要图片和文字水印同时使用，本代码为使用图片水印。 &lt;BR&gt;Logobox.Open&amp;nbsp;LogoPath&amp;nbsp;&amp;nbsp;\'//读取添加的图片。 &lt;BR&gt;&lt;BR&gt;\'//重新设置图片的大小。 &lt;BR&gt;Logobox.Width&amp;nbsp;=&amp;nbsp;186&amp;nbsp;&amp;nbsp;\'//用做水印的图片的宽度值（像素）。 &lt;BR&gt;Logobox.Height&amp;nbsp;=&amp;nbsp;52&amp;nbsp;&amp;nbsp;\'//用做水印的图片的高度值（像素）。 &lt;BR&gt;\'//添加水印。 &lt;BR&gt;Set&amp;nbsp;ogvbox&amp;nbsp;=&amp;nbsp;Server.CreateObject(&quot;Persits.Jpeg&quot;) &lt;BR&gt;\'//读取要处理的原文件。 &lt;BR&gt;ogvbox.Open&amp;nbsp;Trim(Server.MapPath(imagename)) &lt;BR&gt;If&amp;nbsp;ogvbox.OriginalWidth&amp;lt;Cint(ImageWidth)&amp;nbsp;or&amp;nbsp;ogvbox.Originalheight&amp;lt;Cint(ImageHeight)&amp;nbsp;Then &lt;BR&gt;&amp;nbsp;&amp;nbsp;F_Viewname=&quot;&quot; &lt;BR&gt;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ogvbox&amp;nbsp;=&amp;nbsp;Nothing &lt;BR&gt;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;BR&gt;Else &lt;BR&gt;IF&amp;nbsp;ImageMode&amp;lt;&amp;gt;&quot;&quot;&amp;nbsp;and&amp;nbsp;FileExt&amp;lt;&amp;gt;&quot;gif&quot;&amp;nbsp;Then&amp;nbsp;&amp;nbsp;\'//如果将这行改为IF&amp;nbsp;ImageMode&amp;lt;&amp;gt;&quot;&quot;&amp;nbsp;Then则可给上传的GIF图片也加上水印，但是那些动画的GIF在加了水印以后就只剩第一桢了，根据你的需求酌情处理吧。 &lt;BR&gt;&lt;BR&gt;\'//关于修改字体及文字颜色的。 &lt;BR&gt;\'//ogvbox.Canvas.Font.Color&amp;nbsp;=&amp;nbsp;&amp;amp;H0000FF&amp;nbsp;&amp;nbsp;\'//水印文字的颜色，&amp;amp;H后面输入色彩值。 &lt;BR&gt;\'//ogvbox.Canvas.Font.Size&amp;nbsp;=&amp;nbsp;18&amp;nbsp;&amp;nbsp;\'//水印文字的大小。 &lt;BR&gt;\'//ogvbox.Canvas.Font.Family&amp;nbsp;=&amp;nbsp;&quot;Arial&quot;&amp;nbsp;&amp;nbsp;\'//水印文字的字体名称。 &lt;BR&gt;\'//ogvbox.Canvas.Font.ShadowColor&amp;nbsp;=&amp;nbsp;&amp;amp;H000000&amp;nbsp;&amp;nbsp;\'//水印文字的阴影色彩。 &lt;BR&gt;\'//ogvbox.Canvas.Font.ShadowXoffset&amp;nbsp;=&amp;nbsp;1&amp;nbsp;&amp;nbsp;\'//水印文字阴影向右偏移的像素值，输入负值则向左偏移。 &lt;BR&gt;\'//ogvbox.Canvas.Font.ShadowYoffset&amp;nbsp;=&amp;nbsp;1&amp;nbsp;&amp;nbsp;\'//水印文字阴影向下偏移的像素值，输入负值则向右偏移。 &lt;BR&gt;\'//ogvbox.Canvas.Font.Quality&amp;nbsp;=&amp;nbsp;3&amp;nbsp;&amp;nbsp;\'//水印文字的清晰度，从0～4，变换不是很大，建议用2或3。 &lt;BR&gt;\'//ogvbox.Canvas.Font.Bold&amp;nbsp;=&amp;nbsp;True&amp;nbsp;&amp;nbsp;\'//水印文字是否为粗体，True=粗体&amp;nbsp;False=正常。 &lt;BR&gt;&lt;BR&gt;\'ogvbox.Canvas.Print&amp;nbsp;10,&amp;nbsp;10,&amp;nbsp;ImageMode&amp;nbsp;&amp;nbsp;\'//水印文字的起始坐标（像素）。 &lt;BR&gt;ogvbox.Canvas.Pen.Color&amp;nbsp;&amp;nbsp;=&amp;nbsp;&amp;amp;H000000&amp;nbsp;&amp;nbsp;\'//增加水印后图片的边框色彩。 &lt;BR&gt;ogvbox.Canvas.Pen.Width&amp;nbsp;&amp;nbsp;=&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;\'//增加水印后图片的边框宽度。 &lt;BR&gt;ogvbox.Canvas.Brush.Solid&amp;nbsp;=&amp;nbsp;False&amp;nbsp;&amp;nbsp;\'//边框内是否填充颜色，你可以试试看值为True时的效果^o^ &lt;BR&gt;ogvbox.DrawImage&amp;nbsp;ogvbox.width-186,&amp;nbsp;ogvbox.height-52,&amp;nbsp;Logobox,&amp;nbsp;0.5&amp;nbsp;&amp;nbsp;\'//水印图片的起始坐标，我这里ogvbox.width-186,&amp;nbsp;ogvbox.height-52,表示图片在右下角，因为我的图片宽是186，高是52，所以这样写，你可以根据自己的图片进行调整。0.5是透明度，我这里是半透明，1表示不透明，你也可以试试看0.7或者0.8的效果。 &lt;BR&gt;ogvbox.Canvas.Bar&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;ogvbox.Width,&amp;nbsp;ogvbox.Height&amp;nbsp;&amp;nbsp;\'//水印可用的范围。我这里表示左上角至右下角，即整张图片的任意为止都可加水印。 &lt;BR&gt;ogvbox.Save&amp;nbsp;Server.MapPath(imagename)&amp;nbsp;&amp;nbsp;\'//根据以上参数生成增加水印后的图片文件。 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ogvbox.Width&amp;nbsp;=&amp;nbsp;ImageWidth &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ogvbox.height&amp;nbsp;=&amp;nbsp;ImageHeight &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;\'ogvbox.height&amp;nbsp;=&amp;nbsp;ogvbox.Originalheight*ImageWidth\\ogvbox.OriginalWidth &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ogvbox.Sharpen&amp;nbsp;1,&amp;nbsp;120 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ogvbox.Save&amp;nbsp;Server.MapPath(tempFilename)&amp;nbsp;&amp;nbsp;\'//生成增加水印后的图片的预览图片。 &lt;BR&gt;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;BR&gt;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;Logobox=Nothing &lt;BR&gt;\'//------Pollener.com&amp;nbsp;AspJpeg组件的预览和水印生成------结束------ &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]一个蛮BT的防SQL注入过滤函数</title>
           <link>http://www.yici.net/content/text_all/text_0/534_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2009-1-3 0:33:04</pubDate>
           <comments></comments>
           <description>&amp;lt;%&lt;BR&gt;'SQL防注入过滤函数&lt;BR&gt;Function ChkStr(Str)&lt;BR&gt;&amp;nbsp;&amp;nbsp; If Isnull(Str) Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CheckStr = &quot;&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit Function &lt;BR&gt;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str,Chr(0),&quot;&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;&quot;&quot;&quot;, &quot;&amp;amp;quot;&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str,&quot;&amp;lt;&quot;,&quot;&amp;amp;lt;&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str,&quot;&amp;gt;&quot;,&quot;&amp;amp;gt;&quot;, 1, -1, 1) &lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;script&quot;, &quot;&amp;amp;#115;cript&quot;, 1, -1, 0)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;SCRIPT&quot;, &quot;&amp;amp;#083;CRIPT&quot;, 1, -1, 0)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;Script&quot;, &quot;&amp;amp;#083;cript&quot;, 1, -1, 0)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;script&quot;, &quot;&amp;amp;#083;cript&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;object&quot;, &quot;&amp;amp;#111;bject&quot;, 1, -1, 0)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;OBJECT&quot;, &quot;&amp;amp;#079;BJECT&quot;, 1, -1, 0)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;Object&quot;, &quot;&amp;amp;#079;bject&quot;, 1, -1, 0)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;object&quot;, &quot;&amp;amp;#079;bject&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;applet&quot;, &quot;&amp;amp;#097;pplet&quot;, 1, -1, 0)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;APPLET&quot;, &quot;&amp;amp;#065;PPLET&quot;, 1, -1, 0)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;Applet&quot;, &quot;&amp;amp;#065;pplet&quot;, 1, -1, 0)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;applet&quot;, &quot;&amp;amp;#065;pplet&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;[&quot;, &quot;&amp;amp;#091;&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;]&quot;, &quot;&amp;amp;#093;&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;&quot;&quot;&quot;, &quot;&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;=&quot;, &quot;&amp;amp;#061;&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;'&quot;, &quot;''&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;select&quot;, &quot;sel&amp;amp;#101;ct&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;execute&quot;, &quot;&amp;amp;#101xecute&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;exec&quot;, &quot;&amp;amp;#101xec&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;join&quot;, &quot;jo&amp;amp;#105;n&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;union&quot;, &quot;un&amp;amp;#105;on&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;where&quot;, &quot;wh&amp;amp;#101;re&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;insert&quot;, &quot;ins&amp;amp;#101;rt&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;delete&quot;, &quot;del&amp;amp;#101;te&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;update&quot;, &quot;up&amp;amp;#100;ate&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;like&quot;, &quot;lik&amp;amp;#101;&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;drop&quot;, &quot;dro&amp;amp;#112;&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;create&quot;, &quot;cr&amp;amp;#101;ate&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;rename&quot;, &quot;ren&amp;amp;#097;me&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;count&quot;, &quot;co&amp;amp;#117;nt&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;chr&quot;, &quot;c&amp;amp;#104;r&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;mid&quot;, &quot;m&amp;amp;#105;d&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;truncate&quot;, &quot;trunc&amp;amp;#097;te&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;nchar&quot;, &quot;nch&amp;amp;#097;r&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;char&quot;, &quot;ch&amp;amp;#097;r&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;alter&quot;, &quot;alt&amp;amp;#101;r&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;cast&quot;, &quot;ca&amp;amp;#115;t&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str, &quot;exists&quot;, &quot;e&amp;amp;#120;ists&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Str = Replace(Str,Chr(13),&quot;&amp;lt;br&amp;gt;&quot;, 1, -1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; ChkStr = Replace(Str,&quot;'&quot;,&quot;''&quot;, 1, -1, 1)&lt;BR&gt;End Function&lt;BR&gt;%&amp;gt;</description>
       </item>
       <item>
           <title>[ASP/shtml]aspjpeg组件安装、使用常见问题</title>
           <link>http://www.yici.net/content/text_all/text_0/533_1.html</link>
           <author>佚名</author>
           <guid></guid>
           <category>ASP/shtml</category>
           <pubDate>2009-1-2 16:31:43</pubDate>
           <comments></comments>
           <description>&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px&quot;&gt;检测是否注册成功&amp;lt;% &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px&quot;&gt;Set Jpeg =Server.CreateObject(&quot;Persits.Jpeg&quot;)&lt;BR&gt;Response.Write Jpeg.Expires&lt;BR&gt;%&amp;gt; 如果显示为 99999 则表明 注册安装成功&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px&quot;&gt;如果未成功 可尝试以下方法&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px&quot;&gt;更改 注册表 序列号&lt;SPAN style=&quot;FONT-SIZE: 12px&quot;&gt;&lt;BR&gt;HKEY_LOCAL_MA CHINE&amp;nbsp;&amp;nbsp;\Software\ Persits Software\AspJpeg\RegKey&amp;nbsp;&amp;nbsp;RegKey值填入序列号&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px&quot;&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;以下详细说明&lt;/P&gt;
&lt;DIV class=content_main&gt;Persits&amp;nbsp;AspJpeg1.6简明教程&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;1、什么是AspJpeg？&lt;/STRONG&gt;&lt;BR&gt;　　AspJpeg是一款功能强大的基于Microsoft&amp;nbsp;IIS环境的图片处理组件，网络上对其进行详细和深入介绍的中文文章并不多，即使有一般也只是牵涉到图片缩略图和图片水印，这与其为英文版本有着密切的关系。&lt;BR&gt;　　AspJpeg可以使用很少的代码在您的ASP/ASP.Net应用程序上动态的创建高质量的缩略图象，支持的图象格式有：JPEG,&amp;nbsp;GIF,&amp;nbsp;BMP,&amp;nbsp;TIFF,&amp;nbsp;PNG&lt;BR&gt;&lt;BR&gt;AspJpeg主要可以做到：&lt;BR&gt;&lt;BR&gt;生成缩略图片&lt;BR&gt;生成水印图片&lt;BR&gt;图片合并&lt;BR&gt;图片切割&lt;BR&gt;数据库支持&lt;BR&gt;安全码技术&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;2、AspJpeg功能摘要&lt;/STRONG&gt;&lt;BR&gt;支持JPEG,&amp;nbsp;GIF,&amp;nbsp;BMP,&amp;nbsp;TIFF&amp;nbsp;和&amp;nbsp;PNG&amp;nbsp;格式图片.&amp;nbsp;输出格式始终为&amp;nbsp;JPEG&lt;BR&gt;源图片可以来源于磁盘、内存、或者记录集（数据库）&lt;BR&gt;缩略图片可以保存到磁盘、内存、或者HTTP流&lt;BR&gt;支持三种更改大小方式:&amp;nbsp;nearest-neighbor,&amp;nbsp;bilinear,&amp;nbsp;and&amp;nbsp;bicubic.&amp;nbsp;&lt;BR&gt;可以在图片之上添加图片或者文字.&amp;nbsp;&lt;BR&gt;支持画中画&lt;BR&gt;支持复制，反转，旋转，锐化，灰度调节.&lt;BR&gt;可以调节压缩比率，以得到最佳输出效果和大小.&amp;nbsp;&lt;BR&gt;从Jpeg图片中抽取EXIF&amp;nbsp;和&amp;nbsp;IPTC数据.&lt;BR&gt;CMYK-RGB转换&lt;BR&gt;Read/write&amp;nbsp;access&amp;nbsp;to&amp;nbsp;individual&amp;nbsp;pixels&amp;nbsp;of&amp;nbsp;an&amp;nbsp;image.&amp;nbsp;（从图象中对任意象素进行读/写存取。）&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;3、AspJpeg系统需求&lt;/STRONG&gt;&lt;BR&gt;Windows&amp;nbsp;95/98/NT/2000/XP/2003,&amp;nbsp;and&amp;nbsp;&lt;BR&gt;IIS&amp;nbsp;4.0+&amp;nbsp;and&amp;nbsp;ASP/ASP.NET,&amp;nbsp;or&lt;BR&gt;Visual&amp;nbsp;Basic&amp;nbsp;5.0+,&amp;nbsp;or&lt;BR&gt;Visual&amp;nbsp;C++&amp;nbsp;5.0+,&amp;nbsp;or&lt;BR&gt;any&amp;nbsp;development&amp;nbsp;environment&amp;nbsp;supporting&amp;nbsp;COM.&amp;nbsp;&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;4、AspJpeg安装&lt;/STRONG&gt;&lt;BR&gt;全新安装：&lt;BR&gt;在AspJpeg安装过程中输入序列号即可，如果安装位置磁盘格式为NTFS，则可能出现访问权限问题，需手工设置安装目录对Everyone有访问权限。&lt;BR&gt;&lt;BR&gt;更新安装：&lt;BR&gt;如果之前有装过其它版本的AspJpeg组件，则需要先卸载原来的组件，再进行新版本的安装。&lt;BR&gt;先停止IIS&lt;BR&gt;Net&amp;nbsp;Stop&amp;nbsp;iisadmin&amp;nbsp;/y&lt;BR&gt;卸载旧版组件&lt;BR&gt;regsvr32&amp;nbsp;/u&amp;nbsp;Path/aspjpeg.dl（Path为安装路径）&lt;BR&gt;重启IIS&lt;BR&gt;Net&amp;nbsp;Start&amp;nbsp;w3svc&lt;BR&gt;&lt;BR&gt;然后再进行全新安装或复制AspJpeg.dll文件到安装目录进行手工安装：&lt;BR&gt;regsvr32&amp;nbsp;Path/aspjpeg.dll（Path为安装路径）&lt;BR&gt;&lt;BR&gt;如果在正常安装过程中没有输入序列号或手工安装则必须在注册表中加入以下项，为方便起见您可以直接将以下代码保存为.reg文档并导入注册表：&lt;BR&gt;
&lt;DIV class=code_main&gt;Windows&amp;nbsp;Registry&amp;nbsp;Editor&amp;nbsp;Version&amp;nbsp;5.00&lt;BR&gt;&lt;BR&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Persits&amp;nbsp;Software\AspUpload3\RegKey]&lt;BR&gt;@=&quot;21764-40765-60456&quot;&lt;/DIV&gt;&lt;BR&gt;&lt;STRONG&gt;5、如何创建一个AspJpeg实例？&lt;/STRONG&gt;&lt;BR&gt;
&lt;DIV class=code_main&gt;Set&amp;nbsp;Jpeg&amp;nbsp;=&amp;nbsp;Server.CreateObject(&quot;Persits.Jpeg&quot;)&lt;/DIV&gt;&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;6、如何查看到期时间（是否注册成功）？&lt;/STRONG&gt;&lt;BR&gt;
&lt;DIV class=code_main&gt;Set&amp;nbsp;Jpeg&amp;nbsp;=&amp;nbsp;Server.CreateObject(&quot;Persits.Jpeg&quot;)&lt;BR&gt;Response.Write&amp;nbsp;Jpeg.Expires&lt;/DIV&gt;&lt;BR&gt;注册成功则到期时间为：9999-9-9&lt;BR&gt;否则为：安装日期加1个月期限&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;7、如何用AspJpeg组件生成图片缩略图？&lt;/STRONG&gt;&lt;BR&gt;
&lt;DIV class=code_main&gt;&amp;lt;%&amp;nbsp;&lt;BR&gt;Set&amp;nbsp;Jpeg&amp;nbsp;=&amp;nbsp;Server.CreateObject(&quot;Persits.Jpeg&quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'创建实例&lt;BR&gt;Path&amp;nbsp;=&amp;nbsp;Server.MapPath(&quot;../images/apple.jpg&quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'处理图片路径&lt;BR&gt;Jpeg.Open&amp;nbsp;Path&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'打开图片&lt;BR&gt;'调整宽度和高度为原来的50%&lt;BR&gt;Jpeg.Width&amp;nbsp;=&amp;nbsp;Jpeg.OriginalWidth&amp;nbsp;/&amp;nbsp;2&lt;BR&gt;Jpeg.Height&amp;nbsp;=&amp;nbsp;Jpeg.OriginalHeight&amp;nbsp;/&amp;nbsp;2&lt;BR&gt;Jpeg.Save&amp;nbsp;Server.MapPath(&quot;apple_small.jpg&quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'保存图片到磁盘&lt;BR&gt;Jpeg.Close:Set&amp;nbsp;Jpeg&amp;nbsp;=&amp;nbsp;Nothing&lt;BR&gt;%&amp;gt;&lt;/DIV&gt;&amp;nbsp;&lt;BR&gt;&lt;STRONG&gt;8、如何用AspJpeg组件生成图片水印？&lt;/STRONG&gt;&lt;BR&gt;
&lt;DIV class=code_main&gt;&amp;lt;%&amp;nbsp;&lt;BR&gt;Set&amp;nbsp;Jpeg&amp;nbsp;=&amp;nbsp;Server.CreateObject(&quot;Persits.Jpeg&quot;)&amp;nbsp;&lt;BR&gt;Jpeg.Open&amp;nbsp;Server.MapPath(&quot;images/dodge_viper.jpg&quot;)&amp;nbsp;&lt;BR&gt;开始写文字&amp;nbsp;&lt;BR&gt;Jpeg.Canvas.Font.Color&amp;nbsp;=&amp;nbsp;&amp;amp;000000''&amp;nbsp;red&amp;nbsp;颜色&amp;nbsp;&lt;BR&gt;Jpeg.Canvas.Font.Family&amp;nbsp;=&amp;nbsp;&quot;Courier&amp;nbsp;New&quot;&amp;nbsp;字体&amp;nbsp;&lt;BR&gt;Jpeg.Canvas.Font.Bold&amp;nbsp;=&amp;nbsp;True&amp;nbsp;是否加粗&amp;nbsp;&lt;BR&gt;Jpeg.Canvas.Print&amp;nbsp;10,&amp;nbsp;10,&amp;nbsp;&quot;Copyright&amp;nbsp;(c)&amp;nbsp;XYZ,&amp;nbsp;Inc.&quot;&amp;nbsp;&lt;BR&gt;打印坐标x&amp;nbsp;打印坐标y&amp;nbsp;需要打印的字符&amp;nbsp;&lt;BR&gt;以下是对图片进行边框处理&amp;nbsp;&lt;BR&gt;Jpeg.Canvas.Pen.Color&amp;nbsp;=&amp;nbsp;&amp;amp;H000000''&amp;nbsp;black&amp;nbsp;颜色&amp;nbsp;&lt;BR&gt;Jpeg.Canvas.Pen.Width&amp;nbsp;=&amp;nbsp;2&amp;nbsp;画笔宽度&amp;nbsp;&lt;BR&gt;Jpeg.Canvas.Brush.Solid&amp;nbsp;=&amp;nbsp;False&amp;nbsp;是否加粗处理&amp;nbsp;&lt;BR&gt;Jpeg.Canvas.Bar&amp;nbsp;1,&amp;nbsp;1,&amp;nbsp;Jpeg.Width,&amp;nbsp;Jpeg.Height&amp;nbsp;&lt;BR&gt;起始X坐标&amp;nbsp;起始Y坐标&amp;nbsp;输入长度&amp;nbsp;输入高度&amp;nbsp;&lt;BR&gt;Jpeg.Save&amp;nbsp;Server.MapPath(&quot;images/dodge_viper_framed.jpg&quot;)&amp;nbsp;保存&amp;nbsp;&lt;BR&gt;%&amp;gt;&lt;/DIV&gt;&lt;BR&gt;&lt;STRONG&gt;9、如何用AspJpeg组件进行图片合并？&lt;/STRONG&gt;&lt;BR&gt;AspJpeg&amp;nbsp;1.3+&amp;nbsp;enables&amp;nbsp;you&amp;nbsp;to&amp;nbsp;place&amp;nbsp;images&amp;nbsp;on&amp;nbsp;top&amp;nbsp;of&amp;nbsp;each&amp;nbsp;other&amp;nbsp;via&amp;nbsp;the&amp;nbsp;method&amp;nbsp;DrawImage.&amp;nbsp;To&amp;nbsp;use&amp;nbsp;this&amp;nbsp;method,&amp;nbsp;you&amp;nbsp;must&amp;nbsp;create&amp;nbsp;two&amp;nbsp;instances&amp;nbsp;of&amp;nbsp;the&amp;nbsp;AspJpeg&amp;nbsp;objects&amp;nbsp;and&amp;nbsp;populate&amp;nbsp;both&amp;nbsp;of&amp;nbsp;them&amp;nbsp;with&amp;nbsp;images&amp;nbsp;via&amp;nbsp;calls&amp;nbsp;to&amp;nbsp;Open&amp;nbsp;(or&amp;nbsp;OpenBinary).&amp;nbsp;When&amp;nbsp;calling&amp;nbsp;Canvas.DrawImage,&amp;nbsp;the&amp;nbsp;2nd&amp;nbsp;instance&amp;nbsp;of&amp;nbsp;AspJpeg&amp;nbsp;is&amp;nbsp;passed&amp;nbsp;as&amp;nbsp;an&amp;nbsp;argument&amp;nbsp;to&amp;nbsp;this&amp;nbsp;method,&amp;nbsp;along&amp;nbsp;with&amp;nbsp;the&amp;nbsp;X&amp;nbsp;and&amp;nbsp;Y&amp;nbsp;offsets&amp;nbsp;(in&amp;nbsp;pixels):&amp;nbsp;&lt;BR&gt;使用该方法，您必需创建两个AspJpeg实例对象&lt;BR&gt;
&lt;DIV class=code_main&gt;&amp;lt;%&lt;BR&gt;Set&amp;nbsp;Jpeg1&amp;nbsp;=&amp;nbsp;Server.CreateObject(&quot;Persits.Jpeg&quot;)&lt;BR&gt;Set&amp;nbsp;Jpeg2&amp;nbsp;=&amp;nbsp;Server.CreateObject(&quot;Persits.Jpeg&quot;)&lt;BR&gt;Jpeg1.Open&amp;nbsp;Server.MapPath(&quot;t.jpg&quot;)&lt;BR&gt;Jpeg2.Open&amp;nbsp;Server.MapPath(&quot;t1.jpg&quot;)&lt;BR&gt;Jpeg1.Canvas.DrawImage&amp;nbsp;10,&amp;nbsp;10,&amp;nbsp;Jpeg2&amp;nbsp;'&amp;nbsp;optional&amp;nbsp;arguments&amp;nbsp;omitted&lt;BR&gt;jpeg1.save&amp;nbsp;Server.mappath(&quot;tt.jpg&quot;)&lt;BR&gt;%&amp;gt;&lt;/DIV&gt;&lt;BR&gt;&lt;STRONG&gt;10、如何用AspJpeg组件进行图片切割？&lt;/STRONG&gt;&lt;BR&gt;AspJpeg&amp;nbsp;1.1+&amp;nbsp;is&amp;nbsp;also&amp;nbsp;capable&amp;nbsp;of&amp;nbsp;cutting&amp;nbsp;off&amp;nbsp;edges&amp;nbsp;from,&amp;nbsp;or&amp;nbsp;cropping,&amp;nbsp;the&amp;nbsp;resultant&amp;nbsp;thumbnails&amp;nbsp;via&amp;nbsp;the&amp;nbsp;method&amp;nbsp;Crop(x0,&amp;nbsp;y0,&amp;nbsp;x1,&amp;nbsp;y1).&amp;nbsp;The&amp;nbsp;size&amp;nbsp;of&amp;nbsp;the&amp;nbsp;cropped&amp;nbsp;image&amp;nbsp;is&amp;nbsp;specified&amp;nbsp;by&amp;nbsp;the&amp;nbsp;coordinates&amp;nbsp;of&amp;nbsp;the&amp;nbsp;upper-left&amp;nbsp;and&amp;nbsp;lower-right&amp;nbsp;corners&amp;nbsp;within&amp;nbsp;the&amp;nbsp;resultant&amp;nbsp;thumbnail,&amp;nbsp;not&amp;nbsp;the&amp;nbsp;original&amp;nbsp;large&amp;nbsp;image.&amp;nbsp;&lt;BR&gt;
&lt;DIV class=code_main&gt;&amp;lt;%&lt;BR&gt;Set&amp;nbsp;Jpeg&amp;nbsp;=&amp;nbsp;Server.CreateObject(&quot;Persits.Jpeg&quot;)&lt;BR&gt;Jpeg.Open&amp;nbsp;Server.MapPath(&quot;t.jpg&quot;)&lt;BR&gt;jpeg.Crop&amp;nbsp;20,&amp;nbsp;30,&amp;nbsp;jpeg.Width&amp;nbsp;-&amp;nbsp;20,&amp;nbsp;jpeg.Height&amp;nbsp;-&amp;nbsp;10&amp;nbsp;&lt;BR&gt;jpeg.save&amp;nbsp;Server.mappath(&quot;tt.jpg&quot;)&lt;BR&gt;Response.write(&quot;&amp;lt;img&amp;nbsp;src=tt.jpg&amp;gt;&quot;)&lt;BR&gt;%&amp;gt;&lt;/DIV&gt;&lt;BR&gt;&lt;STRONG&gt;11、如何用AspJpeg组件创建安全码？&lt;/STRONG&gt;&lt;BR&gt;创建安全码原理上和创建水印差不多。&lt;BR&gt;
&lt;DIV class=code_main&gt;&amp;lt;%&lt;BR&gt;function&amp;nbsp;make_randomize(max_len,w_n)&amp;nbsp;'max_len&amp;nbsp;生成长度，w_n：0&amp;nbsp;可能包含字母，1：只为数字&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;randomize&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;intcounter=1&amp;nbsp;to&amp;nbsp;max_len&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;whatnext=int((1-0+1)*rnd+w_n)&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;whatnext=0&amp;nbsp;then&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;upper=122&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lower=97&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;upper=57&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lower=48&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;if&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;strnewpass=strnewpass&amp;nbsp;&amp;amp;&amp;nbsp;chr(int((upper-lower+1)*rnd)+lower)&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;next&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;make_randomize=strnewpass&amp;nbsp;&lt;BR&gt;end&amp;nbsp;function&amp;nbsp;&lt;BR&gt;&lt;BR&gt;'生成安全码的图片。&lt;BR&gt;random_num=make_randomize(4,1)&amp;nbsp;''生成4位数字的安全码&amp;nbsp;&lt;BR&gt;session(&quot;random_num&quot;)=random_num&amp;nbsp;'为么调用session，没有session的安全码是完全没有意义的。呵呵&amp;nbsp;.&lt;BR&gt;&lt;BR&gt;Set&amp;nbsp;Jpeg&amp;nbsp;=&amp;nbsp;Server.CreateObject(&quot;Persits.Jpeg&quot;)&amp;nbsp;'调用组件&amp;nbsp;&lt;BR&gt;Jpeg.Open&amp;nbsp;Server.MapPath(&quot;t.jpg&quot;)&amp;nbsp;'打开准备的图片&amp;nbsp;&lt;BR&gt;Jpeg.Canvas.Font.Color&amp;nbsp;=&amp;nbsp;&amp;amp;HFFFFFF&amp;nbsp;&lt;BR&gt;Jpeg.Canvas.Font.Family&amp;nbsp;=&amp;nbsp;&quot;Arial&amp;nbsp;Black&quot;&amp;nbsp;&lt;BR&gt;Jpeg.Canvas.Font.Bold&amp;nbsp;=&amp;nbsp;false&amp;nbsp;&lt;BR&gt;Jpeg.Canvas.PrintText&amp;nbsp;0,&amp;nbsp;-2,&amp;nbsp;random_num&amp;nbsp;&lt;BR&gt;jpeg.save&amp;nbsp;Server.MapPath(&quot;tt.jpg&quot;)&amp;nbsp;'保存&amp;nbsp;&lt;BR&gt;%&amp;gt;&amp;nbsp;&lt;BR&gt;&amp;lt;img&amp;nbsp;src=&quot;tt.jpg&quot;&amp;nbsp;border=&quot;0&quot;&amp;nbsp;align=&quot;absmiddle&quot;&amp;gt;&lt;/DIV&gt;&amp;nbsp;&lt;BR&gt;&lt;STRONG&gt;12、如何让AspJpeg组件支援数据库？&lt;/STRONG&gt;&lt;BR&gt;图片存进数据库只能以二进制数据保存，这里即利用AspJpeg的Binary方法，下面以两个AspJpeg用户手册上的代码为例，具体请参考AspJpeg用户手册：&lt;BR&gt;Opening&amp;nbsp;Images&amp;nbsp;from&amp;nbsp;Memory&amp;nbsp;&lt;BR&gt;
&lt;DIV class=code_main&gt;&amp;lt;%&amp;nbsp;'&amp;nbsp;Using&amp;nbsp;ADO,&amp;nbsp;open&amp;nbsp;database&amp;nbsp;with&amp;nbsp;an&amp;nbsp;image&amp;nbsp;blob&lt;BR&gt;strConnect&amp;nbsp;=&amp;nbsp;&quot;DRIVER={Microsoft&amp;nbsp;Access&amp;nbsp;Driver&amp;nbsp;(*.mdb)};DBQ=&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Server.MapPath(&quot;../db/aspjpeg.mdb&quot;)&lt;BR&gt;Set&amp;nbsp;rs&amp;nbsp;=&amp;nbsp;Server.CreateObject(&quot;adodb.recordset&quot;)&lt;BR&gt;SQL&amp;nbsp;=&amp;nbsp;&quot;select&amp;nbsp;image_blob&amp;nbsp;from&amp;nbsp;images2&amp;nbsp;where&amp;nbsp;id&amp;nbsp;=&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Request(&quot;id&quot;)&lt;BR&gt;rs.Open&amp;nbsp;SQL,&amp;nbsp;strConnect,&amp;nbsp;1,&amp;nbsp;3&lt;BR&gt;Set&amp;nbsp;Jpeg&amp;nbsp;=&amp;nbsp;Server.CreateObject(&quot;Persits.Jpeg&quot;)&lt;BR&gt;'&amp;nbsp;Open&amp;nbsp;image&amp;nbsp;directly&amp;nbsp;from&amp;nbsp;recordset&lt;BR&gt;Jpeg.OpenBinary&amp;nbsp;rs(&quot;image_blob&quot;).Value&lt;BR&gt;'&amp;nbsp;Resize&lt;BR&gt;jpeg.Width&amp;nbsp;=&amp;nbsp;Request(&quot;Width&quot;)&lt;BR&gt;'&amp;nbsp;Set&amp;nbsp;new&amp;nbsp;height,&amp;nbsp;preserve&amp;nbsp;original&amp;nbsp;aspect&amp;nbsp;ratio&lt;BR&gt;jpeg.Height&amp;nbsp;=&amp;nbsp;jpeg.OriginalHeight&amp;nbsp;*&amp;nbsp;jpeg.Width&amp;nbsp;/&amp;nbsp;jpeg.OriginalWidth&lt;BR&gt;Jpeg.SendBinary&lt;BR&gt;rs.Close&lt;BR&gt;%&amp;gt;&lt;/DIV&gt;&amp;nbsp;&lt;BR&gt;Output&amp;nbsp;to&amp;nbsp;Memory&amp;nbsp;&amp;nbsp;&lt;BR&gt;
&lt;DIV class=code_main&gt;&amp;lt;%&lt;BR&gt;...&lt;BR&gt;Set&amp;nbsp;rs&amp;nbsp;=&amp;nbsp;Server.CreateObject(&quot;adodb.recordset&quot;)&lt;BR&gt;rs.Open&amp;nbsp;&quot;images&quot;,&amp;nbsp;strConnect,&amp;nbsp;1,&amp;nbsp;3&lt;BR&gt;rs.AddNew&lt;BR&gt;rs(&quot;image_blob&quot;).Value&amp;nbsp;=&amp;nbsp;Jpeg.Binary&lt;BR&gt;rs.Update&lt;BR&gt;...&lt;BR&gt;%&amp;gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
       </item>
</channel>
</rss>


