ソフトウェアを使用した友人は、進行状況バーが優れたソフトウェアの重要な部分であることを知っています。
その存在により、ユーザーはプログラムの実行進行をタイムリーに把握し、アプリケーションが正常に機能していることを確認できます。ただし、ASPには上記の標準的なコントロールはないようであるため、制御することも面倒です。
では、進行状況バーを実装する方法は?
以下は私の見解のいくつかです(参照のみ)
ASP処理プログラムを使用する場合(ファイルの書き込みまたは操作データベースを参照)、ページ(*.ASP)を使用してこれらのプログラムを処理または制御し、処理が完了したら表示ページにジャンプします。この時点で、これらの処理ページを通じて進行状況バーを表示できます。この方法は、プログラム処理の進捗状況に従って、100個の同一の数字(色付きの長方形など)を順番に描画し、それにより進行状態のバーを形成することです。その効果は基本的に他のプログラミングツールで達成されたものと似ています
ここにいくつかの情報源があります、私は彼らがあなたを刺激することができることを願っています。
Response.buffer = true
dimlostnum
dimshownum
DELAYSHOW(DSTEP、DMAX)プロセスを使用して、IMGの量(進捗状況)を表示する
ここで、DMAXは、プログラム全体がプロセス全体を完了するために処理する必要がある(DMAX)の数(DMAX)を表します。
DSTEPは、プロセス全体のコンポーネントを占める現在のプロセスステップを表し、量で表現されます。
変数のlostNumの存在は、DMAXが大きすぎる(10000など)、DSTEPが小さすぎる(1など)が原因です。 Delayshow(1,10000)を呼び出すと、IMGを1回描画することは不可能です。
DELAYSHOW(100,10000)は1回しか描画されておらず、10000の1%が100を占めるため、1%が完了したことを示しています。
subdelayshow(dstep、dmax)
dimtotal // 100 imgを表示します
dimdtemp //トランジション変数
合計= 100
DTEMP = DSTEP
dstep = dstep+lostnum
if(dstep*合計)/dmax <1then
//処理されるものに処理するものの1%がない場合、IMGを描画しないで、変数のlostNumを使用して無題の処理の総数を保存しないため、次にこのプロセスが呼び出されます。
lostnum = lostnum+dtemp
それ以外
forccc = 1tofix((dstep*合計)/dmax)//整数を取得します
Response.Write "<imgsrc =" "../ images/delay1.jpg" ">"
次
Response.Flush //キャッシュに物(写真)を表示します
//描かれた変数を使用して、描画されたIMGを保存します。
shownum = shownum+fix((dstep*合計)/dmax)
lostnum = 0
endif
Endingub
//アルゴリズムの問題のため、主な理由は、残りの量を100回完全に描画できないため、必要です
プロセスshowlost()は、残りのすべての不動のIMGを表示して、進行状況バーの等しい長さを実現します
subshowlost()
forccc = 1to(100-shownum)
respons.write( "<imgsrc =" "../ images/delay1.jpg" ">")
次
Response.Write "<br>"
Response.Flush
Endingub
最後に注意してください
ここではキャッシュテクノロジーが必要です
Response.buffer = true;
Response.Flush;
Response.End
これらについては、MSDNヘルプを参照してください