<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      在ASP處理程序時,進度顯示

      [摘要]用過軟件的朋友都知道,進度條是一個優秀軟件的重要組成部分。它的存在能夠使用戶及時掌握程序的運行進度,確認應用程序正常工作?墒茿SP中似乎沒有上述標準控件,控制起來也比較麻煩。那幺如何實現進度條呢?以下是本人的一些觀點(僅供參考) 我們通常在用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  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幫助(出處:Viphot)


      日韩精品一区二区三区高清