⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0079.htm

📁 asp教程宝典``还不错
💻 HTM
字号:
<html>

<head>
<title>新时代软件教程:操作系统 主页制作 服务器 设计软件 网络技术 编程语言 文字编辑</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
body, table {font-size: 9pt; font-family: 宋体}
a {text-decoration:none}
a:hover {color: red;text-decoration:underline}
.1  {background-color: rgb(245,245,245)}
-->
</style>
</head>
<p align="center"><script src="../../1.js"></script></a>
    <p align="center"><big><strong>在ASP处理程序时,进度显示</strong></big></p>

<div align="right">---摘自《ChinaASP网络》(文/bacteria)</div>
<p><span class=smallFont>
用过软件的朋友都知道,进度条是一个优秀软件的重要组成部分。<br>
它的存在能够使用户及时掌握程序的运行进度,确认应用程序正常工作。可是ASP中似乎没有上述标准控件,控制起来也比较麻烦。<br>
那幺如何实现进度条呢?<br>
以下是本人的一些观点(仅供参考)<br>
&nbsp;&nbsp;我们通常在用ASP处理程序(指的是写文件或操作数据库)的时候,会专门用一个页面(*.asp)去处理或控制这些程序,当处理完毕的时候再跳转到显示页面。这时我们就可以通过这些处理页面显示进度条。其方法是根据程序处理的进度依次画一百张同样的图形(如有颜色的矩形),从而形成进度条。其效果与用其它编程工具所实现的基本相似<br>
以下是一些Source,希望能够给各位有个启发。<br>
response.buffer=true<br>
 dim lostnum<br>
 dim shownum<br>
delayshow(dstep,dmax)过程是用于显示多少img(画多少进度)<br>
其中dmax为表示整个程序需要处理多少(dmax)步才能完成整个处理程序.<br>
其中dstep表示当前处理的步骤占整个处理过程中的分量,用数量表示。<br>
变量lostnum的存在是由于dmax过大(比如10000),而dstep过小(比如1)造成的。如果调用delayshow(1,10000)势必不可能画一次img,事实上<br>
delayshow(100,10000)才画一次,表示完成1%,因为100占10000的1%.<br>
sub delayshow(dstep,dmax)<br>
&nbsp;&nbsp;dim total&nbsp;&nbsp;//显示画面100张img<br>
&nbsp;&nbsp;dim dtemp&nbsp;&nbsp;//过渡变量<br>
&nbsp;&nbsp;total=100<br>
&nbsp;&nbsp;dtemp=dstep<br>
&nbsp;&nbsp;&nbsp;dstep=dstep+lostnum<br>
&nbsp;&nbsp;if (dstep*total)/dmax&lt;1 then&nbsp;&nbsp;<br>
//判断当要处理的东西连1%都没有时,不画img同时用变量lostnum存放未画的处理总数,便于下次调用本过程时在处理。<br>
&nbsp;&nbsp;&nbsp;&nbsp;lostnum=lostnum+dtemp<br>
&nbsp;&nbsp;else<br>
&nbsp;&nbsp;&nbsp;&nbsp;for ccc=1 to&nbsp;&nbsp;fix((dstep*total)/dmax)&nbsp;&nbsp;//取整数<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Write &quot;&lt;img src=&quot;&quot;../images/delay1.jpg&quot;&quot;&gt;&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;next<br>
&nbsp;&nbsp;&nbsp;&nbsp;Response.Flush //将缓存里的东西(图片)显示出来<br>
//变量shownum用于存放目前已经画的img<br>
&nbsp;&nbsp;&nbsp;&nbsp;shownum=shownum+fix((dstep*total)/dmax)&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;lostnum=0<br>
&nbsp;&nbsp;end if<br>
end sub<br>
//由于算法的问题,主要是取余造成不能完全画100次,这时就需要<br>
过程showlost()将余下未画的img,通通显示处理,实现进度条的等长<br>
sub showlost()<br>
&nbsp;&nbsp;for ccc=1 to (100-shownum)<br>
&nbsp;&nbsp;&nbsp;Response.Write (&quot;&lt;img src=&quot;&quot;../images/delay1.jpg&quot;&quot;&gt;&quot;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;next<br>
&nbsp;&nbsp;Response.Write &quot;&lt;BR&gt;&quot;&nbsp;&nbsp;<br>
&nbsp;&nbsp;Response.Flush <br>
end sub <br>
<br>
最后请注意<br>
这里需要用到缓存技术<br>
response.buffer=true;<br>
response.flush;<br>
response.end<br>
这些请参考MSDN帮助<br>
有任何问题或建议可以mail给我 bacteria@china.com 谢谢<br>

  </table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -