您现在的位置是:首页 >

完成序时进度 在ASP处理程序时,进度显示

火烧 2022-01-29 15:52:17 1054
在ASP处理程序时,进度显示 用过软件的朋友都知道 进度条是一个优秀软件的重要组成部分    它的存在能够使用户及时掌握程序的运行进度 确认应用程序正常工作 可是ASP中似乎没有上述标准控件 控制起来

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

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

    • 微信收款码
    • 支付宝收款码