<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>FDS's Blog</title>
	<atom:link href="http://blog.1xi.net/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.1xi.net</link>
	<description>收藏和分享</description>
	<lastBuildDate>Thu, 30 Jul 2009 03:40:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		
<!-- Start Of Script Generated By WP-PostViews Plus -->
<script type='text/javascript' src='http://blog.1xi.net/wp-includes/js/jquery/jquery.js?ver=1.3.2'></script>
<script type="text/javascript">
/* <![CDATA[ */
/* ]]> */
</script>
<!-- End Of Script Generated By WP-PostViews Plus -->
	<item>
		<title>用ASP做在线升级文件</title>
		<link>http://blog.1xi.net/asp/asp-zaixian-shengji-wenjian</link>
		<comments>http://blog.1xi.net/asp/asp-zaixian-shengji-wenjian#comments</comments>
		<pubDate>Thu, 30 Jul 2009 03:40:55 +0000</pubDate>
		<dc:creator>FDS</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[在线升级]]></category>

		<guid isPermaLink="false">http://blog.1xi.net/asp/asp-zaixian-shengji-wenjian</guid>
		<description><![CDATA[用ASP做在线升级文件的方法，方便用户升级。
&#60;%
Rem #####################################################################################
Rem ## 在线升级类声明
Class Cls_oUpdate
  Rem #################################################################
  Rem ## 描述: ASP 在线升级类
  Rem ## 版本: 1.0.0
  Rem ## 作者: 萧月痕
  Rem ## MSN:  xiaoyuehen(at)msn.com
  Rem ## 请将(at)以 @ 替换
  Rem ## 版权: 既然共享, 就无所谓版权了. 但必须限于网络传播, 不得用于传统媒体!
  Rem ## 如果您能保留这些说明信息, 本人更加感谢!
  Rem ## 如果您有更好的代码优化, 相关改进, 请记得告诉我, 非常谢谢!
  Rem #################################################################
  Public LocalVersion, LastVersion, FileType
  Public UrlVersion, UrlUpdate, [...]]]></description>
			<content:encoded><![CDATA[<p>用ASP做在线升级文件的方法，方便用户升级。</p>
<p>&lt;%<br />
<span class="Comment">Rem #####################################################################################</span><br />
<span class="Comment">Rem ## 在线升级类声明</span><br />
<span class="Statements">Class</span> Cls_oUpdate<br />
  <span class="Comment">Rem #################################################################</span><br />
  <span class="Comment">Rem ## 描述: ASP 在线升级类</span><br />
  <span class="Comment">Rem ## 版本: 1.0.0</span><br />
  <span class="Comment">Rem ## 作者: <a title="萧月痕" href="http://blog.csdn.net/xiaoyuehen" target="_blank"></a>萧月痕</span><br />
  <span class="Comment">Rem ## MSN:  xiaoyuehen(at)msn.com</span><br />
  <span class="Comment">Rem ## 请将(at)以 @ 替换</span><br />
  <span class="Comment">Rem ## 版权: 既然共享, 就无所谓版权了. 但必须限于网络传播, 不得用于传统媒体!</span><br />
  <span class="Comment">Rem ## 如果您能保留这些说明信息, 本人更加感谢!</span><br />
  <span class="Comment">Rem ## 如果您有更好的代码优化, 相关改进, 请记得告诉我, 非常谢谢!</span><br />
  <span class="Comment">Rem #################################################################</span><br />
  <span class="Statements">Public</span> LocalVersion<span class="Symbols">,</span> LastVersion<span class="Symbols">,</span> FileType<br />
  <span class="Statements">Public</span> UrlVersion<span class="Symbols">,</span> UrlUpdate<span class="Symbols">,</span> UpdateLocalPath<span class="Symbols">,</span> Info<br />
  <span class="Statements">Public</span> UrlHistory<br />
  <span class="Statements">Private</span> sstrVersionList<span class="Symbols">,</span> sarrVersionList<span class="Symbols">,</span> sintLocalVersion<span class="Symbols">,</span> sstrLocalVersion<br />
  <span class="Statements">Private</span> sstrLogContent<span class="Symbols">,</span> sstrHistoryContent<span class="Symbols">,</span> sstrUrlUpdate<span class="Symbols">,</span> sstrUrlLocal<br />
  <span class="Comment">Rem #################################################################</span><br />
  <span class="Statements">Private</span> <span class="Statements">Sub</span> Class_Initialize<span class="Symbols">(</span><span class="Symbols">)</span><br />
   <span class="Comment">Rem ## 版本信息完整URL, 以 http:// 起头</span><br />
   <span class="Comment">Rem ## 例: http://localhost/software/Version.htm</span><br />
   UrlVersion     <span class="Operators">=</span> <span class="String">&#8220;&#8221;</span><br />
  <br />
   <span class="Comment">Rem ## 升级URL, 以 http:// 起头, /结尾</span><br />
   <span class="Comment">Rem ## 例: http://localhost/software/</span><br />
   UrlUpdate     <span class="Operators">=</span> <span class="String">&#8220;&#8221;</span><br />
  <br />
   <span class="Comment">Rem ## 本地更新目录, 以 / 起头, /结尾. 以 / 起头是为当前站点更新.防止写到其他目录.</span><br />
   <span class="Comment">Rem ## 程序将检测目录是否存在, 不存在则自动创建</span><br />
   UpdateLocalPath  <span class="Operators">=</span> <span class="String">&#8220;/&#8221;</span><br />
  <br />
   <span class="Comment">Rem ## 生成的软件历史文件</span><br />
   UrlHistory     <span class="Operators">=</span> <span class="String">&#8220;history.htm&#8221;</span><br />
  <br />
   <span class="Comment">Rem ## 最后的提示信息</span><br />
   Info        <span class="Operators">=</span> <span class="String">&#8220;&#8221;</span><br />
  <br />
   <span class="Comment">Rem ## 当前版本</span><br />
   LocalVersion    <span class="Operators">=</span> <span class="String">&#8220;1.0.0&#8243;</span><br />
  <br />
   <span class="Comment">Rem ## 最新版本</span><br />
   LastVersion    <span class="Operators">=</span> <span class="String">&#8220;1.0.0&#8243;</span><br />
  <br />
   <span class="Comment">Rem ## 各版本信息文件后缀名</span><br />
   FileType      <span class="Operators">=</span> <span class="String">&#8220;.asp&#8221;</span><br />
  <span class="Statements">End</span> <span class="Statements">Sub</span><br />
  <span class="Comment">Rem #################################################################</span><br />
 <br />
  <span class="Comment">Rem #################################################################</span><br />
  <span class="Statements">Private</span> <span class="Statements">Sub</span> Class_Terminate<span class="Symbols">(</span><span class="Symbols">)</span><br />
 <br />
  <span class="Statements">End</span> <span class="Statements">Sub</span><br />
  <span class="Comment">Rem #################################################################</span><br />
  <span class="Comment">Rem ## 执行升级动作</span><br />
  <span class="Comment">Rem #################################################################</span><br />
  <span class="Statements">Public</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span> doUpdate<span class="Symbols">(</span><span class="Symbols">)</span><br />
   doUpdate <span class="Operators">=</span> False<br />
  <br />
   UrlVersion    <span class="Operators">=</span> <span class="Functions">Trim</span><span class="Symbols">(</span>UrlVersion<span class="Symbols">)</span><br />
   UrlUpdate    <span class="Operators">=</span> <span class="Functions">Trim</span><span class="Symbols">(</span>UrlUpdate<span class="Symbols">)</span><br />
  <br />
   <span class="Comment">Rem ## 升级网址检测</span><br />
   <span class="Statements">If</span> <span class="Symbols">(</span><span class="Functions">Left</span><span class="Symbols">(</span>UrlVersion<span class="Symbols">,</span> <span class="digit">7</span><span class="Symbols">)</span> <span class="Operators">&lt;&gt;</span> <span class="String">&#8220;http://&#8221;</span><span class="Symbols">)</span> <span class="Operators">Or</span> <span class="Symbols">(</span><span class="Functions">Left</span><span class="Symbols">(</span>UrlUpdate<span class="Symbols">,</span> <span class="digit">7</span><span class="Symbols">)</span> <span class="Operators">&lt;&gt;</span> <span class="String">&#8220;http://&#8221;</span><span class="Symbols">)</span> <span class="Statements">Then</span><br />
    Info <span class="Operators">=</span> <span class="String">&#8220;版本检测网址为空, 升级网址为空或格式错误(#1)&#8221;</span><br />
    <span class="Statements">Exit</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span><br />
   <span class="Statements">End</span> <span class="Statements">If</span><br />
  <br />
   <span class="Statements">If</span> <span class="Functions">Right</span><span class="Symbols">(</span>UrlUpdate<span class="Symbols">,</span> <span class="digit">1</span><span class="Symbols">)</span> <span class="Operators">&lt;&gt;</span> <span class="String">&#8220;/&#8221;</span> <span class="Statements">Then</span><br />
    sstrUrlUpdate <span class="Operators">=</span> UrlUpdate <span class="Operators">&amp;</span> <span class="String">&#8220;/&#8221;</span><br />
   <span class="Statements">Else</span><br />
    sstrUrlUpdate <span class="Operators">=</span> UrlUpdate<br />
   <span class="Statements">End</span> <span class="Statements">If</span><br />
  <br />
   <span class="Statements">If</span> <span class="Functions">Right</span><span class="Symbols">(</span>UpdateLocalPath<span class="Symbols">,</span> <span class="digit">1</span><span class="Symbols">)</span> <span class="Operators">&lt;&gt;</span> <span class="String">&#8220;/&#8221;</span> <span class="Statements">Then</span><br />
    sstrUrlLocal <span class="Operators">=</span> UpdateLocalPath <span class="Operators">&amp;</span> <span class="String">&#8220;/&#8221;</span><br />
   <span class="Statements">Else</span><br />
    sstrUrlLocal <span class="Operators">=</span> UpdateLocalPath<br />
   <span class="Statements">End</span> <span class="Statements">If</span>  <br />
  <br />
   <span class="Comment">Rem ## 当前版本信息(数字)</span><br />
   sstrLocalVersion <span class="Operators">=</span> LocalVersion<br />
   sintLocalVersion <span class="Operators">=</span> <span class="Functions">Replace</span><span class="Symbols">(</span>sstrLocalVersion<span class="Symbols">,</span> <span class="String">&#8220;.&#8221;</span><span class="Symbols">,</span> <span class="String">&#8220;&#8221;</span><span class="Symbols">)</span><br />
   sintLocalVersion <span class="Operators">=</span> toNum<span class="Symbols">(</span>sintLocalVersion<span class="Symbols">,</span> <span class="digit">0</span><span class="Symbols">)</span><br />
  <br />
   <span class="Comment">Rem ## 版本检测(初始化版本信息, 并进行比较)</span><br />
   <span class="Statements">If</span> IsLastVersion <span class="Statements">Then</span> <span class="Statements">Exit</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span><br />
  <br />
   <span class="Comment">Rem ## 开始升级</span><br />
   doUpdate <span class="Operators">=</span> NowUpdate<span class="Symbols">(</span><span class="Symbols">)</span><br />
   LastVersion <span class="Operators">=</span> sstrLocalVersion<br />
  <span class="Statements">End</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span><br />
  <span class="Comment">Rem #################################################################</span><br />
 <br />
  <span class="Comment">Rem ## 检测是否为最新版本</span><br />
  <span class="Comment">Rem #################################################################</span><br />
   <span class="Statements">Private</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span> IsLastVersion<span class="Symbols">(</span><span class="Symbols">)</span><br />
    <span class="Comment">Rem ## 初始化版本信息(初始化 sarrVersionList 数组)</span><br />
    <span class="Statements">If</span> iniVersionList <span class="Statements">Then</span><br />
     <span class="Comment">Rem ## 若成功, 则比较版本</span><br />
     <span class="Statements">Dim</span> i<br />
     IsLastVersion <span class="Operators">=</span> True<br />
     <span class="Statements">For</span> i <span class="Operators">=</span> <span class="digit">0</span> to <span class="Functions">UBound</span><span class="Symbols">(</span>sarrVersionList<span class="Symbols">)</span><br />
      <span class="Statements">If</span> sarrVersionList<span class="Symbols">(</span>i<span class="Symbols">)</span> <span class="Operators">&gt;</span> sintLocalVersion <span class="Statements">Then</span><br />
       <span class="Comment">Rem ## 若有最新版本, 则退出循环</span><br />
       IsLastVersion <span class="Operators">=</span> False<br />
       Info <span class="Operators">=</span> <span class="String">&#8220;已经是最新版本!&#8221;</span><br />
       <span class="Statements">Exit</span> <span class="Statements">For</span><br />
      <span class="Statements">End</span> <span class="Statements">If</span><br />
     <span class="Statements">Next</span><br />
    <span class="Statements">Else</span><br />
     <span class="Comment">Rem ## 否则返回出错信息</span><br />
     IsLastVersion <span class="Operators">=</span> True<br />
     Info <span class="Operators">=</span> <span class="String">&#8220;获取版本信息时出错!(#2)&#8221;</span><br />
    <span class="Statements">End</span> <span class="Statements">If</span>  <br />
   <span class="Statements">End</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span><br />
  <span class="Comment">Rem #################################################################</span><br />
  <span class="Comment">Rem ## 检测是否为最新版本</span><br />
  <span class="Comment">Rem #################################################################</span><br />
   <span class="Statements">Private</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span> iniVersionList<span class="Symbols">(</span><span class="Symbols">)</span><br />
    iniVersionList <span class="Operators">=</span> False<br />
   <br />
    <span class="Statements">Dim</span> strVersion<br />
    strVersion <span class="Operators">=</span> getVersionList<span class="Symbols">(</span><span class="Symbols">)</span><br />
   <br />
    <span class="Comment">Rem ## 若返回值为空, 则初始化失败</span><br />
    <span class="Statements">If</span> strVersion <span class="Operators">=</span> <span class="String">&#8220;&#8221;</span> <span class="Statements">Then</span><br />
     Info <span class="Operators">=</span> <span class="String">&#8220;出错&#8230;&#8230;.&#8221;</span><br />
     <span class="Statements">Exit</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span><br />
    <span class="Statements">End</span> <span class="Statements">If</span><br />
   <br />
    sstrVersionList <span class="Operators">=</span> <span class="Functions">Replace</span><span class="Symbols">(</span>strVersion<span class="Symbols">,</span> <span class="String">&#8221; &#8220;</span><span class="Symbols">,</span> <span class="String">&#8220;&#8221;</span><span class="Symbols">)</span><br />
    sarrVersionList <span class="Operators">=</span> <span class="Functions">Split</span><span class="Symbols">(</span>sstrVersionList<span class="Symbols">,</span> <span class="Constants">vbCrLf</span><span class="Symbols">)</span><br />
   <br />
    iniVersionList <span class="Operators">=</span> True<br />
   <span class="Statements">End</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span><br />
  <span class="Comment">Rem #################################################################</span><br />
  <span class="Comment">Rem ## 检测是否为最新版本</span><br />
  <span class="Comment">Rem #################################################################</span><br />
   <span class="Statements">Private</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span> getVersionList<span class="Symbols">(</span><span class="Symbols">)</span><br />
    getVersionList <span class="Operators">=</span> GetContent<span class="Symbols">(</span>UrlVersion<span class="Symbols">)</span><br />
   <span class="Statements">End</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span><br />
  <span class="Comment">Rem #################################################################</span><br />
  <span class="Comment">Rem ## 开始更新</span><br />
  <span class="Comment">Rem #################################################################</span><br />
   <span class="Statements">Private</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span> NowUpdate<span class="Symbols">(</span><span class="Symbols">)</span><br />
    <span class="Statements">Dim</span> i<br />
    <span class="Statements">For</span> i <span class="Operators">=</span> <span class="Functions">UBound</span><span class="Symbols">(</span>sarrVersionList<span class="Symbols">)</span> to <span class="digit">0</span> step -1<br />
     <span class="Statements">Call</span> doUpdateVersion<span class="Symbols">(</span>sarrVersionList<span class="Symbols">(</span>i<span class="Symbols">)</span><span class="Symbols">)</span><br />
    <span class="Statements">Next</span><br />
    Info <span class="Operators">=</span> <span class="String">&#8220;升级完成! &lt;a href=&#8221;</span><span class="String">&#8220;&#8221;</span> <span class="Operators">&amp;</span> sstrUrlLocal <span class="Operators">&amp;</span> UrlHistory <span class="Operators">&amp;</span> <span class="String">&#8220;&#8221;</span><span class="String">&#8220;&gt;查看&lt;/a&gt;&#8221;</span><br />
   <span class="Statements">End</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span><br />
  <span class="Comment">Rem #################################################################</span><br />
 <br />
  <span class="Comment">Rem ## 更新版本内容</span><br />
  <span class="Comment">Rem #################################################################</span><br />
   <span class="Statements">Private</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span> doUpdateVersion<span class="Symbols">(</span>strVer<span class="Symbols">)</span><br />
    doUpdateVersion <span class="Operators">=</span> False<br />
   <br />
    <span class="Statements">Dim</span> intVer<br />
    intVer <span class="Operators">=</span> toNum<span class="Symbols">(</span><span class="Functions">Replace</span><span class="Symbols">(</span>strVer<span class="Symbols">,</span> <span class="String">&#8220;.&#8221;</span><span class="Symbols">,</span> <span class="String">&#8220;&#8221;</span><span class="Symbols">)</span><span class="Symbols">,</span> <span class="digit">0</span><span class="Symbols">)</span><br />
   <br />
    <span class="Comment">Rem ## 若将更新的版本小于当前版本, 则退出更新</span><br />
    <span class="Statements">If</span> intVer <span class="Operators">&lt;=</span> sintLocalVersion <span class="Statements">Then</span><br />
     <span class="Statements">Exit</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span><br />
    <span class="Statements">End</span> <span class="Statements">If</span><br />
   <br />
    <span class="Statements">Dim</span> strFileListContent<span class="Symbols">,</span> arrFileList<span class="Symbols">,</span> strUrlUpdate  <br />
    strUrlUpdate <span class="Operators">=</span> sstrUrlUpdate <span class="Operators">&amp;</span> intVer <span class="Operators">&amp;</span> FileType<br />
   <br />
    strFileListContent <span class="Operators">=</span> GetContent<span class="Symbols">(</span>strUrlUpdate<span class="Symbols">)</span><br />
   <br />
    <span class="Statements">If</span> strFileListContent <span class="Operators">=</span> <span class="String">&#8220;&#8221;</span> <span class="Statements">Then</span><br />
     <span class="Statements">Exit</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span><br />
    <span class="Statements">End</span> <span class="Statements">If</span><br />
   <br />
    <span class="Comment">Rem ## 更新当前版本号</span><br />
    sintLocalVersion <span class="Operators">=</span> intVer<br />
    sstrLocalVersion <span class="Operators">=</span> strVer<br />
   <br />
    <span class="Statements">Dim</span> i<span class="Symbols">,</span> arrTmp<br />
    <span class="Comment">Rem ## 获取更新文件列表</span><br />
    arrFileList <span class="Operators">=</span> <span class="Functions">Split</span><span class="Symbols">(</span>strFileListContent<span class="Symbols">,</span> <span class="Constants">vbCrLf</span><span class="Symbols">)</span><br />
   <br />
    <span class="Comment">Rem ## 更新日志</span><br />
    sstrLogContent <span class="Operators">=</span> <span class="String">&#8220;&#8221;</span><br />
    sstrLogContent <span class="Operators">=</span> sstrLogContent <span class="Operators">&amp;</span> strVer <span class="Operators">&amp;</span> <span class="String">&#8220;:&#8221;</span> <span class="Operators">&amp;</span> <span class="Constants">vbCrLf</span><br />
   <br />
    <span class="Comment">Rem ## 开始更新</span><br />
    <span class="Statements">For</span> i <span class="Operators">=</span> <span class="digit">0</span> to <span class="Functions">UBound</span><span class="Symbols">(</span>arrFileList<span class="Symbols">)</span><br />
     <span class="Comment">Rem ## 更新格式: 版本号/文件.htm|目的文件</span><br />
     arrTmp <span class="Operators">=</span> <span class="Functions">Split</span><span class="Symbols">(</span>arrFileList<span class="Symbols">(</span>i<span class="Symbols">)</span><span class="Symbols">,</span> <span class="String">&#8220;|&#8221;</span><span class="Symbols">)</span><br />
     sstrLogContent <span class="Operators">=</span> sstrLogContent <span class="Operators">&amp;</span> <span class="Constants">vbTab</span> <span class="Operators">&amp;</span> arrTmp<span class="Symbols">(</span><span class="digit">1</span><span class="Symbols">)</span><br />
     <span class="Statements">Call</span> doUpdateFile<span class="Symbols">(</span>intVer <span class="Operators">&amp;</span> <span class="String">&#8220;/&#8221;</span> <span class="Operators">&amp;</span> arrTmp<span class="Symbols">(</span><span class="digit">0</span><span class="Symbols">)</span><span class="Symbols">,</span> arrTmp<span class="Symbols">(</span><span class="digit">1</span><span class="Symbols">)</span><span class="Symbols">)</span>    <br />
    <span class="Statements">Next</span><br />
   <br />
    <span class="Comment">Rem ## 写入日志文件</span><br />
    sstrLogContent <span class="Operators">=</span> sstrLogContent <span class="Operators">&amp;</span> <span class="Functions">Now</span><span class="Symbols">(</span><span class="Symbols">)</span> <span class="Operators">&amp;</span> <span class="Constants">vbCrLf</span><br />
    <span class="Objects">response</span><span class="Symbols">.</span><span class="Methods">Write</span><span class="Symbols">(</span><span class="String">&#8220;&lt;pre&gt;&#8221;</span> <span class="Operators">&amp;</span> sstrLogContent <span class="Operators">&amp;</span> <span class="String">&#8220;&lt;/pre&gt;&#8221;</span><span class="Symbols">)</span><br />
    <span class="Statements">Call</span> sDoCreateFile<span class="Symbols">(</span><span class="Objects">Server</span><span class="Symbols">.</span><span class="Methods">MapPath</span><span class="Symbols">(</span>sstrUrlLocal <span class="Operators">&amp;</span> <span class="String">&#8220;Log&#8221;</span> <span class="Operators">&amp;</span> intVer <span class="Operators">&amp;</span> <span class="String">&#8220;.htm&#8221;</span><span class="Symbols">)</span><span class="Symbols">,</span> _<br />
                                          <span class="String">&#8220;&lt;pre&gt;&#8221;</span> <span class="Operators">&amp;</span> sstrLogContent <span class="Operators">&amp;</span> <span class="String">&#8220;&lt;/pre&gt;&#8221;</span><span class="Symbols">)</span><br />
    <span class="Statements">Call</span> sDoAppendFile<span class="Symbols">(</span><span class="Objects">Server</span><span class="Symbols">.</span><span class="Methods">MapPath</span><span class="Symbols">(</span>sstrUrlLocal <span class="Operators">&amp;</span> UrlHistory<span class="Symbols">)</span><span class="Symbols">,</span> <span class="String">&#8220;&lt;pre&gt;&#8221;</span> <span class="Operators">&amp;</span> _<br />
                                          strVer <span class="Operators">&amp;</span> <span class="String">&#8220;_______&#8221;</span> <span class="Operators">&amp;</span> <span class="Functions">Now</span><span class="Symbols">(</span><span class="Symbols">)</span> <span class="Operators">&amp;</span> <span class="String">&#8220;&lt;/pre&gt;&#8221;</span> <span class="Operators">&amp;</span> <span class="Constants">vbCrLf</span><span class="Symbols">)</span><br />
   <span class="Statements">End</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span><br />
  <span class="Comment">Rem #################################################################</span><br />
 <br />
  <span class="Comment">Rem ## 更新文件</span><br />
  <span class="Comment">Rem #################################################################</span><br />
   <span class="Statements">Private</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span> doUpdateFile<span class="Symbols">(</span>strSourceFile<span class="Symbols">,</span> strTargetFile<span class="Symbols">)</span><br />
    <span class="Statements">Dim</span> strContent<br />
    strContent <span class="Operators">=</span> GetContent<span class="Symbols">(</span>sstrUrlUpdate <span class="Operators">&amp;</span> strSourceFile<span class="Symbols">)</span><br />
   <br />
    <span class="Comment">Rem ## 更新并写入日志</span><br />
    <span class="Statements">If</span> sDoCreateFile<span class="Symbols">(</span><span class="Objects">Server</span><span class="Symbols">.</span><span class="Methods">MapPath</span><span class="Symbols">(</span>sstrUrlLocal <span class="Operators">&amp;</span> strTargetFile<span class="Symbols">)</span><span class="Symbols">,</span> strContent<span class="Symbols">)</span> <span class="Statements">Then</span>    <br />
     sstrLogContent <span class="Operators">=</span> sstrLogContent <span class="Operators">&amp;</span> <span class="String">&#8220;  成功&#8221;</span> <span class="Operators">&amp;</span> <span class="Constants">vbCrLf</span><br />
    <span class="Statements">Else</span><br />
     sstrLogContent <span class="Operators">=</span> sstrLogContent <span class="Operators">&amp;</span> <span class="String">&#8220;  失败&#8221;</span> <span class="Operators">&amp;</span> <span class="Constants">vbCrLf</span><br />
    <span class="Statements">End</span> <span class="Statements">If</span><br />
   <span class="Statements">End</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span><br />
  <span class="Comment">Rem #################################################################</span><br />
  <span class="Comment">Rem ## 远程获得内容</span><br />
  <span class="Comment">Rem #################################################################</span><br />
   <span class="Statements">Private</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span> GetContent<span class="Symbols">(</span>strUrl<span class="Symbols">)</span><br />
    GetContent <span class="Operators">=</span> <span class="String">&#8220;&#8221;</span><br />
   <br />
    <span class="Statements">Dim</span> oXhttp<span class="Symbols">,</span> strContent<br />
    <span class="Statements">Set</span> oXhttp <span class="Operators">=</span> <span class="Objects">Server</span><span class="Symbols">.</span><span class="Methods">CreateObject</span><span class="Symbols">(</span><span class="String">&#8220;Microsoft.XMLHTTP&#8221;</span><span class="Symbols">)</span><br />
    <span class="Comment">&#8216;On Error Resume Next </span><br />
    <span class="Statements">With</span> oXhttp<br />
     <span class="Symbols">.</span><span class="Methods">Open</span> <span class="String">&#8220;GET&#8221;</span><span class="Symbols">,</span> strUrl<span class="Symbols">,</span> False<span class="Symbols">,</span> <span class="String">&#8220;&#8221;</span><span class="Symbols">,</span> <span class="String">&#8220;&#8221;</span><br />
     <span class="Symbols">.</span>Send<br />
     <span class="Statements">If</span> <span class="Symbols">.</span>readystate <span class="Operators">&lt;&gt;</span> <span class="digit">4</span> <span class="Statements">Then</span> <span class="Statements">Exit</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span><br />
     strContent <span class="Operators">=</span> <span class="Symbols">.</span>Responsebody<br />
    <br />
     strContent <span class="Operators">=</span> sBytesToBstr<span class="Symbols">(</span>strContent<span class="Symbols">)</span><br />
    <span class="Statements">End</span> <span class="Statements">With</span><br />
   <br />
    <span class="Statements">Set</span> oXhttp <span class="Operators">=</span> Nothing<br />
    <span class="Statements">If</span> <span class="Objects">Err</span><span class="Symbols">.</span><span class="Methods">Number</span> <span class="Operators">&lt;&gt;</span> <span class="digit">0</span> <span class="Statements">Then</span><br />
     <span class="Objects">response</span><span class="Symbols">.</span><span class="Methods">Write</span><span class="Symbols">(</span><span class="Objects">Err</span><span class="Symbols">.</span><span class="Methods">Description</span><span class="Symbols">)</span><br />
     <span class="Objects">Err</span><span class="Symbols">.</span><span class="Methods">Clear</span><br />
     <span class="Statements">Exit</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span><br />
    <span class="Statements">End</span> <span class="Statements">If</span><br />
   <br />
    GetContent <span class="Operators">=</span> strContent<br />
   <span class="Statements">End</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span><br />
  <span class="Comment">Rem #################################################################</span><br />
  <span class="Comment">Rem #################################################################</span><br />
  <span class="Comment">Rem ## 编码转换 2进制 =&gt; 字符串</span><br />
   <span class="Statements">Private</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span> sBytesToBstr<span class="Symbols">(</span>vIn<span class="Symbols">)</span><br />
    <span class="Statements">dim</span> objStream<br />
    <span class="Statements">set</span> objStream <span class="Operators">=</span> <span class="Objects">Server</span><span class="Symbols">.</span><span class="Methods">CreateObject</span><span class="Symbols">(</span><span class="String">&#8220;adodb.stream&#8221;</span><span class="Symbols">)</span><br />
    objStream<span class="Symbols">.</span>Type    <span class="Operators">=</span> <span class="digit">1</span><br />
    objStream<span class="Symbols">.</span>Mode    <span class="Operators">=</span> <span class="digit">3</span><br />
    objStream<span class="Symbols">.</span><span class="Methods">Open</span><br />
    objStream<span class="Symbols">.</span><span class="Methods">Write</span> vIn<br />
   <br />
    objStream<span class="Symbols">.</span>Position  <span class="Operators">=</span> <span class="digit">0</span><br />
    objStream<span class="Symbols">.</span>Type    <span class="Operators">=</span> <span class="digit">2</span><br />
    objStream<span class="Symbols">.</span><span class="Methods">Charset</span>  <span class="Operators">=</span> <span class="String">&#8220;GB2312&#8243;</span><br />
    sBytesToBstr     <span class="Operators">=</span> objStream<span class="Symbols">.</span>ReadText<br />
    objStream<span class="Symbols">.</span><span class="Methods">Close</span><br />
    <span class="Statements">set</span> objStream    <span class="Operators">=</span> nothing<br />
   <span class="Statements">End</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span><br />
  <span class="Comment">Rem #################################################################</span><br />
  <span class="Comment">Rem #################################################################</span><br />
  <span class="Comment">Rem ## 编码转换 2进制 =&gt; 字符串</span><br />
   <span class="Statements">Private</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span> sDoCreateFile<span class="Symbols">(</span>strFileName<span class="Symbols">,</span> ByRef strContent<span class="Symbols">)</span><br />
    sDoCreateFile <span class="Operators">=</span> False<br />
    <span class="Statements">Dim</span> strPath<br />
    strPath <span class="Operators">=</span> <span class="Functions">Left</span><span class="Symbols">(</span>strFileName<span class="Symbols">,</span> <span class="Functions">InstrRev</span><span class="Symbols">(</span>strFileName<span class="Symbols">,</span> <span class="String">&#8220;\&#8221;</span><span class="Symbols">,</span> -1<span class="Symbols">,</span> <span class="digit">1</span><span class="Symbols">)</span><span class="Symbols">)</span><br />
    <span class="Comment">Rem ## 检测路径及文件名有效性</span><br />
    <span class="Statements">If</span> <span class="Operators">Not</span><span class="Symbols">(</span>CreateDir<span class="Symbols">(</span>strPath<span class="Symbols">)</span><span class="Symbols">)</span> <span class="Statements">Then</span> <span class="Statements">Exit</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span><br />
    <span class="Comment">&#8216;If Not(CheckFileName(strFileName)) Then Exit <a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span><br />
   <br />
    <span class="Comment">&#8216;response.Write(strFileName)</span><br />
    <span class="Statements">Const</span> ForReading <span class="Operators">=</span> <span class="digit">1</span><span class="Symbols">,</span> ForWriting <span class="Operators">=</span> <span class="digit">2</span><span class="Symbols">,</span> ForAppending <span class="Operators">=</span> <span class="digit">8</span><br />
    <span class="Statements">Dim</span> fso<span class="Symbols">,</span> f<br />
    <span class="Statements">Set</span> fso <span class="Operators">=</span> <span class="Methods">CreateObject</span><span class="Symbols">(</span><span class="String">&#8220;Scripting.FileSystemObject&#8221;</span><span class="Symbols">)</span><br />
    <span class="Statements">Set</span> f <span class="Operators">=</span> fso<span class="Symbols">.</span>OpenTextFile<span class="Symbols">(</span>strFileName<span class="Symbols">,</span> ForWriting<span class="Symbols">,</span> True<span class="Symbols">)</span><br />
    f<span class="Symbols">.</span><span class="Methods">Write</span> strContent<br />
    f<span class="Symbols">.</span><span class="Methods">Close</span><br />
    <span class="Statements">Set</span> fso <span class="Operators">=</span> nothing<br />
    <span class="Statements">Set</span> f <span class="Operators">=</span> nothing<br />
    sDoCreateFile <span class="Operators">=</span> True<br />
   <span class="Statements">End</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span><br />
  <span class="Comment">Rem #################################################################</span><br />
  <span class="Comment">Rem #################################################################</span><br />
  <span class="Comment">Rem ## 编码转换 2进制 =&gt; 字符串</span><br />
   <span class="Statements">Private</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span> sDoAppendFile<span class="Symbols">(</span>strFileName<span class="Symbols">,</span> ByRef strContent<span class="Symbols">)</span><br />
    sDoAppendFile <span class="Operators">=</span> False<br />
    <span class="Statements">Dim</span> strPath<br />
    strPath <span class="Operators">=</span> <span class="Functions">Left</span><span class="Symbols">(</span>strFileName<span class="Symbols">,</span> <span class="Functions">InstrRev</span><span class="Symbols">(</span>strFileName<span class="Symbols">,</span> <span class="String">&#8220;\&#8221;</span><span class="Symbols">,</span> -1<span class="Symbols">,</span> <span class="digit">1</span><span class="Symbols">)</span><span class="Symbols">)</span><br />
    <span class="Comment">Rem ## 检测路径及文件名有效性</span><br />
    <span class="Statements">If</span> <span class="Operators">Not</span><span class="Symbols">(</span>CreateDir<span class="Symbols">(</span>strPath<span class="Symbols">)</span><span class="Symbols">)</span> <span class="Statements">Then</span> <span class="Statements">Exit</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span><br />
    <span class="Comment">&#8216;If Not(CheckFileName(strFileName)) Then Exit <a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span><br />
   <br />
    <span class="Comment">&#8216;response.Write(strFileName)</span><br />
    <span class="Statements">Const</span> ForReading <span class="Operators">=</span> <span class="digit">1</span><span class="Symbols">,</span> ForWriting <span class="Operators">=</span> <span class="digit">2</span><span class="Symbols">,</span> ForAppending <span class="Operators">=</span> <span class="digit">8</span><br />
    <span class="Statements">Dim</span> fso<span class="Symbols">,</span> f<br />
    <span class="Statements">Set</span> fso <span class="Operators">=</span> <span class="Methods">CreateObject</span><span class="Symbols">(</span><span class="String">&#8220;Scripting.FileSystemObject&#8221;</span><span class="Symbols">)</span><br />
    <span class="Statements">Set</span> f <span class="Operators">=</span> fso<span class="Symbols">.</span>OpenTextFile<span class="Symbols">(</span>strFileName<span class="Symbols">,</span> ForAppending<span class="Symbols">,</span> True<span class="Symbols">)</span><br />
    f<span class="Symbols">.</span><span class="Methods">Write</span> strContent<br />
    f<span class="Symbols">.</span><span class="Methods">Close</span><br />
    <span class="Statements">Set</span> fso <span class="Operators">=</span> nothing<br />
    <span class="Statements">Set</span> f <span class="Operators">=</span> nothing<br />
    sDoAppendFile <span class="Operators">=</span> True<br />
   <span class="Statements">End</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span><br />
  <span class="Comment">Rem #################################################################</span><br />
  <span class="Comment">Rem ## 建立目录的程序，如果有多级目录，则一级一级的创建</span><br />
  <span class="Comment">Rem #################################################################</span><br />
   <span class="Statements">Private</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span> CreateDir<span class="Symbols">(</span>ByVal strLocalPath<span class="Symbols">)</span><br />
    <span class="Statements">Dim</span> i<span class="Symbols">,</span> strPath<span class="Symbols">,</span> objFolder<span class="Symbols">,</span> tmpPath<span class="Symbols">,</span> tmptPath<br />
    <span class="Statements">Dim</span> arrPathList<span class="Symbols">,</span> intLevel<br />
   <br />
    <span class="Comment">&#8216;On Error Resume Next</span><br />
    strPath     <span class="Operators">=</span> <span class="Functions">Replace</span><span class="Symbols">(</span>strLocalPath<span class="Symbols">,</span> <span class="String">&#8220;\&#8221;</span><span class="Symbols">,</span> <span class="String">&#8220;/&#8221;</span><span class="Symbols">)</span><br />
    <span class="Statements">Set</span> objFolder  <span class="Operators">=</span> <span class="Objects">server</span><span class="Symbols">.</span><span class="Methods">CreateObject</span><span class="Symbols">(</span><span class="String">&#8220;Scripting.FileSystemObject&#8221;</span><span class="Symbols">)</span><br />
    arrPathList   <span class="Operators">=</span> <span class="Functions">Split</span><span class="Symbols">(</span>strPath<span class="Symbols">,</span> <span class="String">&#8220;/&#8221;</span><span class="Symbols">)</span><br />
    intLevel     <span class="Operators">=</span> <span class="Functions">UBound</span><span class="Symbols">(</span>arrPathList<span class="Symbols">)</span><br />
   <br />
    <span class="Statements">For</span> I <span class="Operators">=</span> <span class="digit">0</span> To intLevel<br />
     <span class="Statements">If</span> I <span class="Operators">=</span> <span class="digit">0</span> <span class="Statements">Then</span><br />
      tmptPath <span class="Operators">=</span> arrPathList<span class="Symbols">(</span><span class="digit">0</span><span class="Symbols">)</span> <span class="Operators">&amp;</span> <span class="String">&#8220;/&#8221;</span><br />
     <span class="Statements">Else</span><br />
      tmptPath <span class="Operators">=</span> tmptPath <span class="Operators">&amp;</span> arrPathList<span class="Symbols">(</span>I<span class="Symbols">)</span> <span class="Operators">&amp;</span> <span class="String">&#8220;/&#8221;</span><br />
     <span class="Statements">End</span> <span class="Statements">If</span><br />
     tmpPath <span class="Operators">=</span> <span class="Functions">Left</span><span class="Symbols">(</span>tmptPath<span class="Symbols">,</span> <span class="Functions">Len</span><span class="Symbols">(</span>tmptPath<span class="Symbols">)</span> <span class="Operators">-</span> <span class="digit">1</span><span class="Symbols">)</span><br />
     <span class="Statements">If</span> <span class="Operators">Not</span> objFolder<span class="Symbols">.</span>FolderExists<span class="Symbols">(</span>tmpPath<span class="Symbols">)</span> <span class="Statements">Then</span> objFolder<span class="Symbols">.</span>CreateFolder tmpPath<br />
    <span class="Statements">Next</span><br />
   <br />
    <span class="Statements">Set</span> objFolder <span class="Operators">=</span> Nothing<br />
    <span class="Statements">If</span> <span class="Objects">Err</span><span class="Symbols">.</span><span class="Methods">Number</span> <span class="Operators">&lt;&gt;</span> <span class="digit">0</span> <span class="Statements">Then</span><br />
     CreateDir <span class="Operators">=</span> False<br />
     <span class="Objects">Err</span><span class="Symbols">.</span><span class="Methods">Clear</span><br />
    <span class="Statements">Else</span><br />
     CreateDir <span class="Operators">=</span> True<br />
    <span class="Statements">End</span> <span class="Statements">If</span><br />
   <span class="Statements">End</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span><br />
  <span class="Comment">Rem #################################################################</span><br />
  <span class="Comment">Rem ## 长整数转换</span><br />
  <span class="Comment">Rem #################################################################</span><br />
   <span class="Statements">Private</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span> toNum<span class="Symbols">(</span>s<span class="Symbols">,</span> default<span class="Symbols">)</span><br />
    <span class="Statements">If</span> <span class="Functions">IsNumeric</span><span class="Symbols">(</span>s<span class="Symbols">)</span> <span class="Operators">and</span> s <span class="Operators">&lt;&gt;</span> <span class="String">&#8220;&#8221;</span> <span class="Statements">then</span><br />
     toNum <span class="Operators">=</span> <span class="Functions">CLng</span><span class="Symbols">(</span>s<span class="Symbols">)</span><br />
    <span class="Statements">Else</span><br />
     toNum <span class="Operators">=</span> default<br />
    <span class="Statements">End</span> <span class="Statements">If</span><br />
   <span class="Statements">End</span> <span class="Statements"><a href="http://dev.csdn.net/article/56/56110.shtm#"><a href="http://dev.csdn.net/article/56/56110.shtm#"><span class="stykeyword">function</span></a></a></span><br />
  <span class="Comment">Rem #################################################################</span><br />
<span class="Statements">End</span> <span class="Statements">Class</span><br />
<span class="Comment">Rem #####################################################################################</span><br />
%<span class="Operators">&gt;</span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.1xi.net/asp/asp-zaixian-shengji-wenjian/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ASP实现图片上传</title>
		<link>http://blog.1xi.net/asp/asp-tupian-shangchuan</link>
		<comments>http://blog.1xi.net/asp/asp-tupian-shangchuan#comments</comments>
		<pubDate>Thu, 30 Jul 2009 03:22:52 +0000</pubDate>
		<dc:creator>FDS</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[上传]]></category>
		<category><![CDATA[图片]]></category>

		<guid isPermaLink="false">http://blog.1xi.net/asp/asp-tupian-shangchuan</guid>
		<description><![CDATA[用纯ＡＳＰ代码来实现图片的上传以及保存到数据库的功能（顺便也实现显示数据库中的图片到网页上的功能）。首先我们先来熟悉一下将要使用的对象方法。我们用来获取上一个页面传递过来的数据一般是使用Request对象]]></description>
			<content:encoded><![CDATA[<p><span id="ArticleContent1_ArticleContent1_lblContent">用纯ＡＳＰ代码来实现图片的上传以及保存到数据库的功能（顺便也实现显示数据库中的图片到网页上的功能）。<br />
　　首先我们先来熟悉一下将要使用的对象方法。我们用来获取上一个页面传递过来的数据一般是使用Request对象。同样的，我们也可以使用Request对象来获取上传上来的文件数据，使用的方法是Request.BinaryRead()。而我们要从数据库中读出来图片的数据显示到网页上面要用到的方法是：<br />
Request.BinaryWrite()。在我们得到了图片的数据，要保存到数据库中的时候，不可以直接<br />
使用Insert语句对数据库进行操作，而是要使用ADO的AppendChunk方法，同样的，读出数据库<br />
中的图片数据，要使用GetChunk方法。各个方法的具体语法如下：<br />
*Request.BinaryRead语法：<br />
variant=Request.BinaryRead(count)<br />
参数<br />
variant<br />
返回值保存着从客户端读取到数据。<br />
count<br />
指明要从客户端读取的数据量大小，这个值小于或者等于使用方法Request.TotalBytes得到的<br />
数据量。<br />
*Request.BinaryWrite语法：<br />
Request.BinaryWritedata<br />
参数<br />
data<br />
要写入到客户端浏览器中的数据包。<br />
*Request.TotalBytes语法：<br />
variant=Request.TotalBytes<br />
参数<br />
variant<br />
返回从客户端读取到数据量的字节数。<br />
*AppendChunk语法<br />
将数据追加到大型文本、二进制数据Field或Parameter对象。<br />
object.AppendChunkData<br />
参数<br />
objectField或Parameter对象<br />
Data变体型，包含追加到对象中的数据。<br />
说明<br />
使用Field或Parameter对象的AppendChunk方法可将长二进制或字符数<br />
　　据填写到对象中。在系统内存有限的情况下，可以使用AppendChunk方法对长整型值进行<br />
部分而非全部的操作。<br />
*GetChunk语法<br />
返回大型文本或二进制数据Field对象的全部或部分内容。<br />
variable=field.GetChunk(Size)<br />
返回值<br />
返回变体型。<br />
参数<br />
Size长整型表达式，等于所要检索的字节或字符数。<br />
说明<br />
　　使用Field对象的GetChunk方法检索其部分或全部长二进制或字符数据。在系统内存有限<br />
的情况下，可使用GetChunk方法处理部分而非全部的长整型值。<br />
GetChunk调用返回的数据将赋给“变量”。如果Size大于剩余的数据，则<br />
GetChunk仅返回剩余的数据而无需用空白填充“变量”。如果字段为空，则<br />
GetChunk方法返回Null。<br />
　　每个后续的GetChunk调用将检索从前一次GetChunk调用停止处开始的数据。但是，如果从<br />
一个字段检索数据然后在当前记录中设置或读取另一个字段的值，ADO将认为已从第一个字段<br />
中检索出数据。如果在第一个字段上再次调用GetChunk方法，ADO将把调用解释为新的GetChu<br />
nk操作并从记录的起始处开始读取。如果其他Recordset对象不是首个Recordset对象的副本，<br />
则访问其中的字段不会破坏GetChunk操作。<br />
如果Field对象的Attributes属性中的adFldLong位设置为True，则可以对该字段使用GetChun<br />
k方法。<br />
如果在Field对象上使用Getchunk方法时没有当前记录，将产生错误3021（无当前记录）。<br />
　　接下来，我们就要来设计我们的数据库了，作为测试我们的数据库结构如下（access200<br />
0）：</p>
<p>字段名称　　　　类型　　　　描述<br />
　　id　　　自动编号　　　主键值<br />
    img          OLE对象　　　用来保存图片数据　</p>
<p>对于在MSSQLServer7中，对应的结构如下：<br />
字段名称　　　　类型　　　　描述<br />
　　id　　　　int(Identity)　       主键值<br />
     img　　    image　　　          用来保存图片数据　</p>
<p>现在开始正式编写我们的纯ＡＳＰ代码上传部分了，首先，我们有一个提供给用户的上传界面<br />
，可以让用户选择要上传的图片。代码如下<br />
（upload.htm）：<br />
&lt;html&gt;<br />
&lt;body&gt;<br />
&lt;center&gt;<br />
&lt;form name=&#8221;mainForm&#8221; enctype=&#8221;multipart/form-data&#8221; action=&#8221;process.asp&#8221; method=p<br />
ost&gt;<br />
　　&lt;inputtype=filename=mefile&gt;&lt;br&gt;<br />
　　&lt;inputtype=submitname=okvalue=&#8221;OK&#8221;&gt;<br />
&lt;/form&gt;<br />
&lt;/center&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
注意enctype=&#8221;multipart/form-data&#8221;，一定要在Form中有这个属性，否则，将无法得到上传<br />
上来的数据。接下来，我们要在process.asp中对从浏览器中获取的数据进行必要的处理，因<br />
为我们在process.asp中获取到的数据不仅仅包含了我们想要的上传上来的图片的数据，也包<br />
含了其他的无用的信息，我们需要剔除冗余数据，并将处理过的图片数据保存到数据库中，这<br />
里我们以access2000为例。具体代码如下（process.asp）：<br />
&lt;%<br />
response.buffer=true<br />
formsize=request.totalbytes<br />
formdata=request.binaryread(formsize)<br />
bncrlf=chrB(13)&amp;chrB(10)<br />
divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1)<br />
datastart=instrb(formdata,bncrlf&amp;bncrlf)+4<br />
dataend=instrb(datastart+1,formdata,divider)-datastart<br />
mydata=midb(formdata,datastart,dataend)<br />
setconnGraph=server.CreateObject(&#8220;ADODB.connection&#8221;)<br />
connGraph.ConnectionString=&#8221;driver={MicrosoftAccessDriver(*.mdb)};DBQ=&#8221;&amp;server.Ma<br />
pPath(&#8220;images.mdb&#8221;)&amp;&#8221;;uid=;PWD=;&#8221;<br />
connGraph.Open<br />
setrec=server.createobject(&#8220;ADODB.recordset&#8221;)<br />
rec.Open&#8221;SELECT*FROM[images]whereidisnull&#8221;,connGraph,1,3<br />
rec.addnew<br />
rec(&#8220;img&#8221;).appendchunkmydata<br />
rec.update<br />
rec.close<br />
setrec=nothing<br />
setconnGraph=nothing<br />
%&gt;<br />
好了，这下我们就把上传来的图片保存到了名为images.mdb的数据库中了，剩下的工作就是要<br />
将数据库中的图片数据显示到网页上面了。一般在ＨＴＭＬ中，显示图片都是使用&lt;IMG&gt;标签<br />
，也就是&lt;IMGSRC=&#8221;图片路径&#8221;&gt;，但是我们的图片是保存到了数据库中，“图片路径”是什么<br />
呢？呵呵，其实这个SRC属性除了指定路径外，也可以这样使用哦：<br />
&lt;IMGSRC=&#8221;showimg.asp?id=xxx&#8221;&gt;<br />
所以，我们所要做的就是在showimg.asp中从数据库中读出来符合条件的<br />
数据，并返回到SRC属性中就可以了，具体代码如下（showimg.asp）：<br />
&lt;%<br />
setconnGraph=server.CreateObject(&#8220;ADODB.connection&#8221;)<br />
connGraph.ConnectionString=&#8221;driver={MicrosoftAccessDriver(*.mdb)};DBQ=&#8221;&amp;<br />
server.MapPath(&#8220;images.mdb&#8221;)&amp;&#8221;;uid=;PWD=;&#8221;<br />
connGraph.Open<br />
setrec=server.createobject(&#8220;ADODB.recordset&#8221;)<br />
strsql=&#8221;selectimgfromimageswhereid=&#8221;&amp;trim(request(&#8220;id&#8221;))<br />
rec.openstrsql,connGraph,1,1<br />
Response.ContentType=&#8221;image/*&#8221;<br />
Response.BinaryWriterec(&#8220;img&#8221;).getChunk(7500000)<br />
rec.close<br />
setrec=nothing<br />
setconnGraph=nothing<br />
%&gt;<br />
注意在输出到浏览器之前一定要指定Response.ContentType=&#8221;image/*&#8221;，<br />
以便正常显示图片。<br />
最后要注意的地方是，我的process.asp中作的处理没有考虑到第一页(upload.htm)中还有其<br />
他数据，比如&lt;INPUT type=tesxt name=userid&gt;等等，如果有这些项目，你的process.asp就<br />
要注意处理掉不必要的数据。<br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.1xi.net/asp/asp-tupian-shangchuan/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>php访问查询mysql数据的三种方法</title>
		<link>http://blog.1xi.net/php/php-chaxun-mysq-fangfa</link>
		<comments>http://blog.1xi.net/php/php-chaxun-mysq-fangfa#comments</comments>
		<pubDate>Thu, 30 Jul 2009 03:17:33 +0000</pubDate>
		<dc:creator>FDS</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Mysql]]></category>

		<guid isPermaLink="false">http://blog.1xi.net/php/php-chaxun-mysq-fangfa</guid>
		<description><![CDATA[1. $row = mysql_fetch_row($result);
返回一个规则的数组$row,$row[0]是第一个元素,$row[1]是第二个元素,依次类推&#8230;
mysql_num_fields($result) 返回结果的元素个数。
2. $row = mysql_fetch_array($result);
返回一个数组$row. 举例如下:
表结构如下:
username &#124; password
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
bourbon &#124; abc
berber &#124; efg
第一次运行运行 $row = mysql_fetch_array($result) 则结果如下:
$row[0] = $row["username"] = &#8220;bourbon&#8221;
$row[1] = $row["password"] = &#8220;abc&#8221;
第一次运行运行 $row = mysql_fetch_array($result) 则结果如下:
$row[0] = $row["username"] = &#8220;berber&#8221;
$row[1] = $row["password"] = &#8220;efg&#8221;
3. $row = mysql_fetch_object($result);
返回一个对象描述行. 如上例
第一次运行运行$row = mysql_fetch_object($result) 则结果如下:
$row-&#62;username = &#8220;bourbon&#8221;
$row-&#62;password = &#8220;abc&#8221;
第二次运行运行$row = mysql_fetch_object($result) 则结果如下:
$row-&#62;username = &#8220;berber&#8221;
$row-&#62;password [...]]]></description>
			<content:encoded><![CDATA[<p>1. $row = mysql_fetch_row($result);<br />
返回一个规则的数组$row,$row[0]是第一个元素,$row[1]是第二个元素,依次类推&#8230;<br />
mysql_num_fields($result) 返回结果的元素个数。</p>
<p>2. $row = mysql_fetch_array($result);</p>
<p>返回一个数组$row. 举例如下:<br />
表结构如下:</p>
<p>username | password<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
bourbon | abc<br />
berber | efg</p>
<p>第一次运行运行 $row = mysql_fetch_array($result) 则结果如下:</p>
<p>$row[0] = $row["username"] = &#8220;bourbon&#8221;<br />
$row[1] = $row["password"] = &#8220;abc&#8221;</p>
<p>第一次运行运行 $row = mysql_fetch_array($result) 则结果如下:</p>
<p>$row[0] = $row["username"] = &#8220;berber&#8221;<br />
$row[1] = $row["password"] = &#8220;efg&#8221;</p>
<p>3. $row = mysql_fetch_object($result);</p>
<p>返回一个对象描述行. 如上例<br />
第一次运行运行$row = mysql_fetch_object($result) 则结果如下:</p>
<p>$row-&gt;username = &#8220;bourbon&#8221;<br />
$row-&gt;password = &#8220;abc&#8221;</p>
<p>第二次运行运行$row = mysql_fetch_object($result) 则结果如下:<br />
$row-&gt;username = &#8220;berber&#8221;<br />
$row-&gt;password = &#8220;efg&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.1xi.net/php/php-chaxun-mysq-fangfa/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>在Asp程序中取得表单所有内容的方法</title>
		<link>http://blog.1xi.net/asp/asp-huoqu-biaodan</link>
		<comments>http://blog.1xi.net/asp/asp-huoqu-biaodan#comments</comments>
		<pubDate>Thu, 30 Jul 2009 03:12:29 +0000</pubDate>
		<dc:creator>FDS</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[表单]]></category>

		<guid isPermaLink="false">http://blog.1xi.net/asp/asp-huoqu-biaodan</guid>
		<description><![CDATA[在Asp中如何得到所有表单的名称跟对应的值。其实，这个问题很简单，但是可能还是有很多人不知道该怎么做，所以特地写下来，仅供参考。在Asp程序中，用来获得客户端数据的对象是 Request，这个对象给我们提供了很多的方法以及属性。]]></description>
			<content:encoded><![CDATA[<p><span id="ArticleContent1_ArticleContent1_lblContent"></span></p>
<p><span style="color: #ff0000;">在Asp中如何得到所有表单的名称跟</span><span style="color: #ff0000;">对应的值</span>。其实，这个问题很简单，但是可能还是有很多人不知道该怎么做，所以特地写下来，仅供参考。在Asp程序中，用来获得客户端数据的对象是 Request，这个对象给我们提供了很多的方法以及属性。比如，有这样一个Form，</p>
<p>&lt;FORM METHOD=POST name=cqq ACTION=&#8221;"&gt;<br />
 &lt;INPUT TYPE=&#8221;text&#8221; NAME=&#8221;username&#8221;&gt;<br />
 &lt;INPUT TYPE=&#8221;text&#8221; NAME=&#8221;password&#8221;&gt;<br />
 &lt;INPUT TYPE=&#8221;checkbox&#8221; NAME=&#8221;sex&#8221; value=&#8221;male&#8221;&gt;<br />
 &lt;INPUT TYPE=&#8221;checkbox&#8221; NAME=&#8221;sex&#8221; value=&#8221;female&#8221;&gt;<br />
 &lt;INPUT TYPE=&#8221;submit&#8221;&gt;<br />
 &lt;/FORM&gt;</p>
<p>         如果我们要取得 username 中的值，我们可以这样写：Request.Form(&#8220;username&#8221;)</p>
<p> 这个大家都会，其实这个Form是一个集合，也就是说表单中的所有的内容都存放在这个集合</p>
<p>当中，我们要取得某个元素的值，只需要在Request.Form() 这里制定元素的名称就可以了，比如</p>
<p>上面的username。</p>
<p>          那么，我们要取得集合中所有的值呢？  那很简单，什么都不用跟就是了，<span style="color: #ff0000;">直接写Request.Form</span></p>
<p>就得到了集合中所有元素的名称跟值。  下面是一个对集合操作的语句：</p>
<p><span style="color: #ff0000;">&lt;%<br />
For each obj in Request.Form<br />
     Response.write obj &amp; &#8221; &#8221; &amp; Request.Form(obj) &amp;  &#8221; &lt;br&gt;&#8221;<br />
Next<br />
%&gt;</p>
<p></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.1xi.net/asp/asp-huoqu-biaodan/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>asp开发中textarea一些问题</title>
		<link>http://blog.1xi.net/asp/asp-textarea</link>
		<comments>http://blog.1xi.net/asp/asp-textarea#comments</comments>
		<pubDate>Wed, 24 Jun 2009 04:12:55 +0000</pubDate>
		<dc:creator>FDS</dc:creator>
				<category><![CDATA[ASP]]></category>

		<guid isPermaLink="false">http://blog.1xi.net/asp/asp-textarea</guid>
		<description><![CDATA[使用SQL SERVER的[导入]功能,便可将access数据转换,但要注意原来的&#8217;自增字段&#8217;需要修改,将相应字段标识修改为&#8216;是&#8217;(原来的备注字段也会自动转化为ntext).
由于新闻的添加,修改都是通过使用textarea,首先为了能保留输入内容的格式,在处理添加的页面加入
&#60;%
Function SqlStr( data )
SqlStr = &#8220;&#8216;&#8221; &#38; Replace( data, &#8220;&#8216;&#8221;, &#8220;&#8221;&#8221; ) &#38; &#8220;&#8216;&#8221;
End Function
Function  coder(str)
Dim  i
If  IsNull(str)  Then  :  coder=&#8221;"  :  Exit  Function  :  End  If
For  i  =  1  to  Len(str)
Select  case  mid(str,i,1)
Case  &#8220;&#60;&#8221;          :  coder  =  coder  &#38;&#8221;&#38;lt;&#8221;
Case  &#8220;&#62;&#8221;          :  coder  =  coder  &#38;&#8221;&#38;gt;&#8221;
Case  &#8220;&#38;&#8221;          :  coder  =  coder  &#38;&#8221;&#38;amp;&#8221;
Case  chr(9)    :  [...]]]></description>
			<content:encoded><![CDATA[<p>使用SQL SERVER的[导入]功能,便可将access数据转换,但要注意原来的&#8217;<span style="color: #0000ff;">自增字段&#8217;</span>需要修改,将相应字段<span style="background-color: #ffffff; color: #0000ff;">标识<span style="color: #000000;">修改为</span>&#8216;是&#8217;<span style="color: #000000;">(</span></span>原来的备注字段也会自动转化为ntext).</p>
<p>由于新闻的添加,修改都是通过使用textarea,首先为了能保留输入内容的格式,在处理添加的页面加入</p>
<p><span style="background-color: #d3d3d3;">&lt;%<br />
Function SqlStr( data )<br />
SqlStr = &#8220;&#8216;&#8221; &amp; Replace( data, &#8220;&#8216;&#8221;, &#8220;&#8221;&#8221; ) &amp; &#8220;&#8216;&#8221;<br />
End Function<br />
Function  coder(str)<br />
Dim  i<br />
If  IsNull(str)  Then  :  coder=&#8221;"  :  Exit  Function  :  End  If<br />
For  i  =  1  to  Len(str)<br />
Select  case  mid(str,i,1)<br />
Case  &#8220;&lt;&#8221;          :  coder  =  coder  &amp;&#8221;&amp;lt;&#8221;<br />
Case  &#8220;&gt;&#8221;          :  coder  =  coder  &amp;&#8221;&amp;gt;&#8221;<br />
Case  &#8220;&amp;&#8221;          :  coder  =  coder  &amp;&#8221;&amp;amp;&#8221;<br />
Case  chr(9)    :  coder  =  coder  &amp;&#8221;&amp;nbsp;&amp;nbsp;&#8221;<br />
Case  VBCrLf    :  coder  =  coder  &amp;&#8221;&lt;br&gt;&#8221;<br />
Case  chr(32)  :  coder  =  coder  &amp;&#8221;&amp;nbsp;&#8221;<br />
Case  chr(34)  :  coder  =  coder  &amp;&#8221;&amp;quot;&#8221;<br />
Case  chr(39)  :  coder  =  coder  &amp;&#8221;&amp;#39;&#8221;<br />
Case  Else        :  coder  =  coder  &amp;  mid(str,i,1)<br />
End  Select<br />
Next<br />
End  Function </span></p>
<p><span style="background-color: #d3d3d3;"> </span></p>
<p><span style="background-color: #d3d3d3;">content=request(&#8220;content&#8221;)&#8217;正文<br />
content=replace(content,&#8221;&amp;nbsp;&#8221;,&#8221; &#8220;)   &#8216;此处处理是因为修改页面所加入空格会被转化为&amp;nbsp; ,在此先过滤<br />
content=coder(content)</span></p>
<p><span style="background-color: #d3d3d3;"> </span></p>
<p><span style="background-color: #d3d3d3;">%&gt;</span></p>
<p>在修改页面</p>
<p>&lt;%</p>
<p><span style="background-color: #d3d3d3;">rs.Open sql, conn, adOpenStatic</span><br />
<span style="background-color: #d3d3d3;">content=rs(&#8220;正文&#8221;)</span> <span style="color: #ffa500;">&#8216;此处一定要写,倘若直接在textarea处写</span></p>
<p><span style="color: #ffa500;"> &#8216;&lt;textarea rows=&#8221;7&#8243; name=&#8221;t&#8221; cols=&#8221;47&#8243; &gt;&lt;%=rs(&#8220;正文&#8221;) %&gt;&lt;/textarea &gt;“则无法显示(我就被此处</span></p>
<p><span style="color: #ffa500;"> &#8216;困了好久,还以为长字段不能使用ntext而只能使用text或varchar呢)</span></p>
<p>%&gt;</p>
<p>在显示页面</p>
<p><span style="background-color: #d3d3d3;">&lt;%</span></p>
<p><span style="background-color: #d3d3d3;">rs.Open sql, conn, adOpenStatic<br />
content=rs(&#8220;content&#8221;)   &#8216;一定先放到变量中,否则可能无法显示<br />
content=replace(content,vbcrlf,&#8221;&lt;br&gt;&#8221;+vbcrlf)   &#8216;经过此处处理,可显示出正确的段落格式</span></p>
<p><span style="background-color: #d3d3d3;">%&gt;</span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.1xi.net/asp/asp-textarea/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP控制每页打印行数的方法</title>
		<link>http://blog.1xi.net/asp/asp-kongzhi-dayin-hangshu</link>
		<comments>http://blog.1xi.net/asp/asp-kongzhi-dayin-hangshu#comments</comments>
		<pubDate>Mon, 11 May 2009 10:12:27 +0000</pubDate>
		<dc:creator>FDS</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[分页]]></category>
		<category><![CDATA[打印]]></category>
		<category><![CDATA[网页]]></category>

		<guid isPermaLink="false">http://blog.1xi.net/asp/asp-kongzhi-dayin-hangshu</guid>
		<description><![CDATA[在日常工作中，打印文档经常要使用，但是网页打印起来大部分都是不能控制的，这里分享一个用 ASP控制每页打印行数的方法。也许对你有一点点的启发哦！]]></description>
			<content:encoded><![CDATA[<p><span id="ArticleContent1_ArticleContent1_lblContent">在日常工作中，打印文档经常要使用，但是网页打印起来大部分都是不能控制的，这里分享一个用 ASP控制每页打印行数的方法。也许对你有一点点的启发哦！&lt;%<br />
pagenum=55&#8242;指定打印行数<br />
%&gt;<br />
&lt;HTML&gt;<br />
&lt;HEAD&gt;<br />
&lt;meta http-equiv=&#8221;Content-Type&#8221; content=&#8221;text/html; charset=gb2312&#8243;&gt;<br />
&lt;TITLE&gt;销售利润明细报表打印&lt;/TITLE&gt;<br />
&lt;style type=&#8221;text/css&#8221;&gt;<br />
td {font-size:9pt; color:#000000}<br />
A{text-decoration:none}<br />
A:hover{color:#FF0000;text-decoration:derline}<br />
.break{page-break-before:always}<br />
&lt;/style&gt;<br />
&lt;/HEAD&gt;<br />
&lt;script language=&#8221;javascript&#8221;&gt;<br />
window.print()<br />
&lt;/script&gt;<br />
&lt;BODY style=&#8221;border:none&#8221; topmargin=&#8221;0&#8243; leftmargin=&#8221;6&#8243; onload=&#8221;javascrpt:pagesetup_default();&#8221;&gt;<br />
&lt;script language=&#8221;VbScript&#8221;&gt;<br />
dim hkey_root,hkey_path,hkey_key<br />
hkey_root=&#8221;HKEY_CURRENT_USER&#8221;<br />
hkey_path=&#8221;\Software\Microsoft\Internet Explorer\PageSetup&#8221;<br />
function pagesetup_default()<br />
    on error resume next<br />
    Set RegWsh = CreateObject(&#8220;WScript.Shell&#8221;)<br />
    hkey_key=&#8221;\header&#8221;   <br />
    RegWsh.RegWrite hkey_root+hkey_path+hkey_key,&#8221;&amp;b页&amp;p/&amp;P&#8221;<br />
    hkey_key=&#8221;\footer&#8221;<br />
    RegWsh.RegWrite hkey_root+hkey_path+hkey_key,&#8221;"<br />
end function<br />
&lt;/script&gt;</p>
<p>&lt;%<br />
kdname1=trim(request(&#8220;kdname1&#8243;))<br />
kdname2=trim(request(&#8220;kdname2&#8243;))<br />
keyword1=trim(request(&#8220;keyword1&#8243;))<br />
keyword2=trim(request(&#8220;keyword2&#8243;))</p>
<p> if keyword1&lt;&gt;&#8221;" then<br />
 today=keyword1<br />
 else<br />
 if kdname1=&#8221;" then<br />
 today=year(date())&amp;&#8221;-&#8221;&amp;month(date())<br />
 else<br />
 today=kdname1&amp;&#8221;至&#8221;&amp;kdname2<br />
 end if<br />
 end if<br />
%&gt;<br />
  &lt;table border=&#8221;0&#8243; cellspacing=&#8221;0&#8243; cellpadding=&#8221;0&#8243; align=&#8221;center&#8221; width=&#8221;740&#8243;  height=&#8221;30&#8243;&gt;<br />
    &lt;tr&gt;<br />
      &lt;td align=&#8221;center&#8221;&gt;销售利润汇总报表&lt;/td&gt;<br />
    &lt;/tr&gt;<br />
  &lt;/table&gt;</p>
<p>&lt;% <br />
 strSQL=&#8221;select autoid,sellautoid,productxili,productname,productsize,productnum,productdan,productjia,chaoshi,tiaoma,youhui,fukuan,moncount1,gongshang,lirun1,username,indate,fudate from sell where officename=&#8217;&#8221;&amp;trim(request.cookies(&#8220;Myoffice&#8221;))&amp;&#8221;&#8216; and monthjie=&#8217;0&#8242; and (year(indate)=year(getdate()) and month(indate)=month(getdate())) and zhuofei is null order by autoid desc&#8221;            <br />
 set rs1=server.createobject(&#8220;adodb.recordset&#8221;)             <br />
 rs1.open strSQL,conn,1,1<br />
%&gt;              <br />
  &lt;table border=&#8221;1&#8243; cellspacing=&#8221;0&#8243; cellpadding=&#8221;0&#8243; align=&#8221;center&#8221; style=&#8221;border-collapse: collapse&#8221;  bordercolor=&#8221;#000000&#8243; width=&#8221;740&#8243;&gt;            <br />
    &lt;tr&gt;            <br />
      &lt;td align=&#8221;center&#8221; height=&#8221;20&#8243; bgcolor=&#8221;#BDCBEE&#8221; width=&#8221;70&#8243; &gt;销售单号&lt;/td&gt;            <br />
      &lt;td align=&#8221;center&#8221; height=&#8221;20&#8243; bgcolor=&#8221;#BDCBEE&#8221; width=&#8221;168&#8243; &gt;商品名称（规格）&lt;/td&gt;            <br />
      &lt;td align=&#8221;center&#8221; height=&#8221;20&#8243; bgcolor=&#8221;#BDCBEE&#8221; width=&#8221;121&#8243; &gt;客户&lt;/td&gt;            <br />
      &lt;td align=&#8221;center&#8221; height=&#8221;20&#8243; bgcolor=&#8221;#BDCBEE&#8221; width=&#8221;30&#8243; &gt;数量&lt;/td&gt;            <br />
      &lt;td align=&#8221;center&#8221; height=&#8221;20&#8243; bgcolor=&#8221;#BDCBEE&#8221; width=&#8221;24&#8243; &gt;单位&lt;/td&gt;            <br />
      &lt;td align=&#8221;center&#8221; height=&#8221;20&#8243; bgcolor=&#8221;#BDCBEE&#8221; width=&#8221;50&#8243; &gt;销售价&lt;/td&gt;            <br />
      &lt;td align=&#8221;center&#8221; height=&#8221;20&#8243; bgcolor=&#8221;#BDCBEE&#8221; width=&#8221;23&#8243; &gt;折%&lt;/td&gt;            <br />
      &lt;td align=&#8221;center&#8221; height=&#8221;20&#8243; bgcolor=&#8221;#BDCBEE&#8221; width=&#8221;52&#8243; &gt;进货价&lt;/td&gt;            <br />
      &lt;td align=&#8221;center&#8221; height=&#8221;20&#8243; bgcolor=&#8221;#BDCBEE&#8221; width=&#8221;55&#8243; &gt;小计&lt;/td&gt;            <br />
      &lt;td align=&#8221;center&#8221; height=&#8221;20&#8243; bgcolor=&#8221;#BDCBEE&#8221; width=&#8221;45&#8243; &gt;利润&lt;/td&gt;            <br />
      &lt;td align=&#8221;center&#8221; height=&#8221;20&#8243; bgcolor=&#8221;#BDCBEE&#8221; width=&#8221;25&#8243; &gt;付款&lt;/td&gt;            <br />
      &lt;td align=&#8221;center&#8221; height=&#8221;20&#8243; bgcolor=&#8221;#BDCBEE&#8221; width=&#8221;61&#8243; &gt;销售日期&lt;/td&gt;            <br />
    &lt;/tr&gt;<br />
  &lt;/table&gt;<br />
&lt;%            <br />
  moncount2=0            <br />
  moncount5=0            <br />
  Do while not rs1.eof <br />
%&gt;<br />
&lt;table border=&#8221;1&#8243; cellpadding=&#8221;0&#8243; cellspacing=&#8221;0&#8243; width=&#8221;740&#8243; align=&#8221;center&#8221; style=&#8221;border-collapse:collapse; font-size:10pt;color:#000000&#8243; bordercolor=&#8221;#000000&#8243;&gt;<br />
&lt;%<br />
for i=1 to pagenum<br />
if not rs1.eof then<br />
  if trim(rs1(&#8220;fukuan&#8221;))=&#8221;欠款&#8221; then            <br />
  moncount6=Csng(rs1(&#8220;lirun1&#8243;))            <br />
  moncount5=moncount5+moncount6            <br />
  else            <br />
  moncount3=Csng(rs1(&#8220;lirun1&#8243;))            <br />
  moncount2=moncount2+moncount3            <br />
  end if <br />
%&gt;     <br />
    &lt;tr&gt;            <br />
      &lt;td height=&#8221;18&#8243; width=&#8221;70&#8243;&gt;&amp;nbsp;&lt;%=rs1(&#8220;sellautoid&#8221;)%&gt;&lt;/td&gt;            <br />
      &lt;td height=&#8221;18&#8243; width=&#8221;168&#8243;&gt;&lt;%=Decode(rs1(&#8220;productname&#8221;))%&gt;&amp;nbsp;&lt;%=rs1(&#8220;productsize&#8221;)%&gt;&lt;/td&gt;            <br />
      &lt;td height=&#8221;18&#8243; width=&#8221;121&#8243;&gt;&lt;%=left(rs1(&#8220;gongshang&#8221;),9)%&gt;&lt;/td&gt;           <br />
      &lt;td height=&#8221;18&#8243; width=&#8221;30&#8243; align=&#8221;center&#8221;&gt;&lt;%=rs1(&#8220;productnum&#8221;)%&gt;&lt;/td&gt;           <br />
      &lt;td height=&#8221;18&#8243; width=&#8221;24&#8243; align=&#8221;center&#8221;&gt;&lt;%=rs1(&#8220;productdan&#8221;)%&gt;&lt;/td&gt;           <br />
      &lt;td height=&#8221;18&#8243; width=&#8221;50&#8243; align=&#8221;right&#8221;&gt;&lt;%=formatNumber(rs1(&#8220;chaoshi&#8221;),varnum,-1)%&gt;&lt;/td&gt;           <br />
      &lt;td height=&#8221;18&#8243; width=&#8221;23&#8243; align=&#8221;center&#8221;&gt;&lt;%=rs1(&#8220;youhui&#8221;)%&gt;&lt;/td&gt;           <br />
      &lt;td height=&#8221;18&#8243; width=&#8221;52&#8243; align=&#8221;right&#8221;&gt;&lt;%=formatNumber(rs1(&#8220;productjia&#8221;),varnum,-1)%&gt;&lt;/td&gt;           <br />
      &lt;td height=&#8221;18&#8243; width=&#8221;55&#8243; align=&#8221;right&#8221;&gt;&lt;%=formatNumber(rs1(&#8220;moncount1&#8243;),varnum,-1)%&gt;&lt;/td&gt;           <br />
      &lt;td height=&#8221;18&#8243; width=&#8221;45&#8243; align=&#8221;right&#8221;&gt;&lt;%=formatNumber(rs1(&#8220;lirun1&#8243;),varnum,-1)%&gt;&lt;/td&gt;           <br />
      &lt;td align=&#8221;center&#8221; height=&#8221;18&#8243; width=&#8221;25&#8243;&gt;&lt;%if trim(rs1(&#8220;fukuan&#8221;))=&#8221;欠款&#8221; then%&gt;&lt;font color=blue&gt;&lt;%=rs1(&#8220;fukuan&#8221;)%&gt;&lt;/font&gt;&lt;%else%&gt;&lt;%=rs1(&#8220;fukuan&#8221;)%&gt;&lt;%end if%&gt;&lt;/td&gt;           <br />
      &lt;td height=&#8221;18&#8243; width=&#8221;61&#8243;&gt;&lt;%=rs1(&#8220;indate&#8221;)%&gt;&lt;/td&gt;           <br />
    &lt;/tr&gt;<br />
&lt;%<br />
rs1.movenext<br />
end if<br />
next<br />
%&gt;<br />
&lt;/table&gt;<br />
&lt;%<br />
if not rs1.eof and i=pagenum+1 then &#8216;添加分页标记<br />
%&gt;<br />
  &lt;div class=&#8221;break&#8221;&gt;&amp;nbsp;&lt;/div&gt;<br />
  &lt;table border=&#8221;0&#8243; cellpadding=&#8221;0&#8243; cellspacing=&#8221;0&#8243; width=&#8221;740&#8243; height=&#8221;12&#8243; align=&#8221;center&#8221;&gt;&lt;tr&gt;&lt;td height=&#8221;12&#8243;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;<br />
  &lt;table border=&#8221;1&#8243; cellspacing=&#8221;0&#8243; cellpadding=&#8221;0&#8243; align=&#8221;center&#8221; width=&#8221;740&#8243; style=&#8221;border-collapse: collapse&#8221;  bordercolor=&#8221;#000000&#8243;&gt;<br />
    &lt;tr&gt;            <br />
      &lt;td align=&#8221;center&#8221; height=&#8221;20&#8243; bgcolor=&#8221;#BDCBEE&#8221; width=&#8221;70&#8243; &gt;销售单号&lt;/td&gt;            <br />
      &lt;td align=&#8221;center&#8221; height=&#8221;20&#8243; bgcolor=&#8221;#BDCBEE&#8221; width=&#8221;168&#8243; &gt;商品名称（规格）&lt;/td&gt;            <br />
      &lt;td align=&#8221;center&#8221; height=&#8221;20&#8243; bgcolor=&#8221;#BDCBEE&#8221; width=&#8221;121&#8243; &gt;客户&lt;/td&gt;            <br />
      &lt;td align=&#8221;center&#8221; height=&#8221;20&#8243; bgcolor=&#8221;#BDCBEE&#8221; width=&#8221;30&#8243; &gt;数量&lt;/td&gt;            <br />
      &lt;td align=&#8221;center&#8221; height=&#8221;20&#8243; bgcolor=&#8221;#BDCBEE&#8221; width=&#8221;24&#8243; &gt;单位&lt;/td&gt;            <br />
      &lt;td align=&#8221;center&#8221; height=&#8221;20&#8243; bgcolor=&#8221;#BDCBEE&#8221; width=&#8221;50&#8243; &gt;销售价&lt;/td&gt;            <br />
      &lt;td align=&#8221;center&#8221; height=&#8221;20&#8243; bgcolor=&#8221;#BDCBEE&#8221; width=&#8221;23&#8243; &gt;折%&lt;/td&gt;            <br />
      &lt;td align=&#8221;center&#8221; height=&#8221;20&#8243; bgcolor=&#8221;#BDCBEE&#8221; width=&#8221;52&#8243; &gt;进货价&lt;/td&gt;            <br />
      &lt;td align=&#8221;center&#8221; height=&#8221;20&#8243; bgcolor=&#8221;#BDCBEE&#8221; width=&#8221;55&#8243; &gt;小计&lt;/td&gt;            <br />
      &lt;td align=&#8221;center&#8221; height=&#8221;20&#8243; bgcolor=&#8221;#BDCBEE&#8221; width=&#8221;45&#8243; &gt;利润&lt;/td&gt;            <br />
      &lt;td align=&#8221;center&#8221; height=&#8221;20&#8243; bgcolor=&#8221;#BDCBEE&#8221; width=&#8221;25&#8243; &gt;付款&lt;/td&gt;            <br />
      &lt;td align=&#8221;center&#8221; height=&#8221;20&#8243; bgcolor=&#8221;#BDCBEE&#8221; width=&#8221;61&#8243; &gt;销售日期&lt;/td&gt;            <br />
    &lt;/tr&gt;<br />
&lt;%<br />
end if<br />
loop<br />
rs1.close    <br />
set rs1=nothing    <br />
%&gt; <br />
&lt;/table&gt; <br />
  &lt;table border=&#8221;1&#8243; cellpadding=&#8221;0&#8243; cellspacing=&#8221;0&#8243; width=&#8221;740&#8243; height=&#8221;20&#8243; align=&#8221;center&#8221; style=&#8221;border-collapse: collapse&#8221;  bordercolor=&#8221;#000000&#8243;&gt;<br />
    &lt;tr&gt;           <br />
       &lt;td&gt;&lt;font color=&#8221;#FF0000&#8243;&gt;&lt;b&gt;现金利润：&lt;/b&gt;&lt;/font&gt;&lt;b&gt;&lt;%=formatNumber(moncount2,varnum,-1)%&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;%if moncount5&lt;&gt;&#8221;" then%&gt;&lt;b&gt;&lt;font color=&#8221;#FF0000&#8243;&gt;欠款利润&lt;/font&gt;：&lt;%=formatNumber(moncount5,varnum,-1)%&gt;&lt;/b&gt;&lt;%end if%&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;%if moncount5&lt;&gt;&#8221;" then%&gt;&lt;b&gt;&lt;font color=&#8221;#FF0000&#8243;&gt;毛利合计：&lt;/font&gt;&lt;%=formatNumber(moncount5+moncount2,varnum,-1)%&gt;&lt;/b&gt;&lt;%end if%&gt;&lt;/td&gt;           <br />
     &lt;/tr&gt;  <br />
   &lt;/table&gt;           <br />
&lt;%<br />
end if<br />
conn.close<br />
set conn=nothing<br />
%&gt; </p>
<p>&lt;/BODY&gt;<br />
&lt;/HTML&gt;</p>
<p></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.1xi.net/asp/asp-kongzhi-dayin-hangshu/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP动态显示页面的锚链接</title>
		<link>http://blog.1xi.net/asp/asp-maolianjie</link>
		<comments>http://blog.1xi.net/asp/asp-maolianjie#comments</comments>
		<pubDate>Mon, 04 May 2009 10:20:40 +0000</pubDate>
		<dc:creator>fangds</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[超链接]]></category>

		<guid isPermaLink="false">http://blog.1xi.net/flash/asp-maolianjie</guid>
		<description><![CDATA[锚点是“top”，可以放在页面的任何位置，一般是页首。程序红色部分是关键，就是对锚点出现的判断，我设置的数值是4，意思是出现4个动态数据就出现一个锚点，少于4个时因为还在同一个页面，就不需要有锚点出现，这个数值可以根据实际情况进行修改。为了对页面进行进行美化，可以把锚点的文字用图形]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">锚点是“</span><span lang="EN-US">top</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">”，可以放在页面的任何位置，一般是页首。程序红色部分是关键，就是对锚点出现的判断，我设置的数值是</span><span lang="EN-US">4</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，意思是出现</span><span lang="EN-US">4</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个动态数据就出现一个锚点，少于</span><span lang="EN-US">4</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个时因为还在同一个页面，就不需要有锚点出现，这个数值可以根据实际情况进行修改。为了对页面进行进行美化，可以把锚点的文字用图形</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"> </span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US">&lt;a name=&#8221;top&#8221;&gt;&lt;/a&gt;</span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US">…&#8230;(</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">具体内容省略</span><span lang="EN-US">)</span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US">&lt;% </span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US">While ((Repeat2__numRows &lt;&gt; 0) AND (NOT rsp.EOF)) </span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US">%&gt; </span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US">…&#8230;(</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">具体内容省略</span><span lang="EN-US">)</span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US">&lt;% </span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span style="mso-spacerun: yes">  </span>Repeat2__index=Repeat2__index+1</span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span style="mso-spacerun: yes">  </span>Repeat2__numRows=Repeat2__numRows-1</span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="COLOR: red" lang="EN-US"><span style="mso-spacerun: yes">  </span>if Repeat2__numRows &lt; </span><span style="COLOR: blue" lang="EN-US">4</span><span style="COLOR: red" lang="EN-US"> then</span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="COLOR: red" lang="EN-US"><span style="mso-spacerun: yes">  </span>Response.Write(&#8220;&lt;table width=400 border=0 cellpadding=0 cellspacing=1&gt;&lt;tr&gt;&lt;td align=right&gt;&lt;a href=#top&gt;</span><span style="COLOR: blue" lang="EN-US">top</span><span style="COLOR: red" lang="EN-US">&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#8221;)</span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="COLOR: red" lang="EN-US"><span style="mso-spacerun: yes">  </span>else</span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="COLOR: red" lang="EN-US"><span style="mso-spacerun: yes">  </span>Response.Write(&#8220;&lt;table width=400 border=0 cellpadding=0 cellspacing=1&gt;&lt;tr&gt;&lt;td align=right&gt;a&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#8221;)</span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="COLOR: red" lang="EN-US"><span style="mso-spacerun: yes">  </span>end if<span style="mso-spacerun: yes">  </span></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span style="mso-spacerun: yes">  </span>rsp.MoveNext()</span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US">Wend</span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US">%&gt;</span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.1xi.net/asp/asp-maolianjie/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>初识“微软ISA认证”</title>
		<link>http://blog.1xi.net/kaoshi/isa-renzheng</link>
		<comments>http://blog.1xi.net/kaoshi/isa-renzheng#comments</comments>
		<pubDate>Mon, 04 May 2009 10:05:31 +0000</pubDate>
		<dc:creator>FDS</dc:creator>
				<category><![CDATA[计算机考试]]></category>
		<category><![CDATA[认证]]></category>

		<guid isPermaLink="false">http://blog.1xi.net/kaoshi/isa-renzheng</guid>
		<description><![CDATA[【简 介】
随着网络安全行业的升温，微软继思科成功推出安全认证专家(CCSP)后，又新增两门安全类专业方向的认证&#8211;MCSA: Security和MCSE: Security，继此，又推出ISA认证。   function goforum(){ var ff=document.all.forum.options[document.all.forum.selectedIndex].value; window.location.href=ff; return false; } 它是针对那些部署和管理部门级应用程序、组件、Web或桌面系统客户端及网络安全服务的专业人员而提供的。其工作角色涵盖了从需求实现到解决方案建立、部署与维护在内的各种任务。大家也许对它还比较陌生，下面我们进行一下简单的介绍：
业界评论
微软ISA(Internet Security and Acceleration ) SERVER 2000软件，是微软推出的防火墙服务器软件，堪称网络安全与速度的完美结合。目前，业界使用这个软件的企业越来越多通过这门认证，可得到MCP（产品专家）证书。
认识ISA
ISA Server通过集成一个可扩展的多层企业级防火墙和一个可伸缩的高性能Web缓存，从而实现合二为一的网络安全和加速服务器。
ISA Server有很强的自定义和扩展性。它包括一个综合的软件开发包（SDK）和应用程序接口 (API)，方便本地合作伙伴能够快速、方便地为企业扩展其安全和缓存解决方案。
ISA Server能够帮助企业发布Exchange和IIS，同时，还集成了入侵检测功能、H.323（关守）等模块。
关于考试
考试号:70-227
考试科目(中文) :安装、配置和管理微软Internet安全和加速(ISA)服务器2000企业版
考试题数：50道题
考试时间：170分钟
满分：1000
]]></description>
			<content:encoded><![CDATA[<p>【简 介】<br />
随着网络安全行业的升温，微软继思科成功推出安全认证专家(CCSP)后，又新增两门安全类专业方向的认证&#8211;MCSA: Security和MCSE: Security，继此，又推出ISA认证。   function goforum(){ var ff=document.all.forum.options[document.all.forum.selectedIndex].value; window.location.href=ff; return false; } 它是针对那些部署和管理部门级应用程序、组件、Web或桌面系统客户端及网络安全服务的专业人员而提供的。其工作角色涵盖了从需求实现到解决方案建立、部署与维护在内的各种任务。大家也许对它还比较陌生，下面我们进行一下简单的介绍：</p>
<p>业界评论</p>
<p>微软ISA(Internet Security and Acceleration ) SERVER 2000软件，是微软推出的防火墙服务器软件，堪称网络安全与速度的完美结合。目前，业界使用这个软件的企业越来越多通过这门认证，可得到MCP（产品专家）证书。</p>
<p>认识ISA</p>
<p>ISA Server通过集成一个可扩展的多层企业级防火墙和一个可伸缩的高性能Web缓存，从而实现合二为一的网络安全和加速服务器。</p>
<p>ISA Server有很强的自定义和扩展性。它包括一个综合的软件开发包（SDK）和应用程序接口 (API)，方便本地合作伙伴能够快速、方便地为企业扩展其安全和缓存解决方案。</p>
<p>ISA Server能够帮助企业发布Exchange和IIS，同时，还集成了入侵检测功能、H.323（关守）等模块。</p>
<p>关于考试</p>
<p>考试号:70-227</p>
<p>考试科目(中文) :安装、配置和管理微软Internet安全和加速(ISA)服务器2000企业版</p>
<p>考试题数：50道题</p>
<p>考试时间：170分钟</p>
<p>满分：1000</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.1xi.net/kaoshi/isa-renzheng/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>document.body.scrollTop的返回值总是零的处理方法</title>
		<link>http://blog.1xi.net/javascript/document-body-scrolltop</link>
		<comments>http://blog.1xi.net/javascript/document-body-scrolltop#comments</comments>
		<pubDate>Wed, 29 Apr 2009 02:56:10 +0000</pubDate>
		<dc:creator>fangds</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[JAVASCRIPT]]></category>

		<guid isPermaLink="false">http://blog.1xi.net/?p=7539</guid>
		<description><![CDATA[为什么document.body.scrollTop的值总是零呢？原来是头部声明的问题，也是标准的问题。
原来在HTML文件头部声明了这样一句：
&#60;!DOCTYPE HTML PUBLIC &#8220;-//W3C//DTD HTML 4.01 Transitional//EN&#8221; &#8220;http://www.w3.org/TR/html4/loose.dtd&#8221;&#62;
改成这样就好了：
&#60;!DOCTYPE html PUBLIC &#8220;-//W3C//DTD XHTML 1.0 Transitional//EN&#8221; &#8220;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8221;&#62;

var scrollPos;
if (typeof window.pageYOffset != &#8216;undefined&#8217;) {
   scrollPos = window.pageYOffset;
}
else if (typeof document.compatMode != &#8216;undefined&#8217; &#38;&#38;
     document.compatMode != &#8216;BackCompat&#8217;) {
   scrollPos = document.documentElement.scrollTop;
}
else if (typeof document.body != &#8216;undefined&#8217;) {
   scrollPos = document.body.scrollTop;
}
alert(scrollPos);
一切OK.
]]></description>
			<content:encoded><![CDATA[<p>为什么document.body.scrollTop的值总是零呢？原来是头部声明的问题，也是标准的问题。</p>
<p>原来在HTML文件头部声明了这样一句：<br />
&lt;!DOCTYPE HTML PUBLIC &#8220;-//W3C//DTD HTML 4.01 Transitional//EN&#8221; &#8220;http://www.w3.org/TR/html4/loose.dtd&#8221;&gt;</p>
<p>改成这样就好了：<br />
&lt;!DOCTYPE html PUBLIC &#8220;-//W3C//DTD XHTML 1.0 Transitional//EN&#8221; &#8220;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8221;&gt;</p>
<blockquote>
<p>var scrollPos;<br />
if (typeof window.pageYOffset != &#8216;undefined&#8217;) {<br />
   scrollPos = window.pageYOffset;<br />
}<br />
else if (typeof document.compatMode != &#8216;undefined&#8217; &amp;&amp;<br />
     document.compatMode != &#8216;BackCompat&#8217;) {<br />
   scrollPos = document.documentElement.scrollTop;<br />
}<br />
else if (typeof document.body != &#8216;undefined&#8217;) {<br />
   scrollPos = document.body.scrollTop;<br />
}<br />
alert(scrollPos);</p></blockquote>
<p>一切OK.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.1xi.net/javascript/document-body-scrolltop/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A链接的样式属性全解</title>
		<link>http://blog.1xi.net/html/a-shuxing</link>
		<comments>http://blog.1xi.net/html/a-shuxing#comments</comments>
		<pubDate>Tue, 21 Apr 2009 02:14:07 +0000</pubDate>
		<dc:creator>fangds</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTML标签]]></category>

		<guid isPermaLink="false">http://blog.1xi.net/?p=7536</guid>
		<description><![CDATA[1、不同状态下的解释
link:连接平常的状态  
active:连接被按下的时候  
visited:连接被访问过之后  
hover:鼠标放到连接上的时候
2、a:hover和a:visited书写顺序的重要性
今天在用a:hover属性的时候发现一个奇怪的问题，同一个页面里面有些链接的a:hover效果不能正常表现出来。链接的代码是一样，没有使用其它样式固定，搞的我莫名其妙。还以为是某个标签没有关闭，但是页面比较长，检查起来又嫌累，但是想来想去找不到其它原因，索性把浏览器一关，做别的事情去了。
重新打开这个页面的时候，突然发现那个链接的a:hover效果又出来了。我想了一下，点了那个链接，然后回过头再点，果然又没了。连忙检查css文档，发现a:hover属性写在了visited之前，改写到之后，重试，ok！
以前看书的时候注意到css中关于链接表现的书写有提示说各属性顺序不能颠倒，一直没有注意，写的时候通常都很随意。现在看来不能这个顺序还是很重要的。
css中关于超链接的四个属性一般正常顺序为：link，visited，hover，active
]]></description>
			<content:encoded><![CDATA[<p>1、不同状态下的解释<br />
link:连接平常的状态  <br />
active:连接被按下的时候  <br />
visited:连接被访问过之后  <br />
hover:鼠标放到连接上的时候</p>
<p>2、a:hover和a:visited书写顺序的重要性<br />
今天在用a:hover属性的时候发现一个奇怪的问题，同一个页面里面有些链接的a:hover效果不能正常表现出来。链接的代码是一样，没有使用其它样式固定，搞的我莫名其妙。还以为是某个标签没有关闭，但是页面比较长，检查起来又嫌累，但是想来想去找不到其它原因，索性把浏览器一关，做别的事情去了。<br />
重新打开这个页面的时候，突然发现那个链接的a:hover效果又出来了。我想了一下，点了那个链接，然后回过头再点，果然又没了。连忙检查css文档，发现a:hover属性写在了visited之前，改写到之后，重试，ok！<br />
以前看书的时候注意到css中关于链接表现的书写有提示说各属性顺序不能颠倒，一直没有注意，写的时候通常都很随意。现在看来不能这个顺序还是很重要的。<br />
css中关于超链接的四个属性一般正常顺序为：link，visited，hover，active</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.1xi.net/html/a-shuxing/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>让火狐和IE里面的flash背景都透明透明</title>
		<link>http://blog.1xi.net/html/flash-huohu-ie-touming</link>
		<comments>http://blog.1xi.net/html/flash-huohu-ie-touming#comments</comments>
		<pubDate>Thu, 16 Apr 2009 07:41:47 +0000</pubDate>
		<dc:creator>fangds</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[火狐]]></category>
		<category><![CDATA[透明]]></category>

		<guid isPermaLink="false">http://blog.1xi.net/?p=7534</guid>
		<description><![CDATA[在IE浏览器中，我们只要在FLASH的属性里面加一个&#60;param name=&#8221;wmode&#8221; value=&#8221;transparent&#8221; /&#62;就可以让FLASH的背景透明了，但是火狐里面似乎不起作用。查找了不少时间，发现问题所在。
下面的插入FLASH的代码可以解决这个问题，注册红色的部分，再看看你的，是不是少了后面的。
&#60;object classid=&#8221;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&#8243; codebase=&#8221;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0&#8243; width=&#8221;825&#8243; height=&#8221;660&#8243;&#62;
            &#60;param name=&#8221;movie&#8221; value=&#8221;zhiye.swf&#8221; /&#62;
            &#60;param name=&#8221;quality&#8221; value=&#8221;high&#8221; /&#62;
            &#60;param name=&#8221;wmode&#8221; value=&#8221;transparent&#8221; /&#62;
            &#60;embed src=&#8221;zhiye.swf&#8221; quality=&#8221;high&#8221; pluginspage=&#8221;http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&#8221; type=&#8221;application/x-shockwave-flash&#8221; width=&#8221;825&#8243; height=&#8221;660&#8243;  wmode=&#8221;transparent&#8221;&#62;&#60;/embed&#62;
&#60;/object&#62;
]]></description>
			<content:encoded><![CDATA[<p>在IE浏览器中，我们只要在FLASH的属性里面加一个&lt;param name=&#8221;wmode&#8221; value=&#8221;transparent&#8221; /&gt;就可以让FLASH的背景透明了，但是火狐里面似乎不起作用。查找了不少时间，发现问题所在。</p>
<p>下面的插入FLASH的代码可以解决这个问题，注册红色的部分，再看看你的，是不是少了后面的。</p>
<blockquote><p>&lt;object classid=&#8221;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&#8243; codebase=&#8221;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0&#8243; width=&#8221;825&#8243; height=&#8221;660&#8243;&gt;<br />
            &lt;param name=&#8221;movie&#8221; value=&#8221;zhiye.swf&#8221; /&gt;<br />
            &lt;param name=&#8221;quality&#8221; value=&#8221;high&#8221; /&gt;<br />
            <span style="color: #ff0000;">&lt;param name=&#8221;wmode&#8221; value=&#8221;transparent&#8221; /&gt;</span><br />
            &lt;embed src=&#8221;zhiye.swf&#8221; quality=&#8221;high&#8221; pluginspage=&#8221;http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&#8221; type=&#8221;application/x-shockwave-flash&#8221; width=&#8221;825&#8243; height=&#8221;660&#8243;  <span style="color: #ff0000;">wmode=&#8221;transparent&#8221;</span>&gt;&lt;/embed&gt;<br />
&lt;/object&gt;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.1xi.net/html/flash-huohu-ie-touming/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3个步骤来实现asp模块化分页</title>
		<link>http://blog.1xi.net/asp/mokuai-fenye</link>
		<comments>http://blog.1xi.net/asp/mokuai-fenye#comments</comments>
		<pubDate>Mon, 13 Apr 2009 14:40:20 +0000</pubDate>
		<dc:creator>FDS</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[分页]]></category>

		<guid isPermaLink="false">http://blog.1xi.net/asp/mokuai-fenye</guid>
		<description><![CDATA[ 通过3个步骤来实现模块化分页，1、查询语句块，2、显示记录块，3、输出分页效果
1、查询语句块
&#60;%
取得当前文件名
temp = Split(request.ServerVariables(&#8220;URL&#8221;), &#8220;/&#8221;)
fy = temp(UBound(temp))
set rs=server.createobject(&#8220;adodb.recordset&#8221;)
if not isempty(request(&#8220;page&#8221;)) then  
pagecount=cint(request(&#8220;page&#8221;))  
else  
pagecount=1  
end if
sql=&#8221;select  查询语句&#8221;
rs.open sql,conn,1,1
rs.pagesize=10  分页记录数
if pagecount&#62;rs.pagecount or pagecount&#60;=0 then             
pagecount=1             
end if            
if rs.eof and rs.bof then%&#62;
&#60;div align=&#8221;center&#8221; class=&#8221;001&#8243;&#62;&#60;br&#62;
对不起，没有符合搜索条件的记录！&#60;br&#62;
&#60;/div&#62;
2、显示记录块
&#60;%
else
rs.AbsolutePage=pagecount
do while not rs.eof %&#62;
显示的记录
&#60;% i=i+2                                                                                                 
rs.movenext                                                                                                 
if i&#62;=rs.PageSize then exit do
loop                                                                   
%&#62;
3、输出分页效果
&#60;table width=&#8221;778&#8243; border=&#8221;0&#8243; align=&#8221;center&#8221; cellpadding=&#8221;0&#8243; cellspacing=&#8221;0&#8243;&#62;
  &#60;tr align=&#8221;center&#8221;&#62;
    &#60;% if rs.pagecount=1 then %&#62;
    &#60;td height=&#8221;35&#8243; colspan=&#8221;4&#8243; class=001&#62;&#60;font color=&#8221;#000000&#8243;&#62;共有[&#60;font color="#ff0000"&#62;&#60;%=rs.recordcount%&#62;&#60;/font&#62;]条信息 当前显示第 &#60;font color=&#8221;red&#8221;&#62;1～&#60;%=rs.recordcount%&#62;&#60;/font&#62;条&#60;/font&#62;&#60;/td&#62;
  [...]]]></description>
			<content:encoded><![CDATA[<p> 通过3个步骤来实现模块化分页，1、查询语句块，2、显示记录块，3、输出分页效果</p>
<blockquote><p>1、查询语句块</p>
<p>&lt;%<br />
取得当前文件名<br />
temp = Split(request.ServerVariables(&#8220;URL&#8221;), &#8220;/&#8221;)<br />
fy = temp(UBound(temp))<br />
set rs=server.createobject(&#8220;adodb.recordset&#8221;)<br />
if not isempty(request(&#8220;page&#8221;)) then  <br />
pagecount=cint(request(&#8220;page&#8221;))  <br />
else  <br />
pagecount=1  <br />
end if<br />
sql=&#8221;select  查询语句&#8221;<br />
rs.open sql,conn,1,1<br />
rs.pagesize=10  分页记录数<br />
if pagecount&gt;rs.pagecount or pagecount&lt;=0 then             <br />
pagecount=1             <br />
end if            <br />
if rs.eof and rs.bof then%&gt;</p>
<p>&lt;div align=&#8221;center&#8221; class=&#8221;001&#8243;&gt;&lt;br&gt;<br />
对不起，没有符合搜索条件的记录！&lt;br&gt;<br />
&lt;/div&gt;</p></blockquote>
<blockquote><p>2、显示记录块</p>
<p>&lt;%<br />
else<br />
rs.AbsolutePage=pagecount<br />
do while not rs.eof %&gt;</p>
<p>显示的记录</p>
<p>&lt;% i=i+2                                                                                                 <br />
rs.movenext                                                                                                 <br />
if i&gt;=rs.PageSize then exit do<br />
loop                                                                   <br />
%&gt;</p></blockquote>
<blockquote><p>3、输出分页效果<br />
&lt;table width=&#8221;778&#8243; border=&#8221;0&#8243; align=&#8221;center&#8221; cellpadding=&#8221;0&#8243; cellspacing=&#8221;0&#8243;&gt;<br />
  &lt;tr align=&#8221;center&#8221;&gt;<br />
    &lt;% if rs.pagecount=1 then %&gt;<br />
    &lt;td height=&#8221;35&#8243; colspan=&#8221;4&#8243; class=001&gt;&lt;font color=&#8221;#000000&#8243;&gt;共有[&lt;font color="#ff0000"&gt;&lt;%=rs.recordcount%&gt;&lt;/font&gt;]条信息 当前显示第 &lt;font color=&#8221;red&#8221;&gt;1～&lt;%=rs.recordcount%&gt;&lt;/font&gt;条&lt;/font&gt;&lt;/td&gt;<br />
  &lt;/tr&gt;<br />
  &lt;tr&gt;<br />
    &lt;%else%&gt;<br />
    &lt;td width=&#8221;19%&#8221; height=&#8221;35&#8243; align=&#8221;center&#8221; valign=&#8221;middle&#8221; class=001&gt;&lt;font color=&#8221;#000000&#8243;&gt;<br />
      &lt;% page_start=(pagecount-1)*rs.pagesize<br />
            if pagecount=1 then page_start=1<br />
      page_end=rs.pagesize*pagecount<br />
      if pagecount*rs.pagesize=&gt;rs.recordcount then page_end=rs.recordcount end if%&gt;<br />
      共有[&lt;font color="#ff0000"&gt;&lt;%=rs.recordcount%&gt;&lt;/font&gt;]信息&lt;/font&gt;&lt;/td&gt;<br />
    &lt;td width=&#8221;58%&#8221; height=&#8221;30&#8243; align=&#8221;center&#8221; class=&#8221;fy&#8221;&gt;&lt;font color=&#8221;#000000&#8243;&gt;<br />
          &lt;%<br />
    if pagecount&gt;5 and pagecount&lt; rs.PageCount-5 and rs.pagecount&gt;10 then<br />
    qizu=pagecount-4<br />
    min=pagecount+5<br />
    response.write &#8220;&lt;a href=&#8221;&amp;source&amp;&#8221;?page=1&amp;sortid=&#8221;&amp;sortid&amp;&#8221;&amp;typeid=&#8221;&amp;typeid&amp;&#8221;&amp;qylb=&#8221;&amp;qylb&amp;&#8221;&amp;title=&#8221;&amp;title&amp;&#8221;&amp;cityid=&#8221;&amp;cityid&amp;&#8221;&gt;&lt;font color=&#8217;0000BE&#8217;&gt;首页&lt;/font&gt;&lt;/a&gt;&amp;nbsp;&#8221;<br />
    response.write &#8220;&lt;a href=&#8221;&amp;source&amp;&#8221;?page=&#8221;+cstr(pagecount-1)+&#8221;&amp;sortid=&#8221;&amp;sortid&amp;&#8221;&amp;typeid=&#8221;&amp;typeid&amp;&#8221;&amp;qylb=&#8221;&amp;qylb&amp;&#8221;&amp;title=&#8221;&amp;title&amp;&#8221;&amp;cityid=&#8221;&amp;cityid&amp;&#8221;&gt;&lt;font color=&#8217;0000BE&#8217;&gt;上一页&lt;/font&gt;&lt;/a&gt;&amp;nbsp;&#8221;                                                    <br />
    for ipage=qizu to min<br />
             if ipage&lt;&gt;pagecount then<br />
             response.write &#8220;&lt;a href=&#8221;&amp;source&amp;&#8221;?page=&#8221;+cstr(ipage)+&#8221;&amp;sortid=&#8221;&amp;sortid&amp;&#8221;&amp;typeid=&#8221;&amp;typeid&amp;&#8221;&amp;qylb=&#8221;&amp;qylb&amp;&#8221;&amp;cityid=&#8221;&amp;cityid&amp;&#8221;&gt;&lt;font color=&#8217;0000BE&#8217;&gt;&#8221;+cstr(ipage)+&#8221;&lt;/font&gt;&lt;/a&gt;&amp;nbsp;&#8221;<br />
             else<br />
             response.write &#8220;&lt;font color=&#8217;#FF0000&#8242;&gt;&#8221;&amp;ipage&amp;&#8221;&lt;/font&gt; &#8220;                                               <br />
             end if<br />
    next<br />
    response.write &#8220;&lt;a href=&#8221;&amp;source&amp;&#8221;?page=&#8221;+cstr(pagecount+1)+&#8221;&amp;sortid=&#8221;&amp;sortid&amp;&#8221;&amp;typeid=&#8221;&amp;typeid&amp;&#8221;&amp;qylb=&#8221;&amp;qylb&amp;&#8221;&amp;title=&#8221;&amp;title&amp;&#8221;&amp;cityid=&#8221;&amp;cityid&amp;&#8221;&gt;&lt;font color=&#8217;0000BE&#8217;&gt;下一页&lt;/font&gt;&lt;/a&gt;&amp;nbsp;&#8221;<br />
    response.write &#8220;&lt;a href=&#8221;&amp;source&amp;&#8221;?page=&#8221;+cstr(rs.PageCount)+&#8221;&amp;sortid=&#8221;&amp;sortid&amp;&#8221;&amp;typeid=&#8221;&amp;typeid&amp;&#8221;&amp;qylb=&#8221;&amp;qylb&amp;&#8221;&amp;title=&#8221;&amp;title&amp;&#8221;&amp;cityid=&#8221;&amp;cityid&amp;&#8221;&gt;&lt;font color=&#8217;0000BE&#8217;&gt;尾页&lt;/font&gt;&lt;/a&gt;&#8221;<br />
    end if<br />
    if rs.PageCount&lt;11 then<br />
    for ipage=1 to rs.PageCount<br />
             if ipage&lt;&gt;pagecount then<br />
             response.write &#8220;&lt;a href=&#8221;&amp;source&amp;&#8221;?page=&#8221;+cstr(ipage)+&#8221;&amp;sortid=&#8221;&amp;sortid&amp;&#8221;&amp;typeid=&#8221;&amp;typeid&amp;&#8221;&amp;qylb=&#8221;&amp;qylb&amp;&#8221;&amp;cityid=&#8221;&amp;cityid&amp;&#8221;&gt;&lt;font color=&#8217;0000BE&#8217;&gt;&#8221;+cstr(ipage)+&#8221;&lt;/font&gt;&lt;/a&gt;&amp;nbsp;&#8221;<br />
             else<br />
             response.write &#8220;&lt;font color=&#8217;#FF0000&#8242;&gt;&#8221;&amp;ipage&amp;&#8221;&lt;/font&gt; &#8220;                                               <br />
             end if<br />
    next<br />
    end if<br />
    if pagecount &lt; 6 and rs.PageCount&gt;10 then<br />
    for ipage=1 to 10<br />
             if ipage&lt;&gt;pagecount then<br />
             response.write &#8220;&lt;a href=&#8221;&amp;source&amp;&#8221;?page=&#8221;+cstr(ipage)+&#8221;&amp;sortid=&#8221;&amp;sortid&amp;&#8221;&amp;typeid=&#8221;&amp;typeid&amp;&#8221;&amp;qylb=&#8221;&amp;qylb&amp;&#8221;&amp;cityid=&#8221;&amp;cityid&amp;&#8221;&gt;&lt;font color=&#8217;0000BE&#8217;&gt;&#8221;+cstr(ipage)+&#8221;&lt;/font&gt;&lt;/a&gt;&amp;nbsp;&#8221;<br />
             else<br />
             response.write &#8220;&lt;font color=&#8217;#FF0000&#8242;&gt;&#8221;&amp;ipage&amp;&#8221;&lt;/font&gt; &#8220;                                               <br />
             end if<br />
    next<br />
    response.write &#8220;&lt;a href=&#8221;&amp;source&amp;&#8221;?page=&#8221;+cstr(rs.PageCount)+&#8221;&amp;sortid=&#8221;&amp;sortid&amp;&#8221;&amp;typeid=&#8221;&amp;typeid&amp;&#8221;&amp;qylb=&#8221;&amp;qylb&amp;&#8221;&amp;title=&#8221;&amp;title&amp;&#8221;&amp;cityid=&#8221;&amp;cityid&amp;&#8221;&gt;&lt;font color=&#8217;0000BE&#8217;&gt;尾页&lt;/font&gt;&lt;/a&gt;&#8221;<br />
    end if<br />
    if pagecount&gt;rs.PageCount-6 and rs.PageCount&gt;10 then<br />
    response.write &#8220;&lt;a href=&#8221;&amp;source&amp;&#8221;?page=1&amp;sortid=&#8221;&amp;sortid&amp;&#8221;&amp;typeid=&#8221;&amp;typeid&amp;&#8221;&amp;qylb=&#8221;&amp;qylb&amp;&#8221;&amp;title=&#8221;&amp;title&amp;&#8221;&amp;cityid=&#8221;&amp;cityid&amp;&#8221;&gt;&lt;font color=&#8217;0000BE&#8217;&gt;首页&lt;/font&gt;&lt;/a&gt;&amp;nbsp;&#8221;  <br />
    for ipage=rs.PageCount-9 to rs.PageCount<br />
             if ipage&lt;&gt;pagecount then<br />
             response.write &#8220;&lt;a href=&#8221;&amp;source&amp;&#8221;?page=&#8221;+cstr(ipage)+&#8221;&amp;sortid=&#8221;&amp;sortid&amp;&#8221;&amp;typeid=&#8221;&amp;typeid&amp;&#8221;&amp;qylb=&#8221;&amp;qylb&amp;&#8221;&amp;cityid=&#8221;&amp;cityid&amp;&#8221;&gt;&lt;font color=&#8217;0000BE&#8217;&gt;&#8221;+cstr(ipage)+&#8221;&lt;/font&gt;&lt;/a&gt;&amp;nbsp;&#8221;<br />
             else<br />
             response.write &#8220;&lt;font color=&#8217;#FF0000&#8242;&gt;&#8221;&amp;ipage&amp;&#8221;&lt;/font&gt; &#8220;                                               <br />
             end if<br />
    next<br />
    end if<br />
             %&gt;<br />
    &lt;/font&gt;&lt;/td&gt;&lt;form name=go2to form method=Post action=&lt;%=fy%&gt;&gt; <br />
    &lt;td width=&#8221;13%&#8221; align=&#8221;center&#8221; valign=&#8221;middle&#8221; class=&#8221;fy&#8221;&gt;                                         <br />
   &lt;input type=&#8217;hidden&#8217; name=&#8217;sortid&#8217; value=&#8221;&lt;%=sortid%&gt;&#8221;&gt;&lt;input type=&#8217;hidden&#8217; name=&#8217;typeid&#8217; value=&#8221;&lt;%=typeid%&gt;&#8221;&gt;&lt;input type=&#8217;hidden&#8217; name=&#8217;qylb&#8217; value=&#8221;&lt;%=qylb%&gt;&#8221;&gt;&lt;input type=&#8217;hidden&#8217; name=&#8217;title&#8217; value=&#8221;&lt;%title%&gt;&#8221;&gt;&lt;input type=&#8217;hidden&#8217; name=&#8217;cityid&#8217; value=&#8221;&lt;%=cityid%&gt;&#8221;&gt;&lt;font color=&#8217;000064&#8242;&gt; 转到第&lt;input type=&#8217;text&#8217; name=&#8217;page&#8217; size=2 maxLength=3&gt;<br />
   页&lt;/font&gt;                              <br />
   &lt;/td&gt;<br />
    &lt;td width=&#8221;10%&#8221; align=&#8221;center&#8221; valign=&#8221;middle&#8221; class=&#8221;fy&#8221;&gt;&lt;input name=&#8221;image&#8221; type=&#8217;image&#8217; onClick=check() value=&#8217;确 定&#8217; src=&#8217;http://edu.chinaz.com/Get/Program/images/button_h.jpg&#8217;&gt;&lt;/td&gt;<br />
    &lt;/form&gt;<br />
  &lt;tr&gt;<br />
    &lt;td height=&#8221;20&#8243; colspan=&#8221;6&#8243; valign=&#8221;bottom&#8221;&gt;&lt;font color=&#8221;#000000&#8243;&gt;&amp;nbsp; &lt;/font&gt;&lt;/td&gt;<br />
  &lt;/tr&gt;<br />
  &lt;% end if %&gt;<br />
  &lt;% end if %&gt;<br />
&lt;/table&gt;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.1xi.net/asp/mokuai-fenye/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>用ASP实现在服务器自动在线解压RAR文件</title>
		<link>http://blog.1xi.net/asp/asp-zaixian-jieya-rar-wenjian</link>
		<comments>http://blog.1xi.net/asp/asp-zaixian-jieya-rar-wenjian#comments</comments>
		<pubDate>Thu, 02 Apr 2009 01:58:03 +0000</pubDate>
		<dc:creator>FDS</dc:creator>
				<category><![CDATA[ASP]]></category>

		<guid isPermaLink="false">http://blog.1xi.net/asp/asp-zaixian-jieya-rar-wenjian</guid>
		<description><![CDATA[文件打包以后，在服务器自动在线解压RAR文件，这样可以大量的减少上传文件的时间。也很方便！这里分享一个用ASP实现在服务器自动在线解压RAR文件的方法。
&#60;%
dim ylj,ywj,Mlpath,Shell,rarcomm,RetCode,cmd,comm,fso
Mlpath=&#8221;E:\page\mian\&#8221;    &#8216;存放RAR.EXE和CMD.EXE的路径
ylj=Server.mappath(&#8220;mian&#8221;)&#38;&#8221;\&#8221;  &#8216;解压文件后所放的路径
ywj=Server.mappath(&#8220;mian\apathy.rar&#8221;)  &#8216;要解压的RAR文件
Set Shell = Server.CreateObject(&#8220;WScript.Shell&#8221;)
rarcomm= &#8220;E:\page\mian\cmd.exe /c &#8220;&#38;Mlpath&#38;&#8221;rar.exe x -t -o+ -p- &#8221;
cmd=rarcomm&#38;ywj&#38;&#8221; &#8220;&#38;ylj
RetCode = Shell.Run(cmd,1, True)
%&#62;
就是用Server.CreateObject(&#8220;WScript.Shell&#8221;)来执行CMD.EXE来运行RAR.EXE文件来解压RAR文件的。
]]></description>
			<content:encoded><![CDATA[<p>文件打包以后，在服务器自动在线解压RAR文件，这样可以大量的减少上传文件的时间。也很方便！这里分享一个用ASP实现在服务器自动在线解压RAR文件的方法。</p>
<blockquote><p>&lt;%</p>
<p>dim ylj,ywj,Mlpath,Shell,rarcomm,RetCode,cmd,comm,fso</p>
<p>Mlpath=&#8221;E:\page\mian\&#8221;    &#8216;存放RAR.EXE和CMD.EXE的路径</p>
<p>ylj=Server.mappath(&#8220;mian&#8221;)&amp;&#8221;\&#8221;  &#8216;解压文件后所放的路径</p>
<p>ywj=Server.mappath(&#8220;mian\apathy.rar&#8221;)  &#8216;要解压的RAR文件</p>
<p>Set Shell = Server.CreateObject(&#8220;WScript.Shell&#8221;)</p>
<p>rarcomm= &#8220;E:\page\mian\cmd.exe /c &#8220;&amp;Mlpath&amp;&#8221;rar.exe x -t -o+ -p- &#8221;</p>
<p>cmd=rarcomm&amp;ywj&amp;&#8221; &#8220;&amp;ylj</p>
<p>RetCode = Shell.Run(cmd,1, True)</p>
<p>%&gt;</p></blockquote>
<p>就是用Server.CreateObject(&#8220;WScript.Shell&#8221;)来执行CMD.EXE来运行RAR.EXE文件来解压RAR文件的。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.1xi.net/asp/asp-zaixian-jieya-rar-wenjian/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JS弹出菜单纵向/横向效果</title>
		<link>http://blog.1xi.net/javascript/js-caidan</link>
		<comments>http://blog.1xi.net/javascript/js-caidan#comments</comments>
		<pubDate>Tue, 24 Mar 2009 09:05:49 +0000</pubDate>
		<dc:creator>FDS</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[JAVASCRIPT]]></category>

		<guid isPermaLink="false">http://blog.1xi.net/javascript/js-caidan</guid>
		<description><![CDATA[JS弹出菜单效果，包括纵向和横向的。以下是实现方法。
&#60;!DOCTYPE html PUBLIC &#8220;-//W3C//DTD XHTML 1.0 Transitional//EN&#8221; &#8220;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8220;&#62;
&#60;html xmlns=&#8221;http://www.w3.org/1999/xhtml&#8220;&#62;
&#60;HEAD&#62;
&#60;TITLE&#62;&#60;/TITLE&#62;
&#60;/HEAD&#62;
&#60;BODY background=&#8221;img/back.gif&#8221; leftMargin=0 topMargin=0&#62;
&#60;script language=&#8221;JavaScript&#8221;&#62;
&#60;!&#8211;
function mmLoadMenus() {
 if (window.mm_menu_1008171701_0) return;
 window.mm_menu_1008171701_0 = new Menu(&#8220;root&#8221;,71,18,&#8221;",12,&#8221;#FFFFFF&#8221;,&#8221;#FFFFFF&#8221;,&#8221;#FF9900&#8243;,&#8221;#CC0000&#8243;,&#8221;center&#8221;,&#8221;middle&#8221;,3,0,400,-5,7,true,false,true,0,true,true);/* 后面三个TRUE如果是FALSE就是横向*/
 mm_menu_1008171701_0.addMenuItem(&#8220;40头镀铝机&#8221;,&#8221;location=&#8217;111.asp&#8217;&#8221;);
 mm_menu_1008171701_0.addMenuItem(&#8220;30头镀铝机&#8221;,&#8221;location=&#8217;222.asp&#8217;&#8221;);
 mm_menu_1008171701_0.addMenuItem(&#8220;20头镀铝机&#8221;,&#8221;location=&#8217;333.asp&#8217;&#8221;);
 mm_menu_1008171701_0.hideOnMouseOut=true;
 mm_menu_1008171701_0.bgColor=&#8217;#555555&#8242;;
 mm_menu_1008171701_0.menuBorder=6;
 mm_menu_1008171701_0.menuLiteBgColor=&#8217;#FFFFFF&#8217;;
 mm_menu_1008171701_0.menuBorderBgColor=&#8217;#777777&#8242;;
 mm_menu_1008171701_0.writeMenus();
} // mmLoadMenus()
//&#8211;&#62;
&#60;/script&#62;
&#60;script language=&#8221;JavaScript&#8221;&#62;
/**
 * mm_menu 20MAR2002 Version 6.0
 * Andy Finnell, March 2002
 * Copyright (c) 2000-2002 Macromedia, Inc.
 *
 * based on menu.js
 * by gary smith, July 1997
 * Copyright (c) 1997-1999 Netscape Communications Corp.
 *
 * Netscape grants you a [...]]]></description>
			<content:encoded><![CDATA[<p>JS弹出菜单效果，包括纵向和横向的。以下是实现方法。</p>
<blockquote><p>&lt;!DOCTYPE html PUBLIC &#8220;-//W3C//DTD XHTML 1.0 Transitional//EN&#8221; &#8220;<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>&#8220;&gt;<br />
&lt;html xmlns=&#8221;<a href="http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a>&#8220;&gt;<br />
&lt;HEAD&gt;<br />
&lt;TITLE&gt;&lt;/TITLE&gt;<br />
&lt;/HEAD&gt;</p>
<p>&lt;BODY background=&#8221;img/back.gif&#8221; leftMargin=0 topMargin=0&gt;<br />
&lt;script language=&#8221;JavaScript&#8221;&gt;<br />
&lt;!&#8211;<br />
function mmLoadMenus() {<br />
 if (window.mm_menu_1008171701_0) return;<br />
 window.mm_menu_1008171701_0 = new Menu(&#8220;root&#8221;,71,18,&#8221;",12,&#8221;#FFFFFF&#8221;,&#8221;#FFFFFF&#8221;,&#8221;#FF9900&#8243;,&#8221;#CC0000&#8243;,&#8221;center&#8221;,&#8221;middle&#8221;,3,0,400,-5,7,true,false,true,0,true,true);/* 后面三个TRUE如果是FALSE就是横向*/<br />
 mm_menu_1008171701_0.addMenuItem(&#8220;40头镀铝机&#8221;,&#8221;location=&#8217;111.asp&#8217;&#8221;);<br />
 mm_menu_1008171701_0.addMenuItem(&#8220;30头镀铝机&#8221;,&#8221;location=&#8217;222.asp&#8217;&#8221;);<br />
 mm_menu_1008171701_0.addMenuItem(&#8220;20头镀铝机&#8221;,&#8221;location=&#8217;333.asp&#8217;&#8221;);<br />
 mm_menu_1008171701_0.hideOnMouseOut=true;<br />
 mm_menu_1008171701_0.bgColor=&#8217;#555555&#8242;;<br />
 mm_menu_1008171701_0.menuBorder=6;<br />
 mm_menu_1008171701_0.menuLiteBgColor=&#8217;#FFFFFF&#8217;;<br />
 mm_menu_1008171701_0.menuBorderBgColor=&#8217;#777777&#8242;;<br />
 mm_menu_1008171701_0.writeMenus();<br />
} // mmLoadMenus()<br />
//&#8211;&gt;<br />
&lt;/script&gt;<br />
&lt;script language=&#8221;JavaScript&#8221;&gt;<br />
/**<br />
 * mm_menu 20MAR2002 Version 6.0<br />
 * Andy Finnell, March 2002<br />
 * Copyright (c) 2000-2002 Macromedia, Inc.<br />
 *<br />
 * based on menu.js<br />
 * by gary smith, July 1997<br />
 * Copyright (c) 1997-1999 Netscape Communications Corp.<br />
 *<br />
 * Netscape grants you a royalty free license to use or modify this<br />
 * software provided that this copyright notice appears on all copies.<br />
 * This software is provided &#8220;AS IS,&#8221; without a warranty of any kind.<br />
 */<br />
function Menu(label, mw, mh, fnt, fs, fclr, fhclr, bg, bgh, halgn, valgn, pad, space, to, sx, sy, srel, opq, vert, idt, aw, ah)<br />
{<br />
 this.version = &#8220;020320 [Menu; mm_menu.js]&#8220;;<br />
 this.type = &#8220;Menu&#8221;;<br />
 this.menuWidth = mw;<br />
 this.menuItemHeight = mh;<br />
 this.fontSize = fs;<br />
 this.fontWeight = &#8220;plain&#8221;;<br />
 this.fontFamily = fnt;<br />
 this.fontColor = fclr;<br />
 this.fontColorHilite = fhclr;<br />
 this.bgColor = &#8220;#555555&#8243;;<br />
 this.menuBorder = 1;<br />
 this.menuBgOpaque=opq;<br />
 this.menuItemBorder = 1;<br />
 this.menuItemIndent = idt;<br />
 this.menuItemBgColor = bg;<br />
 this.menuItemVAlign = valgn;<br />
 this.menuItemHAlign = halgn;<br />
 this.menuItemPadding = pad;<br />
 this.menuItemSpacing = space;<br />
 this.menuLiteBgColor = &#8220;#ffffff&#8221;;<br />
 this.menuBorderBgColor = &#8220;#777777&#8243;;<br />
 this.menuHiliteBgColor = bgh;<br />
 this.menuContainerBgColor = &#8220;#cccccc&#8221;;<br />
 this.childMenuIcon = &#8220;arrows.gif&#8221;;<br />
 this.submenuXOffset = sx;<br />
 this.submenuYOffset = sy;<br />
 this.submenuRelativeToItem = srel;<br />
 this.vertical = vert;<br />
 this.items = new Array();<br />
 this.actions = new Array();<br />
 this.childMenus = new Array();<br />
 this.hideOnMouseOut = true;<br />
 this.hideTimeout = to;<br />
 this.addMenuItem = addMenuItem;<br />
 this.writeMenus = writeMenus;<br />
 this.MM_showMenu = MM_showMenu;<br />
 this.onMenuItemOver = onMenuItemOver;<br />
 this.onMenuItemAction = onMenuItemAction;<br />
 this.hideMenu = hideMenu;<br />
 this.hideChildMenu = hideChildMenu;<br />
 if (!window.menus) window.menus = new Array();<br />
 this.label = &#8221; &#8221; + label;<br />
 window.menus[this.label] = this;<br />
 window.menus[window.menus.length] = this;<br />
 if (!window.activeMenus) window.activeMenus = new Array();<br />
}</p>
<p>function addMenuItem(label, action) {<br />
 this.items[this.items.length] = label;<br />
 this.actions[this.actions.length] = action;<br />
}</p>
<p>function FIND(item) {<br />
 if( window.mmIsOpera ) return(document.getElementById(item));<br />
 if (document.all) return(document.all[item]);<br />
 if (document.getElementById) return(document.getElementById(item));<br />
 return(false);<br />
}</p>
<p>function writeMenus(container) {<br />
 if (window.triedToWriteMenus) return;<br />
 var agt = navigator.userAgent.toLowerCase();<br />
 window.mmIsOpera = agt.indexOf(&#8220;opera&#8221;) != -1;<br />
 if (!container &amp;&amp; document.layers) {<br />
  window.delayWriteMenus = this.writeMenus;<br />
  var timer = setTimeout(&#8216;delayWriteMenus()&#8217;, 500);<br />
  container = new Layer(100);<br />
  clearTimeout(timer);<br />
 } else if (document.all || document.hasChildNodes || window.mmIsOpera) {<br />
  document.writeln(&#8216;&lt;span id=&#8221;menuContainer&#8221;&gt;&lt;/span&gt;&#8217;);<br />
  container = FIND(&#8220;menuContainer&#8221;);<br />
 }</p>
<p> window.mmHideMenuTimer = null;<br />
 if (!container) return; <br />
 window.triedToWriteMenus = true;<br />
 container.isContainer = true;<br />
 container.menus = new Array();<br />
 for (var i=0; i&lt;window.menus.length; i++)<br />
  container.menus[i] = window.menus[i];<br />
 window.menus.length = 0;<br />
 var countMenus = 0;<br />
 var countItems = 0;<br />
 var top = 0;<br />
 var content = &#8221;;<br />
 var lrs = false;<br />
 var theStat = &#8220;&#8221;;<br />
 var tsc = 0;<br />
 if (document.layers) lrs = true;<br />
 for (var i=0; i&lt;container.menus.length; i++, countMenus++) {<br />
  var menu = container.menus[i];<br />
  if (menu.bgImageUp || !menu.menuBgOpaque) {<br />
   menu.menuBorder = 0;<br />
   menu.menuItemBorder = 0;<br />
  }<br />
  if (lrs) {<br />
   var menuLayer = new Layer(100, container);<br />
   var lite = new Layer(100, menuLayer);<br />
   lite.top = menu.menuBorder;<br />
   lite.left = menu.menuBorder;<br />
   var body = new Layer(100, lite);<br />
   body.top = menu.menuBorder;<br />
   body.left = menu.menuBorder;<br />
  } else {<br />
   content += &#8221;+<br />
   &#8217;&lt;div id=&#8221;menuLayer&#8217;+ countMenus +&#8217;&#8221; style=&#8221;filter:Alpha(Opacity=90);position:absolute;z-index:1;left:10px;top:&#8217;+ (i * 100) +&#8217;px;visibility:hidden;color:&#8217; +  menu.menuBorderBgColor + &#8216;;&#8221;&gt;\n&#8217;+<br />
   &#8217;  &lt;div id=&#8221;menuLite&#8217;+ countMenus +&#8217;&#8221; style=&#8221;position:absolute;z-index:1;left:&#8217;+ menu.menuBorder +&#8217;px;top:&#8217;+ menu.menuBorder +&#8217;px;visibility:hide;&#8221; onmouseout=&#8221;mouseoutMenu();&#8221;&gt;\n&#8217;+<br />
   &#8217;  &lt;div id=&#8221;menuFg&#8217;+ countMenus +&#8217;&#8221; style=&#8221;position:absolute;left:&#8217;+ menu.menuBorder +&#8217;px;top:&#8217;+ menu.menuBorder +&#8217;px;visibility:hide;&#8221;&gt;\n&#8217;+<br />
   &#8221;;<br />
  }<br />
  var x=i;<br />
  for (var i=0; i&lt;menu.items.length; i++) {<br />
   var item = menu.items[i];<br />
   var childMenu = false;<br />
   var defaultHeight = menu.fontSize+2*menu.menuItemPadding;<br />
   if (item.label) {<br />
    item = item.label;<br />
    childMenu = true;<br />
   }<br />
   menu.menuItemHeight = menu.menuItemHeight || defaultHeight;<br />
   var itemProps = &#8221;;<br />
   if( menu.fontFamily != &#8221; ) itemProps += &#8216;font-family:&#8217; + menu.fontFamily +&#8217;;';<br />
   itemProps += &#8216;font-weight:&#8217; + menu.fontWeight + &#8216;;fontSize:&#8217; + menu.fontSize + &#8216;px;&#8217;;<br />
   if (menu.fontStyle) itemProps += &#8216;font-style:&#8217; + menu.fontStyle + &#8216;;&#8217;;<br />
   if (document.all || window.mmIsOpera)<br />
    itemProps += &#8216;font-size:&#8217; + menu.fontSize + &#8216;px;&#8221; onmouseover=&#8221;onMenuItemOver(null,this);&#8221; onclick=&#8221;onMenuItemAction(null,this);&#8217;;<br />
   else if (!document.layers) {<br />
    itemProps += &#8216;font-size:&#8217; + menu.fontSize + &#8216;px;&#8217;;<br />
   }<br />
   var l;<br />
   if (lrs) {<br />
    var lw = menu.menuWidth;<br />
    if( menu.menuItemHAlign == &#8216;right&#8217; ) lw -= menu.menuItemPadding;<br />
    l = new Layer(lw,body);<br />
   }<br />
   var itemLeft = 0;<br />
   var itemTop = i*menu.menuItemHeight;<br />
   if( !menu.vertical ) {<br />
    itemLeft = i*menu.menuWidth;<br />
    itemTop = 0;<br />
   }<br />
   var dTag = &#8216;&lt;div id=&#8221;menuItem&#8217;+ countItems +&#8217;&#8221; style=&#8221;position:absolute;left:&#8217; + itemLeft + &#8216;px;top:&#8217;+ itemTop +&#8217;px;&#8217;+ itemProps +&#8217;&#8221;&gt;&#8217;;<br />
   var dClose = &#8216;&lt;/div&gt;&#8217;<br />
   if (menu.bgImageUp) dTag = &#8216;&lt;div id=&#8221;menuItem&#8217;+ countItems +&#8217;&#8221; style=&#8221;background:url(&#8216;+menu.bgImageUp+&#8217;);position:absolute;left:&#8217; + itemLeft + &#8216;px;top:&#8217;+ itemTop +&#8217;px;&#8217;+ itemProps +&#8217;&#8221;&gt;&#8217;;</p>
<p>   var left = 0, top = 0, right = 0, bottom = 0;<br />
   left = 1 + menu.menuItemPadding + menu.menuItemIndent;<br />
   right = left + menu.menuWidth &#8211; 2*menu.menuItemPadding &#8211; menu.menuItemIndent;<br />
   if( menu.menuItemVAlign == &#8216;top&#8217; ) top = menu.menuItemPadding;<br />
   if( menu.menuItemVAlign == &#8216;bottom&#8217; ) top = menu.menuItemHeight-menu.fontSize-1-menu.menuItemPadding;<br />
   if( menu.menuItemVAlign == &#8216;middle&#8217; ) top = ((menu.menuItemHeight/2)-(menu.fontSize/2)-1);<br />
   bottom = menu.menuItemHeight &#8211; 2*menu.menuItemPadding;<br />
   var textProps = &#8216;position:absolute;left:&#8217; + left + &#8216;px;top:&#8217; + top + &#8216;px;&#8217;;<br />
   if (lrs) {<br />
    textProps +=itemProps + &#8216;right:&#8217; + right + &#8216;;bottom:&#8217; + bottom + &#8216;;&#8217;;<br />
    dTag = &#8220;&#8221;;<br />
    dClose = &#8220;&#8221;;<br />
   }<br />
   <br />
   if(document.all &amp;&amp; !window.mmIsOpera) {<br />
    item = &#8216;&lt;div align=&#8221;&#8216; + menu.menuItemHAlign + &#8216;&#8221;&gt;&#8217; + item + &#8216;&lt;/div&gt;&#8217;;<br />
   } else if (lrs) {<br />
    item = &#8216;&lt;div style=&#8221;text-align:&#8217; + menu.menuItemHAlign + &#8216;;&#8221;&gt;&#8217; + item + &#8216;&lt;/div&gt;&#8217;;<br />
   } else {<br />
    var hitem = null;<br />
    if( menu.menuItemHAlign != &#8216;left&#8217; ) {<br />
     if(window.mmIsOpera) {<br />
      var operaWidth = menu.menuItemHAlign == &#8216;center&#8217; ? -(menu.menuWidth-2*menu.menuItemPadding) : (menu.menuWidth-6*menu.menuItemPadding);<br />
      hitem = &#8216;&lt;div id=&#8221;menuItemHilite&#8217; + countItems + &#8216;Shim&#8221; style=&#8221;position:absolute;top:1px;left:&#8217; + menu.menuItemPadding + &#8216;px;width:&#8217; + operaWidth + &#8216;px;text-align:&#8217;<br />
       + menu.menuItemHAlign + &#8216;;visibility:visible;&#8221;&gt;&#8217; + item + &#8216;&lt;/div&gt;&#8217;;<br />
      item = &#8216;&lt;div id=&#8221;menuItemText&#8217; + countItems + &#8216;Shim&#8221; style=&#8221;position:absolute;top:1px;left:&#8217; + menu.menuItemPadding + &#8216;px;width:&#8217; + operaWidth + &#8216;px;text-align:&#8217;<br />
       + menu.menuItemHAlign + &#8216;;visibility:visible;&#8221;&gt;&#8217; + item + &#8216;&lt;/div&gt;&#8217;;<br />
     } else {<br />
      hitem = &#8216;&lt;div id=&#8221;menuItemHilite&#8217; + countItems + &#8216;Shim&#8221; style=&#8221;position:absolute;top:1px;left:1px;right:-&#8217; + (left+menu.menuWidth-3*menu.menuItemPadding) + &#8216;px;text-align:&#8217;<br />
       + menu.menuItemHAlign + &#8216;;visibility:visible;&#8221;&gt;&#8217; + item + &#8216;&lt;/div&gt;&#8217;;<br />
      item = &#8216;&lt;div id=&#8221;menuItemText&#8217; + countItems + &#8216;Shim&#8221; style=&#8221;position:absolute;top:1px;left:1px;right:-&#8217; + (left+menu.menuWidth-3*menu.menuItemPadding) + &#8216;px;text-align:&#8217;<br />
       + menu.menuItemHAlign + &#8216;;visibility:visible;&#8221;&gt;&#8217; + item + &#8216;&lt;/div&gt;&#8217;;<br />
     }<br />
    } else hitem = null;<br />
   }<br />
   if(document.all &amp;&amp; !window.mmIsOpera) item = &#8216;&lt;div id=&#8221;menuItemShim&#8217; + countItems + &#8216;&#8221; style=&#8221;position:absolute;left:0px;top:0px;&#8221;&gt;&#8217; + item + &#8216;&lt;/div&gt;&#8217;;<br />
   var dText = &#8216;&lt;div id=&#8221;menuItemText&#8217;+ countItems +&#8217;&#8221; style=&#8221;&#8216; + textProps + &#8216;color:&#8217;+ menu.fontColor +&#8217;;&#8221;&gt;&#8217;+ item +&#8217;&amp;nbsp&lt;/div&gt;\n&#8217;<br />
      + &#8216;&lt;div id=&#8221;menuItemHilite&#8217;+ countItems +&#8217;&#8221; style=&#8221;&#8216; + textProps + &#8216;color:&#8217;+ menu.fontColorHilite +&#8217;;visibility:hidden;&#8221;&gt;&#8217;<br />
      + (hitem||item) +&#8217;&amp;nbsp&lt;/div&gt;&#8217;;<br />
   if (childMenu) content += ( dTag + dText + &#8216;&lt;div id=&#8221;childMenu&#8217;+ countItems +&#8217;&#8221; style=&#8221;position:absolute;left:0px;top:3px;&#8221;&gt;&lt;img src=&#8221;&#8216;+ menu.childMenuIcon +&#8217;&#8221;&gt;&lt;/div&gt;\n&#8217; + dClose);<br />
   else content += ( dTag + dText + dClose);<br />
   if (lrs) {<br />
    l.document.open(&#8220;text/html&#8221;);<br />
    l.document.writeln(content);<br />
    l.document.close(); <br />
    content = &#8221;;<br />
    theStat += &#8220;-&#8221;;<br />
    tsc++;<br />
    if (tsc &gt; 50) {<br />
     tsc = 0;<br />
     theStat = &#8220;&#8221;;<br />
    }<br />
    status = theStat;<br />
   }<br />
   countItems++; <br />
  }<br />
  if (lrs) {<br />
   var focusItem = new Layer(100, body);<br />
   focusItem.visiblity=&#8221;hidden&#8221;;<br />
   focusItem.document.open(&#8220;text/html&#8221;);<br />
   focusItem.document.writeln(&#8220;&amp;nbsp;&#8221;);<br />
   focusItem.document.close(); <br />
  } else {<br />
    content += &#8216;   &lt;div id=&#8221;focusItem&#8217;+ countMenus +&#8217;&#8221; style=&#8221;position:absolute;left:0px;top:0px;visibility:hide;&#8221; onclick=&#8221;onMenuItemAction(null,this);&#8221;&gt;&amp;nbsp;&lt;/div&gt;\n&#8217;;<br />
    content += &#8216;   &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n&#8217;;<br />
  }<br />
  i=x;<br />
 }<br />
 if (document.layers) {  <br />
  container.clip.width = window.innerWidth;<br />
  container.clip.height = window.innerHeight;<br />
  container.onmouseout = mouseoutMenu;<br />
  container.menuContainerBgColor = this.menuContainerBgColor;<br />
  for (var i=0; i&lt;container.document.layers.length; i++) {<br />
   proto = container.menus[i];<br />
   var menu = container.document.layers[i];<br />
   container.menus[i].menuLayer = menu;<br />
   container.menus[i].menuLayer.Menu = container.menus[i];<br />
   container.menus[i].menuLayer.Menu.container = container;<br />
   var body = menu.document.layers[0].document.layers[0];<br />
   body.clip.width = proto.menuWidth || body.clip.width;<br />
   body.clip.height = proto.menuHeight || body.clip.height;<br />
   for (var n=0; n&lt;body.document.layers.length-1; n++) {<br />
    var l = body.document.layers[n];<br />
    l.Menu = container.menus[i];<br />
    l.menuHiliteBgColor = proto.menuHiliteBgColor;<br />
    l.document.bgColor = proto.menuItemBgColor;<br />
    l.saveColor = proto.menuItemBgColor;<br />
    l.onmouseover = proto.onMenuItemOver;<br />
    l.onclick = proto.onMenuItemAction;<br />
    l.mmaction = container.menus[i].actions[n];<br />
    l.focusItem = body.document.layers[body.document.layers.length-1];<br />
    l.clip.width = proto.menuWidth || body.clip.width;<br />
    l.clip.height = proto.menuItemHeight || l.clip.height;<br />
    if (n&gt;0) {<br />
     if( l.Menu.vertical ) l.top = body.document.layers[n-1].top + body.document.layers[n-1].clip.height + proto.menuItemBorder + proto.menuItemSpacing;<br />
     else l.left = body.document.layers[n-1].left + body.document.layers[n-1].clip.width + proto.menuItemBorder + proto.menuItemSpacing;<br />
    }<br />
    l.hilite = l.document.layers[1];<br />
    if (proto.bgImageUp) l.background.src = proto.bgImageUp;<br />
    l.document.layers[1].isHilite = true;<br />
    if (l.document.layers.length &gt; 2) {<br />
     l.childMenu = container.menus[i].items[n].menuLayer;<br />
     l.document.layers[2].left = l.clip.width -13;<br />
     l.document.layers[2].top = (l.clip.height / 2) -4;<br />
     l.document.layers[2].clip.left += 3;<br />
     l.Menu.childMenus[l.Menu.childMenus.length] = l.childMenu;<br />
    }<br />
   }<br />
   if( proto.menuBgOpaque ) body.document.bgColor = proto.bgColor;<br />
   if( proto.vertical ) {<br />
    body.clip.width  = l.clip.width +proto.menuBorder;<br />
    body.clip.height = l.top + l.clip.height +proto.menuBorder;<br />
   } else {<br />
    body.clip.height  = l.clip.height +proto.menuBorder;<br />
    body.clip.width = l.left + l.clip.width  +proto.menuBorder;<br />
    if( body.clip.width &gt; window.innerWidth ) body.clip.width = window.innerWidth;<br />
   }<br />
   var focusItem = body.document.layers[n];<br />
   focusItem.clip.width = body.clip.width;<br />
   focusItem.Menu = l.Menu;<br />
   focusItem.top = -30;<br />
            focusItem.captureEvents(Event.MOUSEDOWN);<br />
            focusItem.onmousedown = onMenuItemDown;<br />
   if( proto.menuBgOpaque ) menu.document.bgColor = proto.menuBorderBgColor;<br />
   var lite = menu.document.layers[0];<br />
   if( proto.menuBgOpaque ) lite.document.bgColor = proto.menuLiteBgColor;<br />
   lite.clip.width = body.clip.width +1;<br />
   lite.clip.height = body.clip.height +1;<br />
   menu.clip.width = body.clip.width + (proto.menuBorder * 3) ;<br />
   menu.clip.height = body.clip.height + (proto.menuBorder * 3);<br />
  }<br />
 } else {<br />
  if ((!document.all) &amp;&amp; (container.hasChildNodes) &amp;&amp; !window.mmIsOpera) {<br />
   container.innerHTML=content;<br />
  } else {<br />
   container.document.open(&#8220;text/html&#8221;);<br />
   container.document.writeln(content);<br />
   container.document.close(); <br />
  }<br />
  if (!FIND(&#8220;menuLayer0&#8243;)) return;<br />
  var menuCount = 0;<br />
  for (var x=0; x&lt;container.menus.length; x++) {<br />
   var menuLayer = FIND(&#8220;menuLayer&#8221; + x);<br />
   container.menus[x].menuLayer = &#8220;menuLayer&#8221; + x;<br />
   menuLayer.Menu = container.menus[x];<br />
   menuLayer.Menu.container = &#8220;menuLayer&#8221; + x;<br />
   menuLayer.style.zindex = 1;<br />
      var s = menuLayer.style;<br />
   s.pixeltop = -300;<br />
   s.pixelleft = -300;<br />
   s.top = &#8216;-300px&#8217;;<br />
   s.left = &#8216;-300px&#8217;;</p>
<p>   var menu = container.menus[x];<br />
   menu.menuItemWidth = menu.menuWidth || menu.menuIEWidth || 140;<br />
   if( menu.menuBgOpaque ) menuLayer.style.backgroundColor = menu.menuBorderBgColor;<br />
   var top = 0;<br />
   var left = 0;<br />
   menu.menuItemLayers = new Array();<br />
   for (var i=0; i&lt;container.menus[x].items.length; i++) {<br />
    var l = FIND(&#8220;menuItem&#8221; + menuCount);<br />
    l.Menu = container.menus[x];<br />
    l.Menu.menuItemLayers[l.Menu.menuItemLayers.length] = l;<br />
    if (l.addEventListener || window.mmIsOpera) {<br />
     l.style.width = menu.menuItemWidth + &#8216;px&#8217;;<br />
     l.style.height = menu.menuItemHeight + &#8216;px&#8217;;<br />
     l.style.pixelWidth = menu.menuItemWidth;<br />
     l.style.pixelHeight = menu.menuItemHeight;<br />
     l.style.top = top + &#8216;px&#8217;;<br />
     l.style.left = left + &#8216;px&#8217;;<br />
     if(l.addEventListener) {<br />
      l.addEventListener(&#8220;mouseover&#8221;, onMenuItemOver, false);<br />
      l.addEventListener(&#8220;click&#8221;, onMenuItemAction, false);<br />
      l.addEventListener(&#8220;mouseout&#8221;, mouseoutMenu, false);<br />
     }<br />
     if( menu.menuItemHAlign != &#8216;left&#8217; ) {<br />
      l.hiliteShim = FIND(&#8220;menuItemHilite&#8221; + menuCount + &#8220;Shim&#8221;);<br />
      l.hiliteShim.style.visibility = &#8220;inherit&#8221;;<br />
      l.textShim = FIND(&#8220;menuItemText&#8221; + menuCount + &#8220;Shim&#8221;);<br />
      l.hiliteShim.style.pixelWidth = menu.menuItemWidth &#8211; 2*menu.menuItemPadding &#8211; menu.menuItemIndent;<br />
      l.hiliteShim.style.width = l.hiliteShim.style.pixelWidth;<br />
      l.textShim.style.pixelWidth = menu.menuItemWidth &#8211; 2*menu.menuItemPadding &#8211; menu.menuItemIndent;<br />
      l.textShim.style.width = l.textShim.style.pixelWidth; <br />
     }<br />
    } else {<br />
     l.style.pixelWidth = menu.menuItemWidth;<br />
     l.style.pixelHeight = menu.menuItemHeight;<br />
     l.style.pixelTop = top;<br />
     l.style.pixelLeft = left;<br />
     if( menu.menuItemHAlign != &#8216;left&#8217; ) {<br />
      var shim = FIND(&#8220;menuItemShim&#8221; + menuCount);<br />
      shim[0].style.pixelWidth = menu.menuItemWidth &#8211; 2*menu.menuItemPadding &#8211; menu.menuItemIndent;<br />
      shim[1].style.pixelWidth = menu.menuItemWidth &#8211; 2*menu.menuItemPadding &#8211; menu.menuItemIndent;<br />
      shim[0].style.width = shim[0].style.pixelWidth + &#8216;px&#8217;;<br />
      shim[1].style.width = shim[1].style.pixelWidth + &#8216;px&#8217;;<br />
     }<br />
    }<br />
    if( menu.vertical ) top = top + menu.menuItemHeight+menu.menuItemBorder+menu.menuItemSpacing;<br />
    else left = left + menu.menuItemWidth+menu.menuItemBorder+menu.menuItemSpacing;<br />
    l.style.fontSize = menu.fontSize + &#8216;px&#8217;;<br />
    l.style.backgroundColor = menu.menuItemBgColor;<br />
    l.style.visibility = &#8220;inherit&#8221;;<br />
    l.saveColor = menu.menuItemBgColor;<br />
    l.menuHiliteBgColor = menu.menuHiliteBgColor;<br />
    l.mmaction = container.menus[x].actions[i];<br />
    l.hilite = FIND(&#8220;menuItemHilite&#8221; + menuCount);<br />
    l.focusItem = FIND(&#8220;focusItem&#8221; + x);<br />
    l.focusItem.style.pixelTop = -30;<br />
    l.focusItem.style.top = &#8216;-30px&#8217;;<br />
    var childItem = FIND(&#8220;childMenu&#8221; + menuCount);<br />
    if (childItem) {<br />
     l.childMenu = container.menus[x].items[i].menuLayer;<br />
     childItem.style.pixelLeft = menu.menuItemWidth -11;<br />
     childItem.style.left = childItem.style.pixelLeft + &#8216;px&#8217;;<br />
     childItem.style.pixelTop = (menu.menuItemHeight /2) -4;<br />
     childItem.style.top = childItem.style.pixelTop + &#8216;px&#8217;;<br />
     l.Menu.childMenus[l.Menu.childMenus.length] = l.childMenu;<br />
    }<br />
    l.style.cursor = &#8220;hand&#8221;;<br />
    menuCount++;<br />
   }<br />
   if( menu.vertical ) {<br />
    menu.menuHeight = top-1-menu.menuItemSpacing;<br />
    menu.menuWidth = menu.menuItemWidth;<br />
   } else {<br />
    menu.menuHeight = menu.menuItemHeight;<br />
    menu.menuWidth = left-1-menu.menuItemSpacing;<br />
   }</p>
<p>   var lite = FIND(&#8220;menuLite&#8221; + x);<br />
   var s = lite.style;<br />
   s.pixelHeight = menu.menuHeight +(menu.menuBorder * 2);<br />
   s.height = s.pixelHeight + &#8216;px&#8217;;<br />
   s.pixelWidth = menu.menuWidth + (menu.menuBorder * 2);<br />
   s.width = s.pixelWidth + &#8216;px&#8217;;<br />
   if( menu.menuBgOpaque ) s.backgroundColor = menu.menuLiteBgColor;</p>
<p>   var body = FIND(&#8220;menuFg&#8221; + x);<br />
   s = body.style;<br />
   s.pixelHeight = menu.menuHeight + menu.menuBorder;<br />
   s.height = s.pixelHeight + &#8216;px&#8217;;<br />
   s.pixelWidth = menu.menuWidth + menu.menuBorder;<br />
   s.width = s.pixelWidth + &#8216;px&#8217;;<br />
   if( menu.menuBgOpaque ) s.backgroundColor = menu.bgColor;</p>
<p>   s = menuLayer.style;<br />
   s.pixelWidth  = menu.menuWidth + (menu.menuBorder * 4);<br />
   s.width = s.pixelWidth + &#8216;px&#8217;;<br />
   s.pixelHeight  = menu.menuHeight+(menu.menuBorder*4);<br />
   s.height = s.pixelHeight + &#8216;px&#8217;;<br />
  }<br />
 }<br />
 if (document.captureEvents) document.captureEvents(Event.MOUSEUP);<br />
 if (document.addEventListener) document.addEventListener(&#8220;mouseup&#8221;, onMenuItemOver, false);<br />
 if (document.layers &amp;&amp; window.innerWidth) {<br />
  window.onresize = NS4resize;<br />
  window.NS4sIW = window.innerWidth;<br />
  window.NS4sIH = window.innerHeight;<br />
  setTimeout(&#8220;NS4resize()&#8221;,500);<br />
 }<br />
 document.onmouseup = mouseupMenu;<br />
 window.mmWroteMenu = true;<br />
 status = &#8220;&#8221;;<br />
}</p>
<p>function NS4resize() {<br />
 if (NS4sIW != window.innerWidth || NS4sIH != window.innerHeight) window.location.reload();<br />
}</p>
<p>function onMenuItemOver(e, l) {<br />
 MM_clearTimeout();<br />
 l = l || this;<br />
 a = window.ActiveMenuItem;<br />
 if (document.layers) {<br />
  if (a) {<br />
   a.document.bgColor = a.saveColor;<br />
   if (a.hilite) a.hilite.visibility = &#8220;hidden&#8221;;<br />
   if (a.Menu.bgImageOver) a.background.src = a.Menu.bgImageUp;<br />
   a.focusItem.top = -100;<br />
   a.clicked = false;<br />
  }<br />
  if (l.hilite) {<br />
   l.document.bgColor = l.menuHiliteBgColor;<br />
   l.zIndex = 1;<br />
   l.hilite.visibility = &#8220;inherit&#8221;;<br />
   l.hilite.zIndex = 2;<br />
   l.document.layers[1].zIndex = 1;<br />
   l.focusItem.zIndex = this.zIndex +2;<br />
  }<br />
  if (l.Menu.bgImageOver) l.background.src = l.Menu.bgImageOver;<br />
  l.focusItem.top = this.top;<br />
  l.focusItem.left = this.left;<br />
  l.focusItem.clip.width = l.clip.width;<br />
  l.focusItem.clip.height = l.clip.height;<br />
  l.Menu.hideChildMenu(l);<br />
 } else if (l.style &amp;&amp; l.Menu) {<br />
  if (a) {<br />
   a.style.backgroundColor = a.saveColor;<br />
   if (a.hilite) a.hilite.style.visibility = &#8220;hidden&#8221;;<br />
   if (a.hiliteShim) a.hiliteShim.style.visibility = &#8220;inherit&#8221;;<br />
   if (a.Menu.bgImageUp) a.style.background = &#8220;url(&#8221; + a.Menu.bgImageUp +&#8221;)&#8221;;;<br />
  }<br />
  l.style.backgroundColor = l.menuHiliteBgColor;<br />
  l.zIndex = 1;<br />
  if (l.Menu.bgImageOver) l.style.background = &#8220;url(&#8221; + l.Menu.bgImageOver +&#8221;)&#8221;;<br />
  if (l.hilite) {<br />
   l.hilite.style.visibility = &#8220;inherit&#8221;;<br />
   if( l.hiliteShim ) l.hiliteShim.style.visibility = &#8220;visible&#8221;;<br />
  }<br />
  l.focusItem.style.pixelTop = l.style.pixelTop;<br />
  l.focusItem.style.top = l.focusItem.style.pixelTop + &#8216;px&#8217;;<br />
  l.focusItem.style.pixelLeft = l.style.pixelLeft;<br />
  l.focusItem.style.left = l.focusItem.style.pixelLeft + &#8216;px&#8217;;<br />
  l.focusItem.style.zIndex = l.zIndex +1;<br />
  l.Menu.hideChildMenu(l);<br />
 } else return;<br />
 window.ActiveMenuItem = l;<br />
}</p>
<p>function onMenuItemAction(e, l) {<br />
 l = window.ActiveMenuItem;<br />
 if (!l) return;<br />
 hideActiveMenus();<br />
 if (l.mmaction) eval(&#8220;&#8221; + l.mmaction);<br />
 window.ActiveMenuItem = 0;<br />
}</p>
<p>function MM_clearTimeout() {<br />
 if (mmHideMenuTimer) clearTimeout(mmHideMenuTimer);<br />
 mmHideMenuTimer = null;<br />
 mmDHFlag = false;<br />
}</p>
<p>function MM_startTimeout() {<br />
 if( window.ActiveMenu ) {<br />
  mmStart = new Date();<br />
  mmDHFlag = true;<br />
  mmHideMenuTimer = setTimeout(&#8220;mmDoHide()&#8221;, window.ActiveMenu.Menu.hideTimeout);<br />
 }<br />
}</p>
<p>function mmDoHide() {<br />
 if (!mmDHFlag || !window.ActiveMenu) return;<br />
 var elapsed = new Date() &#8211; mmStart;<br />
 var timeout = window.ActiveMenu.Menu.hideTimeout;<br />
 if (elapsed &lt; timeout) {<br />
  mmHideMenuTimer = setTimeout(&#8220;mmDoHide()&#8221;, timeout+100-elapsed);<br />
  return;<br />
 }<br />
 mmDHFlag = false;<br />
 hideActiveMenus();<br />
 window.ActiveMenuItem = 0;<br />
}</p>
<p>function MM_showMenu(menu, x, y, child, imgname) {<br />
 if (!window.mmWroteMenu) return;<br />
 MM_clearTimeout();<br />
 if (menu) {<br />
  var obj = FIND(imgname) || document.images[imgname] || document.links[imgname] || document.anchors[imgname];<br />
  x = moveXbySlicePos (x, obj);<br />
  y = moveYbySlicePos (y, obj);<br />
 }<br />
 if (document.layers) {<br />
  if (menu) {<br />
   var l = menu.menuLayer || menu;<br />
   l.top = l.left = 1;<br />
   hideActiveMenus();<br />
   if (this.visibility) l = this;<br />
   window.ActiveMenu = l;<br />
  } else {<br />
   var l = child;<br />
  }<br />
  if (!l) return;<br />
  for (var i=0; i&lt;l.layers.length; i++) {      <br />
   if (!l.layers[i].isHilite) l.layers[i].visibility = &#8220;inherit&#8221;;<br />
   if (l.layers[i].document.layers.length &gt; 0) MM_showMenu(null, &#8220;relative&#8221;, &#8220;relative&#8221;, l.layers[i]);<br />
  }<br />
  if (l.parentLayer) {<br />
   if (x != &#8220;relative&#8221;) l.parentLayer.left = x || window.pageX || 0;<br />
   if (l.parentLayer.left + l.clip.width &gt; window.innerWidth) l.parentLayer.left -= (l.parentLayer.left + l.clip.width &#8211; window.innerWidth);<br />
   if (y != &#8220;relative&#8221;) l.parentLayer.top = y || window.pageY || 0;<br />
   if (l.parentLayer.isContainer) {<br />
    l.Menu.xOffset = window.pageXOffset;<br />
    l.Menu.yOffset = window.pageYOffset;<br />
    l.parentLayer.clip.width = window.ActiveMenu.clip.width +2;<br />
    l.parentLayer.clip.height = window.ActiveMenu.clip.height +2;<br />
    if (l.parentLayer.menuContainerBgColor &amp;&amp; l.Menu.menuBgOpaque ) l.parentLayer.document.bgColor = l.parentLayer.menuContainerBgColor;<br />
   }<br />
  }<br />
  l.visibility = &#8220;inherit&#8221;;<br />
  if (l.Menu) l.Menu.container.visibility = &#8220;inherit&#8221;;<br />
 } else if (FIND(&#8220;menuItem0&#8243;)) {<br />
  var l = menu.menuLayer || menu; <br />
  hideActiveMenus();<br />
  if (typeof(l) == &#8220;string&#8221;) l = FIND(l);<br />
  window.ActiveMenu = l;<br />
  var s = l.style;<br />
  s.visibility = &#8220;inherit&#8221;;<br />
  if (x != &#8220;relative&#8221;) {<br />
   s.pixelLeft = x || (window.pageX + document.body.scrollLeft) || 0;<br />
   s.left = s.pixelLeft + &#8216;px&#8217;;<br />
  }<br />
  if (y != &#8220;relative&#8221;) {<br />
   s.pixelTop = y || (window.pageY + document.body.scrollTop) || 0;<br />
   s.top = s.pixelTop + &#8216;px&#8217;;<br />
  }<br />
  l.Menu.xOffset = document.body.scrollLeft;<br />
  l.Menu.yOffset = document.body.scrollTop;<br />
 }<br />
 if (menu) window.activeMenus[window.activeMenus.length] = l;<br />
 MM_clearTimeout();<br />
}</p>
<p>function onMenuItemDown(e, l) {<br />
 var a = window.ActiveMenuItem;<br />
 if (document.layers &amp;&amp; a) {<br />
  a.eX = e.pageX;<br />
  a.eY = e.pageY;<br />
  a.clicked = true;<br />
    }<br />
}</p>
<p>function mouseupMenu(e) {<br />
 hideMenu(true, e);<br />
 hideActiveMenus();<br />
 return true;<br />
}<br />
function getExplorerVersion() {<br />
 var ieVers = parseFloat(navigator.appVersion);<br />
 if( navigator.appName != &#8216;Microsoft Internet Explorer&#8217; ) return ieVers;<br />
 var tempVers = navigator.appVersion;<br />
 var i = tempVers.indexOf( &#8216;MSIE &#8216; );<br />
 if( i &gt;= 0 ) {<br />
  tempVers = tempVers.substring( i+5 );<br />
  ieVers = parseFloat( tempVers );<br />
 }<br />
 return ieVers;<br />
}</p>
<p>function mouseoutMenu() {<br />
 if ((navigator.appName == &#8220;Microsoft Internet Explorer&#8221;) &amp;&amp; (getExplorerVersion() &lt; 4.5))<br />
  return true;<br />
 hideMenu(false, false);<br />
 return true;<br />
}</p>
<p>function hideMenu(mouseup, e) {<br />
 var a = window.ActiveMenuItem;<br />
 if (a &amp;&amp; document.layers) {<br />
  a.document.bgColor = a.saveColor;<br />
  a.focusItem.top = -30;<br />
  if (a.hilite) a.hilite.visibility = &#8220;hidden&#8221;;<br />
  if (mouseup &amp;&amp; a.mmaction &amp;&amp; a.clicked &amp;&amp; window.ActiveMenu) {<br />
    if (a.eX &lt;= e.pageX+15 &amp;&amp; a.eX &gt;= e.pageX-15 &amp;&amp; a.eY &lt;= e.pageY+10 &amp;&amp; a.eY &gt;= e.pageY-10) {<br />
    setTimeout(&#8216;window.ActiveMenu.Menu.onMenuItemAction();&#8217;, 500);<br />
   }<br />
  }<br />
  a.clicked = false;<br />
  if (a.Menu.bgImageOver) a.background.src = a.Menu.bgImageUp;<br />
 } else if (window.ActiveMenu &amp;&amp; FIND(&#8220;menuItem0&#8243;)) {<br />
  if (a) {<br />
   a.style.backgroundColor = a.saveColor;<br />
   if (a.hilite) a.hilite.style.visibility = &#8220;hidden&#8221;;<br />
   if (a.hiliteShim) a.hiliteShim.style.visibility = &#8220;inherit&#8221;;<br />
   if (a.Menu.bgImageUp) a.style.background = &#8220;url(&#8221; + a.Menu.bgImageUp +&#8221;)&#8221;;<br />
  }<br />
 }<br />
 if (!mouseup &amp;&amp; window.ActiveMenu) {<br />
  if (window.ActiveMenu.Menu) {<br />
   if (window.ActiveMenu.Menu.hideOnMouseOut) MM_startTimeout();<br />
   return(true);<br />
  }<br />
 }<br />
 return(true);<br />
}</p>
<p>function hideChildMenu(hcmLayer) {<br />
 MM_clearTimeout();<br />
 var l = hcmLayer;<br />
 for (var i=0; i &lt; l.Menu.childMenus.length; i++) {<br />
  var theLayer = l.Menu.childMenus[i];<br />
  if (document.layers) theLayer.visibility = &#8220;hidden&#8221;;<br />
  else {<br />
   theLayer = FIND(theLayer);<br />
   theLayer.style.visibility = &#8220;hidden&#8221;;<br />
   if( theLayer.Menu.menuItemHAlign != &#8216;left&#8217; ) {<br />
    for(var j = 0; j &lt; theLayer.Menu.menuItemLayers.length; j++) {<br />
     var itemLayer = theLayer.Menu.menuItemLayers[j];<br />
     if(itemLayer.textShim) itemLayer.textShim.style.visibility = &#8220;inherit&#8221;;<br />
    }<br />
   }<br />
  }<br />
  theLayer.Menu.hideChildMenu(theLayer);<br />
 }<br />
 if (l.childMenu) {<br />
  var childMenu = l.childMenu;<br />
  if (document.layers) {<br />
   l.Menu.MM_showMenu(null,null,null,childMenu.layers[0]);<br />
   childMenu.zIndex = l.parentLayer.zIndex +1;<br />
   childMenu.top = l.Menu.menuLayer.top + l.Menu.submenuYOffset;<br />
   if( l.Menu.vertical ) {<br />
    if( l.Menu.submenuRelativeToItem ) childMenu.top += l.top + l.parentLayer.top;<br />
    childMenu.left = l.parentLayer.left + l.parentLayer.clip.width &#8211; (2*l.Menu.menuBorder) + l.Menu.menuLayer.left + l.Menu.submenuXOffset;<br />
   } else {<br />
    childMenu.top += l.top + l.parentLayer.top; <br />
    if( l.Menu.submenuRelativeToItem ) childMenu.left = l.Menu.menuLayer.left + l.left + l.clip.width + (2*l.Menu.menuBorder) + l.Menu.submenuXOffset;<br />
    else childMenu.left = l.parentLayer.left + l.parentLayer.clip.width &#8211; (2*l.Menu.menuBorder) + l.Menu.menuLayer.left + l.Menu.submenuXOffset;<br />
   }<br />
   if( childMenu.left &lt; l.Menu.container.clip.left ) l.Menu.container.clip.left = childMenu.left;<br />
   var w = childMenu.clip.width+childMenu.left-l.Menu.container.clip.left;<br />
   if (w &gt; l.Menu.container.clip.width)  l.Menu.container.clip.width = w;<br />
   var h = childMenu.clip.height+childMenu.top-l.Menu.container.clip.top;<br />
   if (h &gt; l.Menu.container.clip.height) l.Menu.container.clip.height = h;<br />
   l.document.layers[1].zIndex = 0;<br />
   childMenu.visibility = &#8220;inherit&#8221;;<br />
  } else if (FIND(&#8220;menuItem0&#8243;)) {<br />
   childMenu = FIND(l.childMenu);<br />
   var menuLayer = FIND(l.Menu.menuLayer);<br />
   var s = childMenu.style;<br />
   s.zIndex = menuLayer.style.zIndex+1;<br />
   if (document.all || window.mmIsOpera) {<br />
    s.pixelTop = menuLayer.style.pixelTop + l.Menu.submenuYOffset;<br />
    if( l.Menu.vertical ) {<br />
     if( l.Menu.submenuRelativeToItem ) s.pixelTop += l.style.pixelTop;<br />
     s.pixelLeft = l.style.pixelWidth + menuLayer.style.pixelLeft + l.Menu.submenuXOffset;<br />
     s.left = s.pixelLeft + &#8216;px&#8217;;<br />
    } else {<br />
     s.pixelTop += l.style.pixelTop;<br />
     if( l.Menu.submenuRelativeToItem ) s.pixelLeft = menuLayer.style.pixelLeft + l.style.pixelLeft + l.style.pixelWidth + (2*l.Menu.menuBorder) + l.Menu.submenuXOffset;<br />
     else s.pixelLeft = (menuLayer.style.pixelWidth-4*l.Menu.menuBorder) + menuLayer.style.pixelLeft + l.Menu.submenuXOffset;<br />
     s.left = s.pixelLeft + &#8216;px&#8217;;<br />
    }<br />
   } else {<br />
    var top = parseInt(menuLayer.style.top) + l.Menu.submenuYOffset;<br />
    var left = 0;<br />
    if( l.Menu.vertical ) {<br />
     if( l.Menu.submenuRelativeToItem ) top += parseInt(l.style.top);<br />
     left = (parseInt(menuLayer.style.width)-4*l.Menu.menuBorder) + parseInt(menuLayer.style.left) + l.Menu.submenuXOffset;<br />
    } else {<br />
     top += parseInt(l.style.top);<br />
     if( l.Menu.submenuRelativeToItem ) left = parseInt(menuLayer.style.left) + parseInt(l.style.left) + parseInt(l.style.width) + (2*l.Menu.menuBorder) + l.Menu.submenuXOffset;<br />
     else left = (parseInt(menuLayer.style.width)-4*l.Menu.menuBorder) + parseInt(menuLayer.style.left) + l.Menu.submenuXOffset;<br />
    }<br />
    s.top = top + &#8216;px&#8217;;<br />
    s.left = left + &#8216;px&#8217;;<br />
   }<br />
   childMenu.style.visibility = &#8220;inherit&#8221;;<br />
  } else return;<br />
  window.activeMenus[window.activeMenus.length] = childMenu;<br />
 }<br />
}</p>
<p>function hideActiveMenus() {<br />
 if (!window.activeMenus) return;<br />
 for (var i=0; i &lt; window.activeMenus.length; i++) {<br />
  if (!activeMenus[i]) continue;<br />
  if (activeMenus[i].visibility &amp;&amp; activeMenus[i].Menu &amp;&amp; !window.mmIsOpera) {<br />
   activeMenus[i].visibility = &#8220;hidden&#8221;;<br />
   activeMenus[i].Menu.container.visibility = &#8220;hidden&#8221;;<br />
   activeMenus[i].Menu.container.clip.left = 0;<br />
  } else if (activeMenus[i].style) {<br />
   var s = activeMenus[i].style;<br />
   s.visibility = &#8220;hidden&#8221;;<br />
   s.left = &#8216;-200px&#8217;;<br />
   s.top = &#8216;-200px&#8217;;<br />
  }<br />
 }<br />
 if (window.ActiveMenuItem) hideMenu(false, false);<br />
 window.activeMenus.length = 0;<br />
}</p>
<p>function moveXbySlicePos (x, img) {<br />
 if (!document.layers) {<br />
  var onWindows = navigator.platform ? navigator.platform == &#8220;Win32&#8243; : false;<br />
  var macIE45 = document.all &amp;&amp; !onWindows &amp;&amp; getExplorerVersion() == 4.5;<br />
  var par = img;<br />
  var lastOffset = 0;<br />
  while(par){<br />
   if( par.leftMargin &amp;&amp; ! onWindows ) x += parseInt(par.leftMargin);<br />
   if( (par.offsetLeft != lastOffset) &amp;&amp; par.offsetLeft ) x += parseInt(par.offsetLeft);<br />
   if( par.offsetLeft != 0 ) lastOffset = par.offsetLeft;<br />
   par = macIE45 ? par.parentElement : par.offsetParent;<br />
  }<br />
 } else if (img.x) x += img.x;<br />
 return x;<br />
}</p>
<p>function moveYbySlicePos (y, img) {<br />
 if(!document.layers) {<br />
  var onWindows = navigator.platform ? navigator.platform == &#8220;Win32&#8243; : false;<br />
  var macIE45 = document.all &amp;&amp; !onWindows &amp;&amp; getExplorerVersion() == 4.5;<br />
  var par = img;<br />
  var lastOffset = 0;<br />
  while(par){<br />
   if( par.topMargin &amp;&amp; !onWindows ) y += parseInt(par.topMargin);<br />
   if( (par.offsetTop != lastOffset) &amp;&amp; par.offsetTop ) y += parseInt(par.offsetTop);<br />
   if( par.offsetTop != 0 ) lastOffset = par.offsetTop;<br />
   par = macIE45 ? par.parentElement : par.offsetParent;<br />
  }  <br />
 } else if (img.y &gt;= 0) y += img.y;<br />
 return y;<br />
}<br />
&lt;/script&gt;<br />
&lt;script language=&#8221;JavaScript1.2&#8243;&gt;mmLoadMenus();&lt;/script&gt;<br />
&lt;table width=&#8221;60%&#8221; border=&#8221;0&#8243; align=&#8221;center&#8221; cellspacing=&#8221;0&#8243;&gt;<br />
&lt;tr class=&#8221;top&#8221;&gt;<br />
  &lt;td&gt; &lt;div align=&#8221;center&#8221;&gt;&lt;font color=&#8221;#000000&#8243;&gt;<br />
&lt;a href=&#8221;#&#8221; name=&#8221;link2&#8243; id=&#8221;link1&#8243; onMouseOver=&#8221;MM_showMenu(window.mm_menu_1008171701_0,10,18,null,&#8217;link2&#8242;)&#8221; onMouseOut=&#8221;MM_startTimeout();&#8221;&gt;<br />
真空镀铝机&lt;/a&gt;<br />
      &lt;/font&gt;&lt;/div&gt;&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;/table&gt;<br />
&lt;/BODY&gt;<br />
&lt;/html&gt;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.1xi.net/javascript/js-caidan/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>在火狐里面强制换行字符</title>
		<link>http://blog.1xi.net/javascript/ff-qiangzhi-huanhang</link>
		<comments>http://blog.1xi.net/javascript/ff-qiangzhi-huanhang#comments</comments>
		<pubDate>Mon, 23 Mar 2009 09:36:47 +0000</pubDate>
		<dc:creator>fangds</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[JAVASCRIPT]]></category>

		<guid isPermaLink="false">http://blog.1xi.net/?p=7524</guid>
		<description><![CDATA[火狐也不知道为什么，自己功能上，样式上面，都无法让其强制换行，这里用JS来实现火狐里面强制换行的方法。


&#60;!DOCTYPE html PUBLIC &#34;-//W3C//DTD XHTML 1.0 Transitional//EN&#34; &#34;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#34;&#62;
&#60;html xmlns=&#34;http://www.w3.org/1999/xhtml&#34;&#62;
&#60;head&#62;
	&#60;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34; /&#62;
	&#60;title&#62;firefox-break-word&#60;/title&#62;
	&#60;style type=&#34;text/css&#34;&#62;
	&#60;!--/*--&#62;&#60;![CDATA[/*&#62;&#60;!--*/
	#break {border:1px solid #ccc;padding:.4em .8em;width:200px;word-wrap:break-word;word-break:break-all;}
	/*]]&#62;*/--&#62;
	&#60;/style&#62;
&#60;/head&#62;
&#60;body&#62;
&#60;div id=&#34;break&#34;&#62;
If there were less sympathy in the world, there would be less trouble in the world. ( O. Wilde )
&#60;/div&#62;
&#60;script&#62;
function toBreakWord(intLen){
var obj=document.getElementById(&#34;ff&#34;);
var strContent=obj.innerHTML;
var strTemp=&#34;&#34;;
while(strContent.length&#62;intLen){
strTemp+=strContent.substr(0,intLen)+&#34;&#60;br&#62;&#34;;
strContent=strContent.substr(intLen,strContent.length);
}
strTemp+=&#34;&#60;br&#62;&#34;+strContent;
obj.innerHTML=strTemp;
}
if(document.getElementById  &#38;&#38;  !document.all)  toBreakWord(37)
&#60;/script&#62;
&#60;/body&#62;
&#60;/html&#62;

  提示：你可以先修改部分代码再运行。

]]></description>
			<content:encoded><![CDATA[<p>火狐也不知道为什么，自己功能上，样式上面，都无法让其强制换行，这里用JS来实现火狐里面强制换行的方法。</p>
<div class="runcode">
<p><textarea name="runcode" class="runcode_text" id="runcode_kOrqLK">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
	&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
	&lt;title&gt;firefox-break-word&lt;/title&gt;
	&lt;style type=&quot;text/css&quot;&gt;
	&lt;!--/*--&gt;&lt;![CDATA[/*&gt;&lt;!--*/
	#break {border:1px solid #ccc;padding:.4em .8em;width:200px;word-wrap:break-word;word-break:break-all;}
	/*]]&gt;*/--&gt;
	&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id=&quot;break&quot;&gt;
If there were less sympathy in the world, there would be less trouble in the world. ( O. Wilde )
&lt;/div&gt;
&lt;script&gt;
function toBreakWord(intLen){
var obj=document.getElementById(&quot;ff&quot;);
var strContent=obj.innerHTML;
var strTemp=&quot;&quot;;
while(strContent.length&gt;intLen){
strTemp+=strContent.substr(0,intLen)+&quot;&lt;br&gt;&quot;;
strContent=strContent.substr(intLen,strContent.length);
}
strTemp+=&quot;&lt;br&gt;&quot;+strContent;
obj.innerHTML=strTemp;
}
if(document.getElementById  &amp;&amp;  !document.all)  toBreakWord(37)
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
</textarea></p>
<p><input type="button" value="运行" class="runcode_button" onclick="runcode_open_new('runcode_kOrqLK');"/> <input type="button" value="复制" class="runcode_button" onclick="runcode_copy('runcode_kOrqLK');"/> 提示：你可以先修改部分代码再运行。</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.1xi.net/javascript/ff-qiangzhi-huanhang/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS控制强制不换行/强制换行</title>
		<link>http://blog.1xi.net/divcss/huanhang-2</link>
		<comments>http://blog.1xi.net/divcss/huanhang-2#comments</comments>
		<pubDate>Mon, 23 Mar 2009 02:19:12 +0000</pubDate>
		<dc:creator>fangds</dc:creator>
				<category><![CDATA[DIV+CSS]]></category>

		<guid isPermaLink="false">http://blog.1xi.net/?p=7520</guid>
		<description><![CDATA[CSS控制强制换行/强制换行
强制不换行
div{
white-space:nowrap;
}
自动换行
div{
word-wrap: break-word;
word-break: normal;
}
强制英文单词断行
div{
word-break:break-all;
}
]]></description>
			<content:encoded><![CDATA[<p>CSS控制强制换行/强制换行</p>
<p>强制不换行<br />
div{<br />
white-space:nowrap;<br />
}</p>
<p>自动换行<br />
div{<br />
word-wrap: break-word;<br />
word-break: normal;<br />
}</p>
<p>强制英文单词断行<br />
div{<br />
word-break:break-all;<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.1xi.net/divcss/huanhang-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用ASP实现简单的防盗链</title>
		<link>http://blog.1xi.net/asp/fangdaolian</link>
		<comments>http://blog.1xi.net/asp/fangdaolian#comments</comments>
		<pubDate>Thu, 05 Mar 2009 02:22:47 +0000</pubDate>
		<dc:creator>FDS</dc:creator>
				<category><![CDATA[ASP]]></category>

		<guid isPermaLink="false">http://blog.1xi.net/asp/fangdaolian</guid>
		<description><![CDATA[是不是老有人盗用你的资源，自己辛苦搞的东西就被被人白白的盗用了。给你支个简单的防盗链方法，也许非常有用哦。主要实现方式是：判断来源地址是不是你的地址，如果是的话，给下载，如果不是，给出禁止提示！以下是简单代码部分，参考下吧。

&#60;%
http=Request.ServerVariables(&#8220;HTTP_REFERER&#8221;)
http2=Cstr(Request.ServerVariables(&#8220;SERVER_NAME&#8221;))
if mid(http,8,len(http2))&#60;&#62;http2 then
response.write &#8220;本站禁止从外部站点下载！&#8221;
else
response.redirect &#8220;download.doc&#8221; &#8216;download.doc为下载文件名
end if
%&#62;

]]></description>
			<content:encoded><![CDATA[<p><span id="ArticleContent1_ArticleContent1_lblContent">是不是老有人盗用你的资源，自己辛苦搞的东西就被被人白白的盗用了。给你支个简单的防盗链方法，也许非常有用哦。主要实现方式是：判断来源地址是不是你的地址，如果是的话，给下载，如果不是，给出禁止提示！以下是简单代码部分，参考下吧。</p>
<blockquote><p>
&lt;%<br />
http=Request.ServerVariables(&#8220;HTTP_REFERER&#8221;)<br />
http2=Cstr(Request.ServerVariables(&#8220;SERVER_NAME&#8221;))<br />
if mid(http,8,len(http2))&lt;&gt;http2 then<br />
response.write &#8220;本站禁止从外部站点下载！&#8221;<br />
else<br />
response.redirect &#8220;download.doc&#8221; &#8216;download.doc为下载文件名<br />
end if<br />
%&gt;</p></blockquote>
<p></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.1xi.net/asp/fangdaolian/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用ASP把汉字转换成拼音的函数</title>
		<link>http://blog.1xi.net/asp/hanzi-to-pinyin</link>
		<comments>http://blog.1xi.net/asp/hanzi-to-pinyin#comments</comments>
		<pubDate>Thu, 05 Mar 2009 02:06:17 +0000</pubDate>
		<dc:creator>FDS</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[函数]]></category>
		<category><![CDATA[拼音]]></category>

		<guid isPermaLink="false">http://blog.1xi.net/asp/hanzi-to-pinyin</guid>
		<description><![CDATA[中国人都习惯于用拼音，常常把在SEO的时候，把URL的行字转化成拼音，有利于搜索引擎的识别，获的好的排名。这里分享一个用ASP把汉字转换成拼音的函数。希望各位看客喜欢！
&#60;%
Set d = CreateObject(&#8220;Scripting.Dictionary&#8221;)
d.add &#8221;a&#8221;,-20319
d.add &#8221;ai&#8221;,-20317
d.add &#8221;an&#8221;,-20304
d.add &#8221;ang&#8221;,-20295
d.add &#8221;ao&#8221;,-20292
d.add &#8221;ba&#8221;,-20283
d.add &#8221;bai&#8221;,-20265
d.add &#8221;ban&#8221;,-20257
d.add &#8221;bang&#8221;,-20242
d.add &#8221;bao&#8221;,-20230
d.add &#8221;bei&#8221;,-20051
d.add &#8221;ben&#8221;,-20036
d.add &#8221;beng&#8221;,-20032
d.add &#8221;bi&#8221;,-20026
d.add &#8221;bian&#8221;,-20002
d.add &#8221;biao&#8221;,-19990
d.add &#8221;bie&#8221;,-19986
d.add &#8221;bin&#8221;,-19982
d.add &#8221;bing&#8221;,-19976
d.add &#8221;bo&#8221;,-19805
d.add &#8221;bu&#8221;,-19784
d.add &#8221;ca&#8221;,-19775
d.add &#8221;cai&#8221;,-19774
d.add &#8221;can&#8221;,-19763
d.add &#8221;cang&#8221;,-19756
d.add &#8221;cao&#8221;,-19751
d.add &#8221;ce&#8221;,-19746
d.add &#8221;ceng&#8221;,-19741
d.add &#8221;cha&#8221;,-19739
d.add &#8221;chai&#8221;,-19728
d.add &#8221;chan&#8221;,-19725
d.add &#8221;chang&#8221;,-19715
d.add &#8221;chao&#8221;,-19540
d.add &#8221;che&#8221;,-19531
d.add &#8221;chen&#8221;,-19525
d.add &#8221;cheng&#8221;,-19515
d.add &#8221;chi&#8221;,-19500
d.add &#8221;chong&#8221;,-19484
d.add &#8221;chou&#8221;,-19479
d.add &#8221;chu&#8221;,-19467
d.add &#8221;chuai&#8221;,-19289
d.add &#8221;chuan&#8221;,-19288
d.add &#8221;chuang&#8221;,-19281
d.add &#8221;chui&#8221;,-19275
d.add &#8221;chun&#8221;,-19270
d.add &#8221;chuo&#8221;,-19263
d.add &#8221;ci&#8221;,-19261
d.add &#8221;cong&#8221;,-19249
d.add &#8221;cou&#8221;,-19243
d.add &#8221;cu&#8221;,-19242
d.add &#8221;cuan&#8221;,-19238
d.add &#8221;cui&#8221;,-19235
d.add &#8221;cun&#8221;,-19227
d.add &#8221;cuo&#8221;,-19224
d.add &#8221;da&#8221;,-19218
d.add &#8221;dai&#8221;,-19212
d.add &#8221;dan&#8221;,-19038
d.add &#8221;dang&#8221;,-19023
d.add &#8221;dao&#8221;,-19018
d.add &#8221;de&#8221;,-19006
d.add &#8221;deng&#8221;,-19003
d.add &#8221;di&#8221;,-18996
d.add &#8221;dian&#8221;,-18977
d.add &#8221;diao&#8221;,-18961
d.add &#8221;die&#8221;,-18952
d.add &#8221;ding&#8221;,-18783
d.add &#8221;diu&#8221;,-18774
d.add &#8221;dong&#8221;,-18773
d.add &#8221;dou&#8221;,-18763
d.add &#8221;du&#8221;,-18756
d.add &#8221;duan&#8221;,-18741
d.add &#8221;dui&#8221;,-18735
d.add &#8221;dun&#8221;,-18731
d.add &#8221;duo&#8221;,-18722
d.add &#8221;e&#8221;,-18710
d.add &#8221;en&#8221;,-18697
d.add &#8221;er&#8221;,-18696
d.add &#8221;fa&#8221;,-18526
d.add &#8221;fan&#8221;,-18518
d.add &#8221;fang&#8221;,-18501
d.add &#8221;fei&#8221;,-18490
d.add &#8221;fen&#8221;,-18478
d.add &#8221;feng&#8221;,-18463
d.add &#8221;fo&#8221;,-18448
d.add &#8221;fou&#8221;,-18447
d.add &#8221;fu&#8221;,-18446
d.add &#8221;ga&#8221;,-18239
d.add &#8221;gai&#8221;,-18237
d.add &#8221;gan&#8221;,-18231
d.add &#8221;gang&#8221;,-18220
d.add &#8221;gao&#8221;,-18211
d.add &#8221;ge&#8221;,-18201
d.add &#8221;gei&#8221;,-18184
d.add &#8221;gen&#8221;,-18183
d.add &#8221;geng&#8221;,-18181
d.add &#8221;gong&#8221;,-18012
d.add &#8221;gou&#8221;,-17997
d.add &#8221;gu&#8221;,-17988
d.add &#8221;gua&#8221;,-17970
d.add &#8221;guai&#8221;,-17964
d.add &#8221;guan&#8221;,-17961
d.add &#8221;guang&#8221;,-17950
d.add &#8221;gui&#8221;,-17947
d.add &#8221;gun&#8221;,-17931
d.add &#8221;guo&#8221;,-17928
d.add &#8221;ha&#8221;,-17922
d.add &#8221;hai&#8221;,-17759
d.add &#8221;han&#8221;,-17752
d.add &#8221;hang&#8221;,-17733
d.add &#8221;hao&#8221;,-17730
d.add &#8221;he&#8221;,-17721
d.add &#8221;hei&#8221;,-17703
d.add &#8221;hen&#8221;,-17701
d.add &#8221;heng&#8221;,-17697
d.add &#8221;hong&#8221;,-17692
d.add &#8221;hou&#8221;,-17683
d.add &#8221;hu&#8221;,-17676
d.add &#8221;hua&#8221;,-17496
d.add &#8221;huai&#8221;,-17487
d.add &#8221;huan&#8221;,-17482
d.add &#8221;huang&#8221;,-17468
d.add &#8221;hui&#8221;,-17454
d.add &#8221;hun&#8221;,-17433
d.add &#8221;huo&#8221;,-17427
d.add &#8221;ji&#8221;,-17417
d.add &#8221;jia&#8221;,-17202
d.add &#8221;jian&#8221;,-17185
d.add &#8221;jiang&#8221;,-16983
d.add &#8221;jiao&#8221;,-16970
d.add &#8221;jie&#8221;,-16942
d.add &#8221;jin&#8221;,-16915
d.add &#8221;jing&#8221;,-16733
d.add &#8221;jiong&#8221;,-16708
d.add &#8221;jiu&#8221;,-16706
d.add &#8221;ju&#8221;,-16689
d.add &#8221;juan&#8221;,-16664
d.add &#8221;jue&#8221;,-16657
d.add &#8221;jun&#8221;,-16647
d.add &#8221;ka&#8221;,-16474
d.add &#8221;kai&#8221;,-16470
d.add &#8221;kan&#8221;,-16465
d.add &#8221;kang&#8221;,-16459
d.add &#8221;kao&#8221;,-16452
d.add &#8221;ke&#8221;,-16448
d.add &#8221;ken&#8221;,-16433
d.add &#8221;keng&#8221;,-16429
d.add &#8221;kong&#8221;,-16427
d.add &#8221;kou&#8221;,-16423
d.add &#8221;ku&#8221;,-16419
d.add &#8221;kua&#8221;,-16412
d.add &#8221;kuai&#8221;,-16407
d.add &#8221;kuan&#8221;,-16403
d.add &#8221;kuang&#8221;,-16401
d.add &#8221;kui&#8221;,-16393
d.add &#8221;kun&#8221;,-16220
d.add &#8221;kuo&#8221;,-16216
d.add &#8221;la&#8221;,-16212
d.add &#8221;lai&#8221;,-16205
d.add &#8221;lan&#8221;,-16202
d.add &#8221;lang&#8221;,-16187
d.add &#8221;lao&#8221;,-16180
d.add &#8221;le&#8221;,-16171
d.add &#8221;lei&#8221;,-16169
d.add &#8221;leng&#8221;,-16158
d.add &#8221;li&#8221;,-16155
d.add &#8221;lia&#8221;,-15959
d.add &#8221;lian&#8221;,-15958
d.add &#8221;liang&#8221;,-15944
d.add &#8221;liao&#8221;,-15933
d.add &#8221;lie&#8221;,-15920
d.add &#8221;lin&#8221;,-15915
d.add &#8221;ling&#8221;,-15903
d.add &#8221;liu&#8221;,-15889
d.add &#8221;long&#8221;,-15878
d.add &#8221;lou&#8221;,-15707
d.add &#8221;lu&#8221;,-15701
d.add &#8221;lv&#8221;,-15681
d.add &#8221;luan&#8221;,-15667
d.add &#8221;lue&#8221;,-15661
d.add &#8221;lun&#8221;,-15659
d.add &#8221;luo&#8221;,-15652
d.add &#8221;ma&#8221;,-15640
d.add &#8221;mai&#8221;,-15631
d.add &#8221;man&#8221;,-15625
d.add &#8221;mang&#8221;,-15454
d.add &#8221;mao&#8221;,-15448
d.add &#8221;me&#8221;,-15436
d.add &#8221;mei&#8221;,-15435
d.add &#8221;men&#8221;,-15419
d.add &#8221;meng&#8221;,-15416
d.add &#8221;mi&#8221;,-15408
d.add &#8221;mian&#8221;,-15394
d.add &#8221;miao&#8221;,-15385
d.add &#8221;mie&#8221;,-15377
d.add &#8221;min&#8221;,-15375
d.add &#8221;ming&#8221;,-15369
d.add &#8221;miu&#8221;,-15363
d.add &#8221;mo&#8221;,-15362
d.add &#8221;mou&#8221;,-15183
d.add &#8221;mu&#8221;,-15180
d.add &#8221;na&#8221;,-15165
d.add &#8221;nai&#8221;,-15158
d.add &#8221;nan&#8221;,-15153
d.add &#8221;nang&#8221;,-15150
d.add &#8221;nao&#8221;,-15149
d.add &#8221;ne&#8221;,-15144
d.add &#8221;nei&#8221;,-15143
d.add &#8221;nen&#8221;,-15141
d.add &#8221;neng&#8221;,-15140
d.add &#8221;ni&#8221;,-15139
d.add &#8221;nian&#8221;,-15128
d.add &#8221;niang&#8221;,-15121
d.add &#8221;niao&#8221;,-15119
d.add &#8221;nie&#8221;,-15117
d.add &#8221;nin&#8221;,-15110
d.add &#8221;ning&#8221;,-15109
d.add &#8221;niu&#8221;,-14941
d.add &#8221;nong&#8221;,-14937
d.add &#8221;nu&#8221;,-14933
d.add &#8221;nv&#8221;,-14930
d.add &#8221;nuan&#8221;,-14929
d.add &#8221;nue&#8221;,-14928
d.add &#8221;nuo&#8221;,-14926
d.add &#8221;o&#8221;,-14922
d.add &#8221;ou&#8221;,-14921
d.add &#8221;pa&#8221;,-14914
d.add &#8221;pai&#8221;,-14908
d.add &#8221;pan&#8221;,-14902
d.add &#8221;pang&#8221;,-14894
d.add &#8221;pao&#8221;,-14889
d.add &#8221;pei&#8221;,-14882
d.add &#8221;pen&#8221;,-14873
d.add &#8221;peng&#8221;,-14871
d.add &#8221;pi&#8221;,-14857
d.add &#8221;pian&#8221;,-14678
d.add &#8221;piao&#8221;,-14674
d.add &#8221;pie&#8221;,-14670
d.add &#8221;pin&#8221;,-14668
d.add &#8221;ping&#8221;,-14663
d.add &#8221;po&#8221;,-14654
d.add &#8221;pu&#8221;,-14645
d.add &#8221;qi&#8221;,-14630
d.add &#8221;qia&#8221;,-14594
d.add &#8221;qian&#8221;,-14429
d.add &#8221;qiang&#8221;,-14407
d.add &#8221;qiao&#8221;,-14399
d.add &#8221;qie&#8221;,-14384
d.add &#8221;qin&#8221;,-14379
d.add &#8221;qing&#8221;,-14368
d.add &#8221;qiong&#8221;,-14355
d.add &#8221;qiu&#8221;,-14353
d.add &#8221;qu&#8221;,-14345
d.add &#8221;quan&#8221;,-14170
d.add &#8221;que&#8221;,-14159
d.add &#8221;qun&#8221;,-14151
d.add &#8221;ran&#8221;,-14149
d.add &#8221;rang&#8221;,-14145
d.add &#8221;rao&#8221;,-14140
d.add &#8221;re&#8221;,-14137
d.add &#8221;ren&#8221;,-14135
d.add &#8221;reng&#8221;,-14125
d.add &#8221;ri&#8221;,-14123
d.add &#8221;rong&#8221;,-14122
d.add &#8221;rou&#8221;,-14112
d.add &#8221;ru&#8221;,-14109
d.add &#8221;ruan&#8221;,-14099
d.add &#8221;rui&#8221;,-14097
d.add &#8221;run&#8221;,-14094
d.add &#8221;ruo&#8221;,-14092
d.add &#8221;sa&#8221;,-14090
d.add &#8221;sai&#8221;,-14087
d.add &#8221;san&#8221;,-14083
d.add &#8221;sang&#8221;,-13917
d.add &#8221;sao&#8221;,-13914
d.add &#8221;se&#8221;,-13910
d.add &#8221;sen&#8221;,-13907
d.add &#8221;seng&#8221;,-13906
d.add &#8221;sha&#8221;,-13905
d.add &#8221;shai&#8221;,-13896
d.add &#8221;shan&#8221;,-13894
d.add &#8221;shang&#8221;,-13878
d.add &#8221;shao&#8221;,-13870
d.add &#8221;she&#8221;,-13859
d.add &#8221;shen&#8221;,-13847
d.add &#8221;sheng&#8221;,-13831
d.add &#8221;shi&#8221;,-13658
d.add &#8221;shou&#8221;,-13611
d.add &#8221;shu&#8221;,-13601
d.add &#8221;shua&#8221;,-13406
d.add &#8221;shuai&#8221;,-13404
d.add &#8221;shuan&#8221;,-13400
d.add &#8221;shuang&#8221;,-13398
d.add &#8221;shui&#8221;,-13395
d.add &#8221;shun&#8221;,-13391
d.add &#8221;shuo&#8221;,-13387
d.add &#8221;si&#8221;,-13383
d.add &#8221;song&#8221;,-13367
d.add &#8221;sou&#8221;,-13359
d.add &#8221;su&#8221;,-13356
d.add &#8221;suan&#8221;,-13343
d.add &#8221;sui&#8221;,-13340
d.add &#8221;sun&#8221;,-13329
d.add &#8221;suo&#8221;,-13326
d.add &#8221;ta&#8221;,-13318
d.add &#8221;tai&#8221;,-13147
d.add &#8221;tan&#8221;,-13138
d.add &#8221;tang&#8221;,-13120
d.add &#8221;tao&#8221;,-13107
d.add &#8221;te&#8221;,-13096
d.add &#8221;teng&#8221;,-13095
d.add &#8221;ti&#8221;,-13091
d.add &#8221;tian&#8221;,-13076
d.add &#8221;tiao&#8221;,-13068
d.add &#8221;tie&#8221;,-13063
d.add &#8221;ting&#8221;,-13060
d.add &#8221;tong&#8221;,-12888
d.add &#8221;tou&#8221;,-12875
d.add &#8221;tu&#8221;,-12871
d.add &#8221;tuan&#8221;,-12860
d.add &#8221;tui&#8221;,-12858
d.add &#8221;tun&#8221;,-12852
d.add &#8221;tuo&#8221;,-12849
d.add &#8221;wa&#8221;,-12838
d.add &#8221;wai&#8221;,-12831
d.add &#8221;wan&#8221;,-12829
d.add &#8221;wang&#8221;,-12812
d.add &#8221;wei&#8221;,-12802
d.add &#8221;wen&#8221;,-12607
d.add &#8221;weng&#8221;,-12597
d.add &#8221;wo&#8221;,-12594
d.add &#8221;wu&#8221;,-12585
d.add &#8221;xi&#8221;,-12556
d.add &#8221;xia&#8221;,-12359
d.add &#8221;xian&#8221;,-12346
d.add &#8221;xiang&#8221;,-12320
d.add &#8221;xiao&#8221;,-12300
d.add &#8221;xie&#8221;,-12120
d.add &#8221;xin&#8221;,-12099
d.add &#8221;xing&#8221;,-12089
d.add &#8221;xiong&#8221;,-12074
d.add &#8221;xiu&#8221;,-12067
d.add &#8221;xu&#8221;,-12058
d.add &#8221;xuan&#8221;,-12039
d.add &#8221;xue&#8221;,-11867
d.add &#8221;xun&#8221;,-11861
d.add &#8221;ya&#8221;,-11847
d.add &#8221;yan&#8221;,-11831
d.add &#8221;yang&#8221;,-11798
d.add &#8221;yao&#8221;,-11781
d.add &#8221;ye&#8221;,-11604
d.add &#8221;yi&#8221;,-11589
d.add &#8221;yin&#8221;,-11536
d.add &#8221;ying&#8221;,-11358
d.add &#8221;yo&#8221;,-11340
d.add &#8221;yong&#8221;,-11339
d.add &#8221;you&#8221;,-11324
d.add &#8221;yu&#8221;,-11303
d.add &#8221;yuan&#8221;,-11097
d.add &#8221;yue&#8221;,-11077
d.add &#8221;yun&#8221;,-11067
d.add &#8221;za&#8221;,-11055
d.add &#8221;zai&#8221;,-11052
d.add &#8221;zan&#8221;,-11045
d.add &#8221;zang&#8221;,-11041
d.add &#8221;zao&#8221;,-11038
d.add &#8221;ze&#8221;,-11024
d.add &#8221;zei&#8221;,-11020
d.add &#8221;zen&#8221;,-11019
d.add &#8221;zeng&#8221;,-11018
d.add &#8221;zha&#8221;,-11014
d.add &#8221;zhai&#8221;,-10838
d.add &#8221;zhan&#8221;,-10832
d.add &#8221;zhang&#8221;,-10815
d.add &#8221;zhao&#8221;,-10800
d.add &#8221;zhe&#8221;,-10790
d.add &#8221;zhen&#8221;,-10780
d.add &#8221;zheng&#8221;,-10764
d.add &#8221;zhi&#8221;,-10587
d.add &#8221;zhong&#8221;,-10544
d.add &#8221;zhou&#8221;,-10533
d.add &#8221;zhu&#8221;,-10519
d.add &#8221;zhua&#8221;,-10331
d.add &#8221;zhuai&#8221;,-10329
d.add &#8221;zhuan&#8221;,-10328
d.add &#8221;zhuang&#8221;,-10322
d.add &#8221;zhui&#8221;,-10315
d.add &#8221;zhun&#8221;,-10309
d.add &#8221;zhuo&#8221;,-10307
d.add &#8221;zi&#8221;,-10296
d.add &#8221;zong&#8221;,-10281
d.add &#8221;zou&#8221;,-10274
d.add &#8221;zu&#8221;,-10270
d.add &#8221;zuan&#8221;,-10262
d.add &#8221;zui&#8221;,-10260
d.add &#8221;zun&#8221;,-10256
d.add &#8221;zuo&#8221;,-10254
function g(num)
if num&#62;0 and num&#60;160 then
g=chr(num)
else
if num&#60;-20319 or num&#62;-10247 then
g=&#8221;"
else
a=d.Items
b=d.keys
for i=d.count-1 to 0 step -1
if a(i)&#60;=num then exit for
next
g=b(i)
end if
end if
end function
function c(str)
c=&#8221;"
for i=1 to len(str)
c=c&#38;g(asc(mid(str,i,1)))
next
end function
response.write c(request(&#8220;hz&#8221;))
%&#62;
&#60;form method=post&#62;
请在此处输入中文：&#60;input name=hz&#62;
&#60;/form&#62;

]]></description>
			<content:encoded><![CDATA[<p>中国人都习惯于用拼音，常常把在SEO的时候，把URL的行字转化成拼音，有利于搜索引擎的识别，获的好的排名。这里分享一个用ASP把汉字转换成拼音的函数。希望各位看客喜欢！</p>
<p><span id="ArticleContent1_ArticleContent1_lblContent">&lt;%<br />
Set d = CreateObject(&#8220;Scripting.Dictionary&#8221;)<br />
d.add &#8221;a&#8221;,-20319<br />
d.add &#8221;ai&#8221;,-20317<br />
d.add &#8221;an&#8221;,-20304<br />
d.add &#8221;ang&#8221;,-20295<br />
d.add &#8221;ao&#8221;,-20292<br />
d.add &#8221;ba&#8221;,-20283<br />
d.add &#8221;bai&#8221;,-20265<br />
d.add &#8221;ban&#8221;,-20257<br />
d.add &#8221;bang&#8221;,-20242<br />
d.add &#8221;bao&#8221;,-20230<br />
d.add &#8221;bei&#8221;,-20051<br />
d.add &#8221;ben&#8221;,-20036<br />
d.add &#8221;beng&#8221;,-20032<br />
d.add &#8221;bi&#8221;,-20026<br />
d.add &#8221;bian&#8221;,-20002<br />
d.add &#8221;biao&#8221;,-19990<br />
d.add &#8221;bie&#8221;,-19986<br />
d.add &#8221;bin&#8221;,-19982<br />
d.add &#8221;bing&#8221;,-19976<br />
d.add &#8221;bo&#8221;,-19805<br />
d.add &#8221;bu&#8221;,-19784<br />
d.add &#8221;ca&#8221;,-19775<br />
d.add &#8221;cai&#8221;,-19774<br />
d.add &#8221;can&#8221;,-19763<br />
d.add &#8221;cang&#8221;,-19756<br />
d.add &#8221;cao&#8221;,-19751<br />
d.add &#8221;ce&#8221;,-19746<br />
d.add &#8221;ceng&#8221;,-19741<br />
d.add &#8221;cha&#8221;,-19739<br />
d.add &#8221;chai&#8221;,-19728<br />
d.add &#8221;chan&#8221;,-19725<br />
d.add &#8221;chang&#8221;,-19715<br />
d.add &#8221;chao&#8221;,-19540<br />
d.add &#8221;che&#8221;,-19531<br />
d.add &#8221;chen&#8221;,-19525<br />
d.add &#8221;cheng&#8221;,-19515<br />
d.add &#8221;chi&#8221;,-19500<br />
d.add &#8221;chong&#8221;,-19484<br />
d.add &#8221;chou&#8221;,-19479<br />
d.add &#8221;chu&#8221;,-19467<br />
d.add &#8221;chuai&#8221;,-19289<br />
d.add &#8221;chuan&#8221;,-19288<br />
d.add &#8221;chuang&#8221;,-19281<br />
d.add &#8221;chui&#8221;,-19275<br />
d.add &#8221;chun&#8221;,-19270<br />
d.add &#8221;chuo&#8221;,-19263<br />
d.add &#8221;ci&#8221;,-19261<br />
d.add &#8221;cong&#8221;,-19249<br />
d.add &#8221;cou&#8221;,-19243<br />
d.add &#8221;cu&#8221;,-19242<br />
d.add &#8221;cuan&#8221;,-19238<br />
d.add &#8221;cui&#8221;,-19235<br />
d.add &#8221;cun&#8221;,-19227<br />
d.add &#8221;cuo&#8221;,-19224<br />
d.add &#8221;da&#8221;,-19218<br />
d.add &#8221;dai&#8221;,-19212<br />
d.add &#8221;dan&#8221;,-19038<br />
d.add &#8221;dang&#8221;,-19023<br />
d.add &#8221;dao&#8221;,-19018<br />
d.add &#8221;de&#8221;,-19006<br />
d.add &#8221;deng&#8221;,-19003<br />
d.add &#8221;di&#8221;,-18996<br />
d.add &#8221;dian&#8221;,-18977<br />
d.add &#8221;diao&#8221;,-18961<br />
d.add &#8221;die&#8221;,-18952<br />
d.add &#8221;ding&#8221;,-18783<br />
d.add &#8221;diu&#8221;,-18774<br />
d.add &#8221;dong&#8221;,-18773<br />
d.add &#8221;dou&#8221;,-18763<br />
d.add &#8221;du&#8221;,-18756<br />
d.add &#8221;duan&#8221;,-18741<br />
d.add &#8221;dui&#8221;,-18735<br />
d.add &#8221;dun&#8221;,-18731<br />
d.add &#8221;duo&#8221;,-18722<br />
d.add &#8221;e&#8221;,-18710<br />
d.add &#8221;en&#8221;,-18697<br />
d.add &#8221;er&#8221;,-18696<br />
d.add &#8221;fa&#8221;,-18526<br />
d.add &#8221;fan&#8221;,-18518<br />
d.add &#8221;fang&#8221;,-18501<br />
d.add &#8221;fei&#8221;,-18490<br />
d.add &#8221;fen&#8221;,-18478<br />
d.add &#8221;feng&#8221;,-18463<br />
d.add &#8221;fo&#8221;,-18448<br />
d.add &#8221;fou&#8221;,-18447<br />
d.add &#8221;fu&#8221;,-18446<br />
d.add &#8221;ga&#8221;,-18239<br />
d.add &#8221;gai&#8221;,-18237<br />
d.add &#8221;gan&#8221;,-18231<br />
d.add &#8221;gang&#8221;,-18220<br />
d.add &#8221;gao&#8221;,-18211<br />
d.add &#8221;ge&#8221;,-18201<br />
d.add &#8221;gei&#8221;,-18184<br />
d.add &#8221;gen&#8221;,-18183<br />
d.add &#8221;geng&#8221;,-18181<br />
d.add &#8221;gong&#8221;,-18012<br />
d.add &#8221;gou&#8221;,-17997<br />
d.add &#8221;gu&#8221;,-17988<br />
d.add &#8221;gua&#8221;,-17970<br />
d.add &#8221;guai&#8221;,-17964<br />
d.add &#8221;guan&#8221;,-17961<br />
d.add &#8221;guang&#8221;,-17950<br />
d.add &#8221;gui&#8221;,-17947<br />
d.add &#8221;gun&#8221;,-17931<br />
d.add &#8221;guo&#8221;,-17928<br />
d.add &#8221;ha&#8221;,-17922<br />
d.add &#8221;hai&#8221;,-17759<br />
d.add &#8221;han&#8221;,-17752<br />
d.add &#8221;hang&#8221;,-17733<br />
d.add &#8221;hao&#8221;,-17730<br />
d.add &#8221;he&#8221;,-17721<br />
d.add &#8221;hei&#8221;,-17703<br />
d.add &#8221;hen&#8221;,-17701<br />
d.add &#8221;heng&#8221;,-17697<br />
d.add &#8221;hong&#8221;,-17692<br />
d.add &#8221;hou&#8221;,-17683<br />
d.add &#8221;hu&#8221;,-17676<br />
d.add &#8221;hua&#8221;,-17496<br />
d.add &#8221;huai&#8221;,-17487<br />
d.add &#8221;huan&#8221;,-17482<br />
d.add &#8221;huang&#8221;,-17468<br />
d.add &#8221;hui&#8221;,-17454<br />
d.add &#8221;hun&#8221;,-17433<br />
d.add &#8221;huo&#8221;,-17427<br />
d.add &#8221;ji&#8221;,-17417<br />
d.add &#8221;jia&#8221;,-17202<br />
d.add &#8221;jian&#8221;,-17185<br />
d.add &#8221;jiang&#8221;,-16983<br />
d.add &#8221;jiao&#8221;,-16970<br />
d.add &#8221;jie&#8221;,-16942<br />
d.add &#8221;jin&#8221;,-16915<br />
d.add &#8221;jing&#8221;,-16733<br />
d.add &#8221;jiong&#8221;,-16708<br />
d.add &#8221;jiu&#8221;,-16706<br />
d.add &#8221;ju&#8221;,-16689<br />
d.add &#8221;juan&#8221;,-16664<br />
d.add &#8221;jue&#8221;,-16657<br />
d.add &#8221;jun&#8221;,-16647<br />
d.add &#8221;ka&#8221;,-16474<br />
d.add &#8221;kai&#8221;,-16470<br />
d.add &#8221;kan&#8221;,-16465<br />
d.add &#8221;kang&#8221;,-16459<br />
d.add &#8221;kao&#8221;,-16452<br />
d.add &#8221;ke&#8221;,-16448<br />
d.add &#8221;ken&#8221;,-16433<br />
d.add &#8221;keng&#8221;,-16429<br />
d.add &#8221;kong&#8221;,-16427<br />
d.add &#8221;kou&#8221;,-16423<br />
d.add &#8221;ku&#8221;,-16419<br />
d.add &#8221;kua&#8221;,-16412<br />
d.add &#8221;kuai&#8221;,-16407<br />
d.add &#8221;kuan&#8221;,-16403<br />
d.add &#8221;kuang&#8221;,-16401<br />
d.add &#8221;kui&#8221;,-16393<br />
d.add &#8221;kun&#8221;,-16220<br />
d.add &#8221;kuo&#8221;,-16216<br />
d.add &#8221;la&#8221;,-16212<br />
d.add &#8221;lai&#8221;,-16205<br />
d.add &#8221;lan&#8221;,-16202<br />
d.add &#8221;lang&#8221;,-16187<br />
d.add &#8221;lao&#8221;,-16180<br />
d.add &#8221;le&#8221;,-16171<br />
d.add &#8221;lei&#8221;,-16169<br />
d.add &#8221;leng&#8221;,-16158<br />
d.add &#8221;li&#8221;,-16155<br />
d.add &#8221;lia&#8221;,-15959<br />
d.add &#8221;lian&#8221;,-15958<br />
d.add &#8221;liang&#8221;,-15944<br />
d.add &#8221;liao&#8221;,-15933<br />
d.add &#8221;lie&#8221;,-15920<br />
d.add &#8221;lin&#8221;,-15915<br />
d.add &#8221;ling&#8221;,-15903<br />
d.add &#8221;liu&#8221;,-15889<br />
d.add &#8221;long&#8221;,-15878<br />
d.add &#8221;lou&#8221;,-15707<br />
d.add &#8221;lu&#8221;,-15701<br />
d.add &#8221;lv&#8221;,-15681<br />
d.add &#8221;luan&#8221;,-15667<br />
d.add &#8221;lue&#8221;,-15661<br />
d.add &#8221;lun&#8221;,-15659<br />
d.add &#8221;luo&#8221;,-15652<br />
d.add &#8221;ma&#8221;,-15640<br />
d.add &#8221;mai&#8221;,-15631<br />
d.add &#8221;man&#8221;,-15625<br />
d.add &#8221;mang&#8221;,-15454<br />
d.add &#8221;mao&#8221;,-15448<br />
d.add &#8221;me&#8221;,-15436<br />
d.add &#8221;mei&#8221;,-15435<br />
d.add &#8221;men&#8221;,-15419<br />
d.add &#8221;meng&#8221;,-15416<br />
d.add &#8221;mi&#8221;,-15408<br />
d.add &#8221;mian&#8221;,-15394<br />
d.add &#8221;miao&#8221;,-15385<br />
d.add &#8221;mie&#8221;,-15377<br />
d.add &#8221;min&#8221;,-15375<br />
d.add &#8221;ming&#8221;,-15369<br />
d.add &#8221;miu&#8221;,-15363<br />
d.add &#8221;mo&#8221;,-15362<br />
d.add &#8221;mou&#8221;,-15183<br />
d.add &#8221;mu&#8221;,-15180<br />
d.add &#8221;na&#8221;,-15165<br />
d.add &#8221;nai&#8221;,-15158<br />
d.add &#8221;nan&#8221;,-15153<br />
d.add &#8221;nang&#8221;,-15150<br />
d.add &#8221;nao&#8221;,-15149<br />
d.add &#8221;ne&#8221;,-15144<br />
d.add &#8221;nei&#8221;,-15143<br />
d.add &#8221;nen&#8221;,-15141<br />
d.add &#8221;neng&#8221;,-15140<br />
d.add &#8221;ni&#8221;,-15139<br />
d.add &#8221;nian&#8221;,-15128<br />
d.add &#8221;niang&#8221;,-15121<br />
d.add &#8221;niao&#8221;,-15119<br />
d.add &#8221;nie&#8221;,-15117<br />
d.add &#8221;nin&#8221;,-15110<br />
d.add &#8221;ning&#8221;,-15109<br />
d.add &#8221;niu&#8221;,-14941<br />
d.add &#8221;nong&#8221;,-14937<br />
d.add &#8221;nu&#8221;,-14933<br />
d.add &#8221;nv&#8221;,-14930<br />
d.add &#8221;nuan&#8221;,-14929<br />
d.add &#8221;nue&#8221;,-14928<br />
d.add &#8221;nuo&#8221;,-14926<br />
d.add &#8221;o&#8221;,-14922<br />
d.add &#8221;ou&#8221;,-14921<br />
d.add &#8221;pa&#8221;,-14914<br />
d.add &#8221;pai&#8221;,-14908<br />
d.add &#8221;pan&#8221;,-14902<br />
d.add &#8221;pang&#8221;,-14894<br />
d.add &#8221;pao&#8221;,-14889<br />
d.add &#8221;pei&#8221;,-14882<br />
d.add &#8221;pen&#8221;,-14873<br />
d.add &#8221;peng&#8221;,-14871<br />
d.add &#8221;pi&#8221;,-14857<br />
d.add &#8221;pian&#8221;,-14678<br />
d.add &#8221;piao&#8221;,-14674<br />
d.add &#8221;pie&#8221;,-14670<br />
d.add &#8221;pin&#8221;,-14668<br />
d.add &#8221;ping&#8221;,-14663<br />
d.add &#8221;po&#8221;,-14654<br />
d.add &#8221;pu&#8221;,-14645<br />
d.add &#8221;qi&#8221;,-14630<br />
d.add &#8221;qia&#8221;,-14594<br />
d.add &#8221;qian&#8221;,-14429<br />
d.add &#8221;qiang&#8221;,-14407<br />
d.add &#8221;qiao&#8221;,-14399<br />
d.add &#8221;qie&#8221;,-14384<br />
d.add &#8221;qin&#8221;,-14379<br />
d.add &#8221;qing&#8221;,-14368<br />
d.add &#8221;qiong&#8221;,-14355<br />
d.add &#8221;qiu&#8221;,-14353<br />
d.add &#8221;qu&#8221;,-14345<br />
d.add &#8221;quan&#8221;,-14170<br />
d.add &#8221;que&#8221;,-14159<br />
d.add &#8221;qun&#8221;,-14151<br />
d.add &#8221;ran&#8221;,-14149<br />
d.add &#8221;rang&#8221;,-14145<br />
d.add &#8221;rao&#8221;,-14140<br />
d.add &#8221;re&#8221;,-14137<br />
d.add &#8221;ren&#8221;,-14135<br />
d.add &#8221;reng&#8221;,-14125<br />
d.add &#8221;ri&#8221;,-14123<br />
d.add &#8221;rong&#8221;,-14122<br />
d.add &#8221;rou&#8221;,-14112<br />
d.add &#8221;ru&#8221;,-14109<br />
d.add &#8221;ruan&#8221;,-14099<br />
d.add &#8221;rui&#8221;,-14097<br />
d.add &#8221;run&#8221;,-14094<br />
d.add &#8221;ruo&#8221;,-14092<br />
d.add &#8221;sa&#8221;,-14090<br />
d.add &#8221;sai&#8221;,-14087<br />
d.add &#8221;san&#8221;,-14083<br />
d.add &#8221;sang&#8221;,-13917<br />
d.add &#8221;sao&#8221;,-13914<br />
d.add &#8221;se&#8221;,-13910<br />
d.add &#8221;sen&#8221;,-13907<br />
d.add &#8221;seng&#8221;,-13906<br />
d.add &#8221;sha&#8221;,-13905<br />
d.add &#8221;shai&#8221;,-13896<br />
d.add &#8221;shan&#8221;,-13894<br />
d.add &#8221;shang&#8221;,-13878<br />
d.add &#8221;shao&#8221;,-13870<br />
d.add &#8221;she&#8221;,-13859<br />
d.add &#8221;shen&#8221;,-13847<br />
d.add &#8221;sheng&#8221;,-13831<br />
d.add &#8221;shi&#8221;,-13658<br />
d.add &#8221;shou&#8221;,-13611<br />
d.add &#8221;shu&#8221;,-13601<br />
d.add &#8221;shua&#8221;,-13406<br />
d.add &#8221;shuai&#8221;,-13404<br />
d.add &#8221;shuan&#8221;,-13400<br />
d.add &#8221;shuang&#8221;,-13398<br />
d.add &#8221;shui&#8221;,-13395<br />
d.add &#8221;shun&#8221;,-13391<br />
d.add &#8221;shuo&#8221;,-13387<br />
d.add &#8221;si&#8221;,-13383<br />
d.add &#8221;song&#8221;,-13367<br />
d.add &#8221;sou&#8221;,-13359<br />
d.add &#8221;su&#8221;,-13356<br />
d.add &#8221;suan&#8221;,-13343<br />
d.add &#8221;sui&#8221;,-13340<br />
d.add &#8221;sun&#8221;,-13329<br />
d.add &#8221;suo&#8221;,-13326<br />
d.add &#8221;ta&#8221;,-13318<br />
d.add &#8221;tai&#8221;,-13147<br />
d.add &#8221;tan&#8221;,-13138<br />
d.add &#8221;tang&#8221;,-13120<br />
d.add &#8221;tao&#8221;,-13107<br />
d.add &#8221;te&#8221;,-13096<br />
d.add &#8221;teng&#8221;,-13095<br />
d.add &#8221;ti&#8221;,-13091<br />
d.add &#8221;tian&#8221;,-13076<br />
d.add &#8221;tiao&#8221;,-13068<br />
d.add &#8221;tie&#8221;,-13063<br />
d.add &#8221;ting&#8221;,-13060<br />
d.add &#8221;tong&#8221;,-12888<br />
d.add &#8221;tou&#8221;,-12875<br />
d.add &#8221;tu&#8221;,-12871<br />
d.add &#8221;tuan&#8221;,-12860<br />
d.add &#8221;tui&#8221;,-12858<br />
d.add &#8221;tun&#8221;,-12852<br />
d.add &#8221;tuo&#8221;,-12849<br />
d.add &#8221;wa&#8221;,-12838<br />
d.add &#8221;wai&#8221;,-12831<br />
d.add &#8221;wan&#8221;,-12829<br />
d.add &#8221;wang&#8221;,-12812<br />
d.add &#8221;wei&#8221;,-12802<br />
d.add &#8221;wen&#8221;,-12607<br />
d.add &#8221;weng&#8221;,-12597<br />
d.add &#8221;wo&#8221;,-12594<br />
d.add &#8221;wu&#8221;,-12585<br />
d.add &#8221;xi&#8221;,-12556<br />
d.add &#8221;xia&#8221;,-12359<br />
d.add &#8221;xian&#8221;,-12346<br />
d.add &#8221;xiang&#8221;,-12320<br />
d.add &#8221;xiao&#8221;,-12300<br />
d.add &#8221;xie&#8221;,-12120<br />
d.add &#8221;xin&#8221;,-12099<br />
d.add &#8221;xing&#8221;,-12089<br />
d.add &#8221;xiong&#8221;,-12074<br />
d.add &#8221;xiu&#8221;,-12067<br />
d.add &#8221;xu&#8221;,-12058<br />
d.add &#8221;xuan&#8221;,-12039<br />
d.add &#8221;xue&#8221;,-11867<br />
d.add &#8221;xun&#8221;,-11861<br />
d.add &#8221;ya&#8221;,-11847<br />
d.add &#8221;yan&#8221;,-11831<br />
d.add &#8221;yang&#8221;,-11798<br />
d.add &#8221;yao&#8221;,-11781<br />
d.add &#8221;ye&#8221;,-11604<br />
d.add &#8221;yi&#8221;,-11589<br />
d.add &#8221;yin&#8221;,-11536<br />
d.add &#8221;ying&#8221;,-11358<br />
d.add &#8221;yo&#8221;,-11340<br />
d.add &#8221;yong&#8221;,-11339<br />
d.add &#8221;you&#8221;,-11324<br />
d.add &#8221;yu&#8221;,-11303<br />
d.add &#8221;yuan&#8221;,-11097<br />
d.add &#8221;yue&#8221;,-11077<br />
d.add &#8221;yun&#8221;,-11067<br />
d.add &#8221;za&#8221;,-11055<br />
d.add &#8221;zai&#8221;,-11052<br />
d.add &#8221;zan&#8221;,-11045<br />
d.add &#8221;zang&#8221;,-11041<br />
d.add &#8221;zao&#8221;,-11038<br />
d.add &#8221;ze&#8221;,-11024<br />
d.add &#8221;zei&#8221;,-11020<br />
d.add &#8221;zen&#8221;,-11019<br />
d.add &#8221;zeng&#8221;,-11018<br />
d.add &#8221;zha&#8221;,-11014<br />
d.add &#8221;zhai&#8221;,-10838<br />
d.add &#8221;zhan&#8221;,-10832<br />
d.add &#8221;zhang&#8221;,-10815<br />
d.add &#8221;zhao&#8221;,-10800<br />
d.add &#8221;zhe&#8221;,-10790<br />
d.add &#8221;zhen&#8221;,-10780<br />
d.add &#8221;zheng&#8221;,-10764<br />
d.add &#8221;zhi&#8221;,-10587<br />
d.add &#8221;zhong&#8221;,-10544<br />
d.add &#8221;zhou&#8221;,-10533<br />
d.add &#8221;zhu&#8221;,-10519<br />
d.add &#8221;zhua&#8221;,-10331<br />
d.add &#8221;zhuai&#8221;,-10329<br />
d.add &#8221;zhuan&#8221;,-10328<br />
d.add &#8221;zhuang&#8221;,-10322<br />
d.add &#8221;zhui&#8221;,-10315<br />
d.add &#8221;zhun&#8221;,-10309<br />
d.add &#8221;zhuo&#8221;,-10307<br />
d.add &#8221;zi&#8221;,-10296<br />
d.add &#8221;zong&#8221;,-10281<br />
d.add &#8221;zou&#8221;,-10274<br />
d.add &#8221;zu&#8221;,-10270<br />
d.add &#8221;zuan&#8221;,-10262<br />
d.add &#8221;zui&#8221;,-10260<br />
d.add &#8221;zun&#8221;,-10256<br />
d.add &#8221;zuo&#8221;,-10254</p>
<p>function g(num)<br />
if num&gt;0 and num&lt;160 then<br />
g=chr(num)<br />
else<br />
if num&lt;-20319 or num&gt;-10247 then<br />
g=&#8221;"<br />
else<br />
a=d.Items<br />
b=d.keys<br />
for i=d.count-1 to 0 step -1<br />
if a(i)&lt;=num then exit for<br />
next<br />
g=b(i)<br />
end if<br />
end if<br />
end function<br />
function c(str)<br />
c=&#8221;"<br />
for i=1 to len(str)<br />
c=c&amp;g(asc(mid(str,i,1)))<br />
next<br />
end function<br />
response.write c(request(&#8220;hz&#8221;))<br />
%&gt;<br />
&lt;form method=post&gt;<br />
请在此处输入中文：&lt;input name=hz&gt;<br />
&lt;/form&gt;<br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.1xi.net/asp/hanzi-to-pinyin/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用FSO组件对文件操作（三）</title>
		<link>http://blog.1xi.net/asp/fso-zujian-caozuo-3</link>
		<comments>http://blog.1xi.net/asp/fso-zujian-caozuo-3#comments</comments>
		<pubDate>Fri, 20 Feb 2009 02:14:52 +0000</pubDate>
		<dc:creator>FDS</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[FSO]]></category>
		<category><![CDATA[组件]]></category>

		<guid isPermaLink="false">http://blog.1xi.net/asp/fso-zujian-caozuo-3</guid>
		<description><![CDATA[一，fso.GetFile
提取文件相应的 File 对象
1，getfile.asp





&#60;%
whichfile=Server.MapPath(&#8220;cnbruce.txt&#8221;)
Set fso = CreateObject(&#8220;Scripting.FileSystemObject&#8221;)
Set f1 = fso.CreateTextFile(whichfile,true)
f1.Write (&#8220;This is a test.My Name is cnbruce.&#8221;)
f1.Close
Set f2 = fso.GetFile(whichfile)
 
s = &#8221;文件名称：&#8221; &#38; f2.name &#38; &#8221;&#60;br&#62;&#8221;
s = s &#38; &#8221;文件短路径名：&#8221; &#38; f2.shortPath &#38; &#8221;&#60;br&#62;&#8221;
s = s &#38; &#8221;文件物理地址：&#8221; &#38; f2.Path &#38; &#8221;&#60;br&#62;&#8221;
s = s &#38; &#8221;文件属性：&#8221; &#38; f2.Attributes &#38; &#8221;&#60;br&#62;&#8221;
s = s &#38; &#8221;文件大小： &#8221; &#38; f2.size &#38; &#8221;&#60;br&#62;&#8221;
s = s &#38; &#8221;文件类型： &#8221; &#38; f2.type &#38; &#8221;&#60;br&#62;&#8221;
s = s &#38; &#8221;文件创建时间： &#8221; &#38; f2.DateCreated &#38; &#8221;&#60;br&#62;&#8221;
s = s &#38; &#8221;最近访问时间: &#8221; &#38; f2.DateLastAccessed &#38; &#8221;&#60;br&#62;&#8221;
s = s &#38; &#8221;最近修改时间: &#8221; &#38; f2.DateLastModified
response.write(s)
%&#62;




其效果正如右键某文件，看到的具体属性信息。
其中Attributes返回的数值“32”表示：（Archive）上次备份后已更改的文件。可读写。
其它值附录如下：




 
Normal        0      普通文件。               没有设置任何属性。 
ReadOnly      1      只读文件。               可读写。 
Hidden        2      隐藏文件。               可读写。 
System        4      系统文件。               可读写。 
Directory     16     文件夹或目录。           只读。 
Archive       32     上次备份后已更改的文件。 可读写。 
Alias         1024   链接或快捷方式。         只读。 
Compressed    2048   压缩文件。               只读。 




二，file.move
作用将指定的文件或文件夹从某位置移动到另一位置。其实该方法仍然属于fso.GetFile后的一个应用。
2，movefile.asp





&#60;%
whichfile=Server.MapPath(&#8220;cnbruce.txt&#8221;)
Set fso = CreateObject(&#8220;Scripting.FileSystemObject&#8221;)
Set f1 = fso.CreateTextFile(whichfile,true)
f1.Write (&#8220;This is a test.My Name is cnbruce.&#8221;)
f1.Close
Set f2 = fso.GetFile(whichfile)
f2.Move &#8221;C:\&#8221;
%&#62;
&#60;a href=&#8221;C:\&#8221;&#62;查看下有没有&#60;/a&#62;




简单的剪切粘贴的功能实现。
三，File.Copy
同样属于fso.GetFile后的一个应用。就只是单纯地拷贝文件到某位置。
3，copyfile.asp





&#60;%
whichfile=Server.MapPath(&#8220;cnbruce.txt&#8221;)
Set fso = CreateObject(&#8220;Scripting.FileSystemObject&#8221;)
Set f1 = fso.CreateTextFile(whichfile,true)
f1.Write (&#8220;This is a test.My Name is cnbruce.&#8221;)
f1.Close
Set f2 = fso.GetFile(whichfile)
f2.Copy &#8221;D:\&#8221;
%&#62;
&#60;a href=&#8221;D:\&#8221;&#62;查看下有没有&#60;/a&#62;




和本ASP页面同在目录下的cnbruce.txt文件依然存在。
四，file.Delete
很显然，就是直接删除文件了。
4，delfile.asp





&#60;%
whichfile=Server.MapPath(&#8220;cnbruce.txt&#8221;)
Set fso = CreateObject(&#8220;Scripting.FileSystemObject&#8221;)
Set f1 = fso.CreateTextFile(whichfile,true)
f1.Write (&#8220;This is a test.My Name is cnbruce.&#8221;)
f1.Close
Set f2 = fso.GetFile(whichfile)
f2.move &#8221;d:\&#8221;
Set f3 = fso.GetFile(&#8220;d:\cnbruce.txt&#8221;)
f3.delete 
%&#62;
&#60;a href=&#8221;d:\&#8221;&#62;查看下是没有该文件的&#60;/a&#62;





]]></description>
			<content:encoded><![CDATA[<p><span id="ArticleContent1_ArticleContent1_lblContent"><span style="font-size: x-small;"><strong>一，fso.GetFile<br />
</strong>提取文件相应的 File 对象</p>
<p>1，getfile.asp</p>
<p></span></p>
<table border="0" cellspacing="1" width="100%" bgcolor="#cccccc">
<tbody>
<tr>
<td bgcolor="#efefef">
<span style="font-size: x-small;">&lt;%<br />
whichfile=Server.MapPath(&#8220;cnbruce.txt&#8221;)<br />
Set fso = CreateObject(&#8220;Scripting.FileSystemObject&#8221;)<br />
Set f1 = fso.CreateTextFile(whichfile,true)<br />
f1.Write (&#8220;This is a test.My Name is cnbruce.&#8221;)<br />
f1.Close<br />
Set f2 = fso.GetFile(whichfile)<br />
 <br />
s = &#8221;文件名称：&#8221; &amp; f2.name &amp; &#8221;&lt;br&gt;&#8221;<br />
s = s &amp; &#8221;文件短路径名：&#8221; &amp; f2.shortPath &amp; &#8221;&lt;br&gt;&#8221;<br />
s = s &amp; &#8221;文件物理地址：&#8221; &amp; f2.Path &amp; &#8221;&lt;br&gt;&#8221;<br />
s = s &amp; &#8221;文件属性：&#8221; &amp; f2.Attributes &amp; &#8221;&lt;br&gt;&#8221;<br />
s = s &amp; &#8221;文件大小： &#8221; &amp; f2.size &amp; &#8221;&lt;br&gt;&#8221;<br />
s = s &amp; &#8221;文件类型： &#8221; &amp; f2.type &amp; &#8221;&lt;br&gt;&#8221;<br />
s = s &amp; &#8221;文件创建时间： &#8221; &amp; f2.DateCreated &amp; &#8221;&lt;br&gt;&#8221;<br />
s = s &amp; &#8221;最近访问时间: &#8221; &amp; f2.DateLastAccessed &amp; &#8221;&lt;br&gt;&#8221;<br />
s = s &amp; &#8221;最近修改时间: &#8221; &amp; f2.DateLastModified<br />
response.write(s)<br />
%&gt;</p>
<p></span></td>
</tr>
</tbody>
</table>
<p><span style="font-size: x-small;">其效果正如右键某文件，看到的具体属性信息。<br />
其中Attributes返回的数值“32”表示：（Archive）上次备份后已更改的文件。可读写。</p>
<p>其它值附录如下：</p>
<p></span></p>
<table border="0" cellspacing="1" width="100%" bgcolor="#cccccc">
<tbody>
<tr>
<td bgcolor="#efefef"><span style="font-size: x-small;"> <br />
Normal        0      普通文件。               没有设置任何属性。 <br />
ReadOnly      1      只读文件。               可读写。 <br />
Hidden        2      隐藏文件。               可读写。 <br />
System        4      系统文件。               可读写。 <br />
Directory     16     文件夹或目录。           只读。 <br />
Archive       32     上次备份后已更改的文件。 可读写。 <br />
Alias         1024   链接或快捷方式。         只读。 <br />
Compressed    2048   压缩文件。               只读。 </p>
<p></span></td>
</tr>
</tbody>
</table>
<p><span style="font-size: x-small;"><strong>二，file.move</strong><br />
作用将指定的文件或文件夹从某位置移动到另一位置。其实该方法仍然属于fso.GetFile后的一个应用。</p>
<p>2，movefile.asp</p>
<p></span></p>
<table border="0" cellspacing="1" width="100%" bgcolor="#cccccc">
<tbody>
<tr>
<td bgcolor="#efefef">
<span style="font-size: x-small;">&lt;%<br />
whichfile=Server.MapPath(&#8220;cnbruce.txt&#8221;)<br />
Set fso = CreateObject(&#8220;Scripting.FileSystemObject&#8221;)<br />
Set f1 = fso.CreateTextFile(whichfile,true)<br />
f1.Write (&#8220;This is a test.My Name is cnbruce.&#8221;)<br />
f1.Close<br />
Set f2 = fso.GetFile(whichfile)<br />
f2.Move &#8221;C:\&#8221;<br />
%&gt;<br />
&lt;a href=&#8221;C:\&#8221;&gt;查看下有没有&lt;/a&gt;</p>
<p></span></td>
</tr>
</tbody>
</table>
<p><span style="font-size: x-small;">简单的剪切粘贴的功能实现。</p>
<p><strong>三，File.Copy</strong><br />
同样属于fso.GetFile后的一个应用。就只是单纯地拷贝文件到某位置。</p>
<p>3，copyfile.asp</p>
<p></span></p>
<table border="0" cellspacing="1" width="100%" bgcolor="#cccccc">
<tbody>
<tr>
<td bgcolor="#efefef">
<span style="font-size: x-small;">&lt;%<br />
whichfile=Server.MapPath(&#8220;cnbruce.txt&#8221;)<br />
Set fso = CreateObject(&#8220;Scripting.FileSystemObject&#8221;)<br />
Set f1 = fso.CreateTextFile(whichfile,true)<br />
f1.Write (&#8220;This is a test.My Name is cnbruce.&#8221;)<br />
f1.Close<br />
Set f2 = fso.GetFile(whichfile)<br />
f2.Copy &#8221;D:\&#8221;<br />
%&gt;<br />
&lt;a href=&#8221;D:\&#8221;&gt;查看下有没有&lt;/a&gt;</p>
<p></span></td>
</tr>
</tbody>
</table>
<p><span style="font-size: x-small;">和本ASP页面同在目录下的cnbruce.txt文件依然存在。</p>
<p><strong>四，file.Delete</strong><br />
很显然，就是直接删除文件了。</p>
<p>4，delfile.asp</p>
<p></span></p>
<table border="0" cellspacing="1" width="100%" bgcolor="#cccccc">
<tbody>
<tr>
<td bgcolor="#efefef">
<span style="font-size: x-small;">&lt;%<br />
whichfile=Server.MapPath(&#8220;cnbruce.txt&#8221;)<br />
Set fso = CreateObject(&#8220;Scripting.FileSystemObject&#8221;)<br />
Set f1 = fso.CreateTextFile(whichfile,true)<br />
f1.Write (&#8220;This is a test.My Name is cnbruce.&#8221;)<br />
f1.Close<br />
Set f2 = fso.GetFile(whichfile)<br />
f2.move &#8221;d:\&#8221;<br />
Set f3 = fso.GetFile(&#8220;d:\cnbruce.txt&#8221;)<br />
f3.delete <br />
%&gt;<br />
&lt;a href=&#8221;d:\&#8221;&gt;查看下是没有该文件的&lt;/a&gt;<br />
</span></td>
</tr>
</tbody>
</table>
<p></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.1xi.net/asp/fso-zujian-caozuo-3/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用FSO组件对文件操作（二）</title>
		<link>http://blog.1xi.net/asp/fso-zujian-caozuo-2</link>
		<comments>http://blog.1xi.net/asp/fso-zujian-caozuo-2#comments</comments>
		<pubDate>Fri, 20 Feb 2009 02:13:37 +0000</pubDate>
		<dc:creator>FDS</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[FSO]]></category>
		<category><![CDATA[组件]]></category>

		<guid isPermaLink="false">http://blog.1xi.net/asp/fso-zujian-caozuo-2</guid>
		<description><![CDATA[学会了FSO提取文件值，也学会了将信息输入到文件中，那下面就再来应用应用下。
不知道你有没有这样的习惯：看到一个文件，不自觉的右键选择用记事本打开。呵呵，几乎没有哪个文件是不可以的。所以现在，可以默认所有文件都是文本，只是后缀名不同而已；那么也就是说，现在可以提取任一文件的内容信息。OK，就来想象一下：
1，提取一个文件的路径（采用file按钮进行查找定位）
2，将该路径文件打开，并读取所有行
3，显示读取的信息
一、viewcode.asp




&#60;%
Function ShowCode(filename) 
    Set fso = Server.CreateObject(&#8220;Scripting.FileSystemObject&#8221;)
    Set cnrs = fso.OpenTextFile(filename, 1)
    While Not cnrs.AtEndOfStream
        rsline = cnrs.ReadLine
        rsline = server.HTMLEncode(rsline)
        Response.Write(rsline &#38; &#8221;&#60;br&#62;&#8221;)
    Wend
end Function
%&#62;
&#60;form action=&#8221;viewcode.asp&#8221; method=&#8221;post&#8221;&#62;
输入文件名&#60;input type=&#8221;file&#8221; name=&#8221;filename&#8221;&#62;
&#60;input type=&#8221;submit&#8221; value=&#8221;查看源程序&#8221;&#62;
&#60;/form&#62;
&#60;%
file=request.form(&#8220;filename&#8221;)
response.write (file &#38; &#8221;源程序如下&#60;hr&#62;&#8221;)
If trim(file)&#60;&#62; &#8221;" then
  Call ShowCode(file)
End If
%&#62;




以上程序调试时，可以选择html，asp页面，也可以打开任一应用程序等。
定义的ShowCode函数，主要作用是打开、读取并显示文件中所有信息内容。注意添加了server.HTMLEncode(rsline)，针对含有标准HTML代码的文件。
显示文件中所有行即用一条件循环进行遍历显示了。
While Not cnrs.AtEndOfStream
&#8230;
Wend
接着，下面的这个例题具体就涉及open方法的问题了，还记得？正常情况之下打开文件是采用fso.OpenTextFile(&#8220;c:\testfile.txt&#8221;,1)，参数1的作用是：以只读模式打开文件。不能对此文件进行写操作。如果现在已经存在一文件，需要进行追加写入，则该怎么办呢？简单，参数为8即可。
PS：这里还有一种读取的方法。





&#60;%
whichfile=server.mappath(&#8220;test.txt&#8221;)
Set fso = CreateObject(&#8220;Scripting.FileSystemObject&#8221;)
Set txt = fso.OpenTextFile(whichfile,1)
rline = txt.ReadAll
rline=replace(Server.HtmlEncode(rline),Chr(13),&#8221;&#60;br&#62;&#8221;)
Response.Write rline
txt.Close
%&#62;




这有什么用呢？呵呵，亚玛逊的网络故事接龙就是如此：能接龙就需要首先要显示原有故事，然后自己添加故事写入文件。这其中的写入文件最讲究的就是追加写入了。所以下面就可以实现。
二、story.asp





&#60;%
If not request.Form(&#8220;NextLine&#8221;)=&#8221;" then
  Set fso=Server.CreateObject(&#8220;Scripting.FileSystemobject&#8221;)
  textfile1=Server.MapPath(&#8220;story.txt&#8221;)
  set cnrs=fso.OpenTextFile(textfile1,8)
  cnrs.WriteLine(Request.Form(&#8220;NextLine&#8221;))
  cnrs.Close
end if
%&#62;
故事如下：
&#60;%
Set fso=Server.CreateObject(&#8220;Scripting.FileSystemObject&#8221;)
textfile1=Server.MapPath(&#8220;story.txt&#8221;)
set cnrs=fso.OpenTextFile(textfile1,1)
while not cnrs.AtEndOfStream
  Response.Write &#8221;&#38;nbsp;&#8221; &#38; cnrs.ReadLine
wend
cnrs.close
%&#62;
&#60;hr&#62;
&#60;form method=&#8221;post&#8221; action=&#8221;story.asp&#8221;&#62;
请输入这个故事的新行:&#60;input name=&#8221;NextLine&#8221; type=&#8221;text&#8221; size=&#8221;70&#8243;&#62;
&#60;input type=&#8221;submit&#8221; value=&#8221;提交&#8221;&#62;
&#60;/form&#62;




整个就是一很简单的读取信息和加入信息的混合利用，相信有了前面的基础看懂应该不成问题。当然还缺少个story.txt文件，里面写好故事开头就可以了。

再下面，继续来，该侧重点主要就是练习一些函数的使用技巧了。
1，instr函数：返回某字符串在另一字符串中第一次出现的位置。
比如现在查找字母“A”在字符串“A110B121C119D1861”中第一次出现的位置，则可以
&#60;script language=vbs&#62;my_string = &#8220;A110B121C119D1861&#8243;a_num = instr(my_string,&#8221;A&#8221;)alert(a_num)&#60;/script&#62;
 [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]
同样字母“B”的位置也就能确定。现在就来最关键的：提前字母“A”和“B”中间的值“110”。
还记得mid函数吗？mid函数的主要作用是：从字符串中返回指定数目的字符。
比如现在的“110”则应该是从字符串的第2位取得3个单位的值。
&#60;script language=vbs&#62;my_string = &#8220;A110B121C119D1861&#8243;a_value = mid(my_string,2,3)alert(a_value)&#60;/script&#62;
 [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]
但设想一下：如果不是“110”，而是“1100”，那是不是要提取4位……这样就显出程序的不够完美。
所以继续思考：所提取的值，永远是在字母“A”后面的，且值也永远是在字母“A”和“B”之间的，那么只要分别提取出“A”、“B”的位置，则中间数值的起始位应是字母“A”位+1，中间数值的长度应是字母“B”位-字母“A”位-1
那么现在就可以让程序完美起来：
&#60;script language=vbs&#62;my_string = &#8220;A110B121C119D1861&#8243;a_num = instr(my_string,&#8221;A&#8221;)b_num = instr(my_string,&#8221;B&#8221;)a_value = mid(my_string,a_num+1,b_num-a_num-1)alert(a_value)&#60;/script&#62;
 [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]
OK，那么现在你也就完全可以把字母“B”、“C”、“D”后面的值一一提取了。
当然需要注意的就是“D”后面有几位怎么取呢？采用字符串总长度-字母D所在位置数就可以了。
&#60;script language=vbs&#62;my_string = &#8220;A110B121C119D1861&#8243;a_num = instr(my_string,&#8221;A&#8221;)b_num = instr(my_string,&#8221;B&#8221;)c_num = instr(my_string,&#8221;C&#8221;)d_num = instr(my_string,&#8221;D&#8221;)total_num = len(my_string)a_value = mid(my_string,a_num+1,b_num-a_num-1)b_value = mid(my_string,b_num+1,c_num-b_num-1)c_value = mid(my_string,c_num+1,d_num-c_num-1)d_value = mid(my_string,d_num+1,total_num-d_num)alert(a_value)alert(b_value)alert(c_value)alert(d_value)&#60;/script&#62;
 [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]
用到现在，你也许确实学到了不少，但也许会提出疑问：这个放在FSO文件操作里有什么作用呢？
那下面才是我们的正题：用FSO进行简单的文本投票。
投票页面首要的就是显示各类项目的投票数，并相应赋于某个变量。然后判断本次投票的选相，相对应地将投票数值加1，完毕后再将所有值继续写入文本。
1，一个HTML表单页website.html
以做投票点击的平台。
&#60;form action=&#8221;result.asp&#8221; method=&#8221;post&#8221;&#62;&#60;input [...]]]></description>
			<content:encoded><![CDATA[<p><span id="ArticleContent1_ArticleContent1_lblContent"><span style="font-size: x-small;">学会了FSO提取文件值，也学会了将信息输入到文件中，那下面就再来应用应用下。</p>
<p>不知道你有没有这样的习惯：看到一个文件，不自觉的右键选择用记事本打开。呵呵，几乎没有哪个文件是不可以的。所以现在，可以默认所有文件都是文本，只是后缀名不同而已；那么也就是说，现在可以提取任一文件的内容信息。OK，就来想象一下：</p>
<p>1，提取一个文件的路径（采用file按钮进行查找定位）<br />
2，将该路径文件打开，并读取所有行<br />
3，显示读取的信息</p>
<p><strong>一、viewcode.asp</strong></p>
<p></span></p>
<table border="0" cellspacing="1" width="100%" bgcolor="#cccccc">
<tbody>
<tr>
<td bgcolor="#efefef"><span style="font-size: x-small;">&lt;%<br />
Function ShowCode(filename) <br />
    Set fso = Server.CreateObject(&#8220;Scripting.FileSystemObject&#8221;)<br />
    Set cnrs = fso.OpenTextFile(filename, 1)<br />
    While Not cnrs.AtEndOfStream<br />
        rsline = cnrs.ReadLine<br />
        rsline = server.HTMLEncode(rsline)<br />
        Response.Write(rsline &amp; &#8221;&lt;br&gt;&#8221;)<br />
    Wend<br />
end Function<br />
%&gt;</p>
<p>&lt;form action=&#8221;viewcode.asp&#8221; method=&#8221;post&#8221;&gt;<br />
输入文件名&lt;input type=&#8221;file&#8221; name=&#8221;filename&#8221;&gt;<br />
&lt;input type=&#8221;submit&#8221; value=&#8221;查看源程序&#8221;&gt;<br />
&lt;/form&gt;</p>
<p>&lt;%<br />
file=request.form(&#8220;filename&#8221;)<br />
response.write (file &amp; &#8221;源程序如下&lt;hr&gt;&#8221;)<br />
If trim(file)&lt;&gt; &#8221;" then<br />
  Call ShowCode(file)<br />
End If<br />
%&gt;<br />
</span></td>
</tr>
</tbody>
</table>
<p><span style="font-size: x-small;">以上程序调试时，可以选择html，asp页面，也可以打开任一应用程序等。</p>
<p>定义的ShowCode函数，主要作用是打开、读取并显示文件中所有信息内容。注意添加了server.HTMLEncode(rsline)，针对含有标准HTML代码的文件。</p>
<p>显示文件中所有行即用一条件循环进行遍历显示了。<br />
While Not cnrs.AtEndOfStream<br />
&#8230;<br />
Wend</p>
<p>接着，下面的这个例题具体就涉及open方法的问题了，还记得？正常情况之下打开文件是采用fso.OpenTextFile(&#8220;c:\testfile.txt&#8221;,1)，参数1的作用是：以只读模式打开文件。不能对此文件进行写操作。如果现在已经存在一文件，需要进行追加写入，则该怎么办呢？简单，参数为8即可。</p>
<p>PS：这里还有一种读取的方法。</p>
<p></span></p>
<table border="0" cellspacing="1" width="100%" bgcolor="#cccccc">
<tbody>
<tr>
<td bgcolor="#efefef">
<span style="font-size: x-small;">&lt;%<br />
whichfile=server.mappath(&#8220;test.txt&#8221;)<br />
Set fso = CreateObject(&#8220;Scripting.FileSystemObject&#8221;)<br />
Set txt = fso.OpenTextFile(whichfile,1)<br />
rline = txt.ReadAll<br />
rline=replace(Server.HtmlEncode(rline),Chr(13),&#8221;&lt;br&gt;&#8221;)<br />
Response.Write rline<br />
txt.Close<br />
%&gt;</p>
<p></span></td>
</tr>
</tbody>
</table>
<p><span style="font-size: x-small;">这有什么用呢？呵呵，亚玛逊的网络故事接龙就是如此：能接龙就需要首先要显示原有故事，然后自己添加故事写入文件。这其中的写入文件最讲究的就是追加写入了。所以下面就可以实现。</p>
<p><strong>二、story.asp</strong></p>
<p></span></p>
<table border="0" cellspacing="1" width="100%" bgcolor="#cccccc">
<tbody>
<tr>
<td bgcolor="#efefef">
<span style="font-size: x-small;">&lt;%<br />
If not request.Form(&#8220;NextLine&#8221;)=&#8221;" then<br />
  Set fso=Server.CreateObject(&#8220;Scripting.FileSystemobject&#8221;)<br />
  textfile1=Server.MapPath(&#8220;story.txt&#8221;)<br />
  set cnrs=fso.OpenTextFile(textfile1,8)<br />
  cnrs.WriteLine(Request.Form(&#8220;NextLine&#8221;))<br />
  cnrs.Close<br />
end if<br />
%&gt;<br />
故事如下：<br />
&lt;%<br />
Set fso=Server.CreateObject(&#8220;Scripting.FileSystemObject&#8221;)<br />
textfile1=Server.MapPath(&#8220;story.txt&#8221;)<br />
set cnrs=fso.OpenTextFile(textfile1,1)<br />
while not cnrs.AtEndOfStream<br />
  Response.Write &#8221;&amp;nbsp;&#8221; &amp; cnrs.ReadLine<br />
wend<br />
cnrs.close<br />
%&gt;<br />
&lt;hr&gt;<br />
&lt;form method=&#8221;post&#8221; action=&#8221;story.asp&#8221;&gt;<br />
请输入这个故事的新行:&lt;input name=&#8221;NextLine&#8221; type=&#8221;text&#8221; size=&#8221;70&#8243;&gt;<br />
&lt;input type=&#8221;submit&#8221; value=&#8221;提交&#8221;&gt;<br />
&lt;/form&gt;</p>
<p></span></td>
</tr>
</tbody>
</table>
<p><span style="font-size: x-small;">整个就是一很简单的读取信息和加入信息的混合利用，相信有了前面的基础看懂应该不成问题。当然还缺少个story.txt文件，里面写好故事开头就可以了。</p>
<p></span><span style="font-size: x-small;"><br />
再下面，继续来，该侧重点主要就是练习一些函数的使用技巧了。</p>
<p>1，instr函数：返回某字符串在另一字符串中第一次出现的位置。<br />
比如现在查找字母“A”在字符串“A110B121C119D1861”中第一次出现的位置，则可以<br />
</span><textarea id="temp76682" class="bk" style="width: 90%;" cols="20" rows="12">&lt;script language=vbs&gt;my_string = &#8220;A110B121C119D1861&#8243;a_num = instr(my_string,&#8221;A&#8221;)alert(a_num)&lt;/script&gt;</textarea><br />
<input onclick="runEx('temp76682')" size="20" type="button" value="运行代码" /><span style="font-size: x-small;"> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</p>
<p>同样字母“B”的位置也就能确定。现在就来最关键的：提前字母“A”和“B”中间的值“110”。<br />
还记得mid函数吗？mid函数的主要作用是：从字符串中返回指定数目的字符。<br />
比如现在的“110”则应该是从字符串的第2位取得3个单位的值。<br />
</span><textarea id="temp68396" class="bk" style="width: 90%;" cols="20" rows="12">&lt;script language=vbs&gt;my_string = &#8220;A110B121C119D1861&#8243;a_value = mid(my_string,2,3)alert(a_value)&lt;/script&gt;</textarea><br />
<input onclick="runEx('temp68396')" size="20" type="button" value="运行代码" /><span style="font-size: x-small;"> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</p>
<p>但设想一下：如果不是“110”，而是“1100”，那是不是要提取4位……这样就显出程序的不够完美。<br />
所以继续思考：所提取的值，永远是在字母“A”后面的，且值也永远是在字母“A”和“B”之间的，那么只要分别提取出“A”、“B”的位置，则中间数值的起始位应是<strong>字母“A”位+1</strong>，中间数值的长度应是<strong>字母“B”位-字母“A”位-1</strong><br />
那么现在就可以让程序完美起来：</p>
<p></span><textarea id="temp46370" class="bk" style="width: 90%;" cols="20" rows="12">&lt;script language=vbs&gt;my_string = &#8220;A110B121C119D1861&#8243;a_num = instr(my_string,&#8221;A&#8221;)b_num = instr(my_string,&#8221;B&#8221;)a_value = mid(my_string,a_num+1,b_num-a_num-1)alert(a_value)&lt;/script&gt;</textarea><br />
<input onclick="runEx('temp46370')" size="20" type="button" value="运行代码" /><span style="font-size: x-small;"> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</p>
<p>OK，那么现在你也就完全可以把字母“B”、“C”、“D”后面的值一一提取了。<br />
当然需要注意的就是“D”后面有几位怎么取呢？采用<strong>字符串总长度-字母D所在位置数</strong>就可以了。</p>
<p></span><textarea id="temp85891" class="bk" style="width: 90%;" cols="20" rows="12">&lt;script language=vbs&gt;my_string = &#8220;A110B121C119D1861&#8243;a_num = instr(my_string,&#8221;A&#8221;)b_num = instr(my_string,&#8221;B&#8221;)c_num = instr(my_string,&#8221;C&#8221;)d_num = instr(my_string,&#8221;D&#8221;)total_num = len(my_string)a_value = mid(my_string,a_num+1,b_num-a_num-1)b_value = mid(my_string,b_num+1,c_num-b_num-1)c_value = mid(my_string,c_num+1,d_num-c_num-1)d_value = mid(my_string,d_num+1,total_num-d_num)alert(a_value)alert(b_value)alert(c_value)alert(d_value)&lt;/script&gt;</textarea><br />
<input onclick="runEx('temp85891')" size="20" type="button" value="运行代码" /><span style="font-size: x-small;"> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</p>
<p>用到现在，你也许确实学到了不少，但也许会提出疑问：这个放在FSO文件操作里有什么作用呢？<br />
那下面才是我们的正题：用FSO进行简单的文本投票。</p>
<p>投票页面首要的就是显示各类项目的投票数，并相应赋于某个变量。然后判断本次投票的选相，相对应地将投票数值加1，完毕后再将所有值继续写入文本。</p>
<p><strong>1，一个HTML表单页website.html</strong><br />
以做投票点击的平台。<br />
</span><textarea id="temp67328" class="bk" style="width: 90%;" cols="20" rows="12">&lt;form action=&#8221;result.asp&#8221; method=&#8221;post&#8221;&gt;&lt;input type=&#8221;radio&#8221; name=&#8221;website&#8221; value=&#8221;A&#8221; checked&gt; cnbruce.com&lt;br&gt;&lt;input type=&#8221;radio&#8221; name=&#8221;website&#8221; value=&#8221;B&#8221;&gt; blueidea.com&lt;br&gt;&lt;input type=&#8221;radio&#8221; name=&#8221;website&#8221; value=&#8221;C&#8221;&gt; it365cn.com&lt;br&gt;&lt;input type=&#8221;radio&#8221; name=&#8221;website&#8221; value=&#8221;D&#8221;&gt; 5d.cn&lt;br&gt;&lt;input type=&#8221;submit&#8221;&gt;&lt;input type=&#8221;reset&#8221;&gt;</textarea><br />
<input onclick="runEx('temp67328')" size="20" type="button" value="运行代码" /><span style="font-size: x-small;"> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</p>
<p><strong>2，接受表单页值的result.asp</strong></p>
<p></span></p>
<table border="0" cellspacing="1" width="100%" bgcolor="#cccccc">
<tbody>
<tr>
<td bgcolor="#efefef">
<span style="font-size: x-small;">&lt;%<br />
whichfile=server.mappath(&#8220;site.txt&#8221;)<br />
set fso=createobject(&#8220;Scripting.FileSystemObject&#8221;)<br />
set thisfile=fso.opentextfile(whichfile)<br />
my_string=thisfile.readline</p>
<p>a_num = instr(my_string,&#8221;A&#8221;)<br />
b_num = instr(my_string,&#8221;B&#8221;)<br />
c_num = instr(my_string,&#8221;C&#8221;)<br />
d_num = instr(my_string,&#8221;D&#8221;)<br />
total_num = len(my_string)</p>
<p>a_value = mid(my_string,a_num+1,b_num-a_num-1)<br />
b_value = mid(my_string,b_num+1,c_num-b_num-1)<br />
c_value = mid(my_string,c_num+1,d_num-c_num-1)<br />
d_value = mid(my_string,d_num+1,total_num-d_num)</p>
<p>select case request.form(&#8220;website&#8221;)<br />
    case &#8221;A&#8221;: avalue=a_value+1<br />
    case &#8221;B&#8221;: bvalue=b_value+1<br />
    case &#8221;C&#8221;: cvalue=c_value+1<br />
    case &#8221;D&#8221;: dvalue=d_value+1<br />
end select</p>
<p>mynew_string=&#8221;A&#8221; &amp; cstr(a_value) &amp; &#8221;B&#8221; &amp; cstr(b_value) &amp; &#8221;C&#8221; &amp; cstr(c_value) &amp; &#8221;D&#8221; &amp; cstr(d_value)<br />
set newfile=fso.createtextfile(whichfile)<br />
newfile.writeLine(mynew_string)<br />
newfile.close<br />
set fso=nothing<br />
%&gt;<br />
当前投票：&lt;br&gt;<br />
cnbruce.com:&lt;%=a_value%&gt;&lt;br&gt;<br />
blueidea.com:&lt;%=b_value%&gt;&lt;br&gt;<br />
it356cn.com:&lt;%=c_value%&gt;&lt;br&gt;<br />
5d.cn:&lt;%=d_value%&gt;&lt;br&gt;<br />
&lt;a href=&#8221;website.html&#8221;&gt;返回继续&lt;/a&gt;</p>
<p></span></td>
</tr>
</tbody>
</table>
<p><span style="font-size: x-small;">有了上面函数的基础，看这个应该不是很难的</p>
<p><strong>3，最后不要忘了的记数文件site.txt</strong><br />
</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.1xi.net/asp/fso-zujian-caozuo-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
