好源码站-站长学院 - 首页

| 网络编程 | 数据库类 | 网页设计 | 服务器类 | 网站推广 |

搜索:

收藏本站|| 广告服务 |

您的位置:好源码站-站长学院-> 网络编程-> ASP教程-> 在ASP处理程序时,进度显示

ASP教程

ASP教程
PHP教程
.Net教程
JSP教程
XML教程
CGI教程

本类阅读TOP10

·动网论坛超级安装指南,新新人类请进来看看
·ASP应用之模板采用
·如何使用ASP建立虚拟的FTP服务器
·使用ASP+jmail进行邮件群发
·用ASP程序组建基于WWW的聊天室
·利用ASP打造个性化论坛(上)
·asp学习注意
·一个asp和javascript传参数的列子
·ASP错误代码
·ASP教程:第十九篇 最新的ASP、IIS安全漏洞

广告
在ASP处理程序时,进度显示

作者:未知 来源:未知 加入时间:2007-6-9 www.haocodes.com

用过软件的朋友都知道,进度条是一个优秀软件的重要组成部分。
它的存在能够使用户及时掌握程序的运行进度,确认应用程序正常工作。可是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  file://显示画面100张img
  dim dtemp  file://过渡变量
  total=100
  dtemp=dstep
   dstep=dstep+lostnum
  if (dstep*total)/dmax《1 then  
file://判断当要处理的东西连1%都没有时,不画img同时用变量lostnum存放未画的处理总数,便于下次调用本过程时在处理。
    lostnum=lostnum+dtemp
  else
    for ccc=1 to  fix((dstep*total)/dmax)  file://取整数
      Response.Write ""      
    next
    Response.Flush file://将缓存里的东西(图片)显示出来
file://变量shownum用于存放目前已经画的img
    shownum=shownum+fix((dstep*total)/dmax)  
    lostnum=0
  end if
end sub
file://由于算法的问题,主要是取余造成不能完全画100次,这时就需要
过程showlost()将余下未画的img,通通显示处理,实现进度条的等长
sub showlost()
  for ccc=1 to (100-shownum)
   Response.Write ("")      
  next
  Response.Write "
"  
  Response.Flush
end sub

最后请注意
这里需要用到缓存技术
response.buffer=true;
response.flush;
response.end
这些请参考MSDN帮助



相关文章


关于本站服务条款广告服务客服中心发布文章

客服QQ:6508128
好源码站-版权所有 ICP备05000822号 www.haocodes.com