加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

在ASP处置程序时显示进程

发布时间:2023-09-12 14:29:35 所属栏目:Asp教程 来源:
导读:用过软件的朋友都知道,进度条是一个优秀软件的重要组成部分。

它的存在能够使用户及时掌握程序的运行进度,确认应用程序正常工作。可是ASP中似乎没有上述标准控件,控制起来也比较麻烦。

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

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章