Freunde, die die Software verwendet haben, wissen, dass die Fortschrittsleiste ein wichtiger Bestandteil einer hervorragenden Software ist.
Seine Existenz ermöglicht es Benutzern, den Auslauffortschritt des Programms rechtzeitig zu erfassen und zu bestätigen, dass die Anwendung normal funktioniert. Es scheint jedoch keine Standardkontrollen in ASP zu geben, daher ist es auch problematisch zu kontrollieren.
Wie kann man die Fortschrittsleiste implementieren?
Das Folgende sind einige meiner Ansichten (nur als Referenz)
Wenn wir ASP -Verarbeitungsprogramme verwenden (in Bezug auf das Schreiben von Dateien oder Betriebsdatenbanken), verwenden wir eine Seite (*.asp), um diese Programme zu verarbeiten oder zu steuern, und springen dann zur Anzeigeseite, wenn die Verarbeitung abgeschlossen ist. Zu diesem Zeitpunkt können wir die Fortschrittsleiste auf diesen Verarbeitungsseiten anzeigen. Die Methode besteht darin, hundert identische Figuren (z. B. farbige Rechtecke) nach dem Fortschritt der Programmverarbeitung nacheinander zu zeichnen, wodurch ein Fortschrittsbalken bildet. Sein Effekt ist im Grunde ähnlich wie der mit anderen Programmierwerkzeugen, die erreicht werden
Hier sind einige Quellen, ich hoffe, sie können Sie inspirieren.
response.buffer = true
Dimlostnum
Dimshownum
DelayShow (DStep, DMAX) wird verwendet, um anzuzeigen, wie viel IMG (wie viel Fortschritt)
Wo DMAX darstellt, wie viele (DMAX) Schritte das gesamte Programm zur Verarbeitung des gesamten Prozesses benötigt.
wobei DStep die aktuellen Prozessschritte darstellt, die die Komponente des gesamten Prozesses ausüben und in Menge ausgedrückt werden.
Die Existenz des Variablen Lostnum wird durch zu groß (z. B. 10000) und der Dstep zu klein (wie 1) verursacht. Wenn Sie Delayshow (1.10000) aufrufen
Delayshow (100.10000) wird nur einmal gezeichnet, was darauf hinweist, dass 1% abgeschlossen sind, da 100 von 10000 ausmachen.
subdelayshow (dstep, dmax)
dimtotal // 100 img anzeigen
DIMDTEMP // Übergangsvariable
Gesamt = 100
dtemp = dstep
Dstep = Dstep+Lostnum
if (dstep*insgesamt)/dmax <1Then
// Beurteile, dass wenn das zu verarbeitende Ding nicht 1% der zu verarbeitenden Dinge hat, zeichnen Sie IMG nicht und verwenden Sie den Variablen Lostnum, um die Gesamtzahl der nicht titulierten Verarbeitung zu speichern, sodass der nächste Mal, wenn dieser Prozess aufgerufen wird.
Lostnum = Lostnum+dtemp
anders
FORCCC = 1TOFIX ((dstep*Gesamt)/Dmax) // Nehmen Sie eine Ganzzahl
Response.write "<imgsrc =" "../ Bilder/delay1.jpg" ">"
nächste
Response.flush // Zeigen Sie die Dinge (Bilder) im Cache an
// Mit der Variablen gezeigt wird das gezogene IMG gespeichert.
tecalum = tecalum+fix ((dstep*Gesamt)/dmax)
Lostnum = 0
Endif
Ende
// Aufgrund des Algorithmusproblems ist der Hauptgrund, dass der verbleibende Betrag nicht 100 Mal vollständig gezogen werden kann, sodass dies erforderlich ist
Der Prozess showlost () zeigt alle verbleibenden Untrawn -IMGs an, um die gleiche Länge der Fortschrittsleiste zu erkennen
Subshowlost ()
FORCCC = 1to (100-shownum)
Response.write ("<imgsrc =" "../ Bilder/delay1.jpg" ">")
nächste
Response.write "<br>"
Antwort.Flush
Ende
Bitte beachten Sie am Ende
Hier ist eine Zwischenspeicherungstechnologie erforderlich
response.buffer = true;
Antwort.Flush;
Antwort.end
Bitte beachten Sie die Hilfe bei MSDN für diese