Les amis qui ont utilisé le logiciel savent que la barre de progression est une partie importante d'un excellent logiciel.
Son existence permet aux utilisateurs de saisir en temps opportun les progrès en cours d'exécution du programme et de confirmer que l'application fonctionne normalement. Cependant, il ne semble pas y avoir de contrôles standard mentionnés ci-dessus dans ASP, il est donc également difficile de contrôler.
Alors, comment mettre en œuvre la barre de progression?
Voici quelques-uns de mes opinions (pour référence uniquement)
Lorsque nous utilisons des programmes de traitement ASP (en référence à l'écriture de fichiers ou à des bases de données d'exploitation), nous utiliserons une page (* .asp) pour traiter ou contrôler ces programmes, puis passer à la page d'affichage lorsque le traitement est terminé. Pour le moment, nous pouvons afficher la barre de progression à travers ces pages de traitement. La méthode consiste à dessiner une centaine de figures identiques (telles que des rectangles colorés) en séquence en fonction de la progression du traitement du programme, formant ainsi une barre de progression. Son effet est essentiellement similaire à celui obtenu avec d'autres outils de programmation
Voici quelques sources, j'espère qu'elles pourront vous inspirer.
réponse.buffer = true
dimlostnum
dimshownum
Le processus de retard (DSTEP, DMAX) est utilisé pour afficher la quantité d'IMG (combien de progrès)
Lorsque Dmax représente le nombre d'étapes (Dmax), l'ensemble du programme doit traiter pour terminer l'ensemble du processus.
où DSTEP représente les étapes de processus actuelles occupant la composante de l'ensemble du processus et est exprimée en quantité.
L'existence de la variable Lostnum est causée par le Dmax trop grand (comme 10000) et le DSTEP étant trop petit (comme 1). Si vous appelez Delayshow (1 10000), il est impossible de dessiner IMG une fois, en fait
Delayshow (10010000) n'est dessiné qu'une seule fois, indiquant que 1% est terminé, car 100 représente 1% de 10000.
subdelayshow (dstep, dmax)
dimtotal // Afficher 100 img
DIMDTEMP // Variable de transition
Total = 100
dtemp = dstep
dstep = dstep + lostnum
if (dstep * total) / dmax <1then
// juge que lorsque la chose à traiter n'a pas 1% des choses à traiter, ne dessinez pas IMG et utilisez la variable Lostnum pour stocker le nombre total de traitements sans titre, de sorte que la prochaine fois que ce processus est appelé.
Lostnum = Lostnum + DTEMP
autre
forccc = 1tofix ((dstep * total) / dmax) // prenez un entier
Réponse.write "<imgsrc =" "../ images / delay1.jpg" ">"
suivant
Réponse.flush // montre les choses (images) dans le cache
// La variable montrée est utilisée pour stocker l'IMG qui a été dessinée.
affiché = montrétum + correctif ((dstep * total) / dmax)
Lostnum = 0
endire
fin
// En raison du problème de l'algorithme, la raison principale est que le montant restant ne peut pas être complètement dessiné 100 fois, il est donc nécessaire de
Le processus showlost () affiche tous les imgs non traçants restants pour réaliser la longueur égale de la barre de progrès
subshowlost ()
forccc = 1to (100-shownum)
Response.Write ("<imgsrc =" "../ images / retard1.jpg" ">")
suivant
Réponse.WRITE "<br>"
Réponse.flush
fin
Veuillez noter à la fin
La technologie de mise en cache est requise ici
réponse.buffer = true;
réponse.flush;
réponse.
Veuillez vous référer à l'aide MSDN pour ces