Amigos que usaram o software sabem que a barra de progresso é uma parte importante de um excelente software.
Sua existência permite que os usuários compreendam o progresso em execução do programa e confirme que o aplicativo está funcionando normalmente. No entanto, parece não haver controles padrão mencionados acima no ASP; portanto, também é problemático controlar.
Então, como implementar a barra de progresso?
A seguir, são apresentadas algumas das minhas opiniões (apenas para referência)
Quando usamos programas de processamento ASP (referindo -se a gravar arquivos ou bancos de dados operacionais), usaremos uma página (*.asp) para processar ou controlar esses programas e, em seguida, pularemos para a página de exibição quando o processamento for concluído. Neste momento, podemos exibir a barra de progresso através dessas páginas de processamento. O método é desenhar cem figuras idênticas (como retângulos coloridos) em sequência de acordo com o progresso do processamento do programa, formando uma barra de progresso. Seu efeito é basicamente semelhante ao alcançado com outras ferramentas de programação
Aqui estão algumas fontes, espero que elas possam inspirar você.
Response.Buffer = true
DIMLOSTNUM
Dimshownum
Delayshow (processo DSTEP, DMAX) é usado para exibir quanto IMG (quanto progresso)
Onde o DMAX representa quantas etapas (DMAX) todo o programa precisa processar para concluir todo o processo.
onde o DSTEP representa as etapas do processo atual que ocupam o componente de todo o processo e é expresso em quantidade.
A existência da variável LostNum é causada pelo DMAX ser muito grande (como 10000) e o DSTEP sendo muito pequeno (como 1). Se você ligar para atrasos (1.10000), é impossível desenhar img uma vez, de fato
Delayshow (100.10000) é desenhado apenas uma vez, indicando que 1% é concluído, porque 100 representam 1% de 10000.
Subdelayshow (DSTEP, DMAX)
Dimtotal // Exibir 100 img
DimdTemp // Variável de transição
Total = 100
dtemp = dstep
dstep = dstep+perdido
if (dstep*total)/dmax <1Then
// julga que quando a coisa a ser processada não tiver 1% das coisas a serem processadas, não desenhe img e use a variável LostNum para armazenar o número total de processamento sem título, para que na próxima vez que esse processo for chamado.
LostNum = LostNum+DTemp
outro
forccc = 1Tofix ((dStep*total)/dmax) // pegue um número inteiro
Response.Write "<imgsrc =" "../ imagens/delas1.jpg" ">"
próximo
Response.flush // mostra as coisas (fotos) no cache
// A variável mostrada é usada para armazenar o IMG que foi desenhado.
mostrado = mostradoumum+correção ((dstep*total)/dmax)
LostNum = 0
endif
endsub
// Devido ao problema do algoritmo, o principal motivo é que a quantidade restante não pode ser completamente desenhada 100 vezes, por isso é necessário
O processo ShowLost () exibe todos os imgs restantes para perceber o comprimento igual da barra de progresso
SubShowlost ()
forccc = 1to (100-S-S-SHOWUM)
Response.Write ("<imgsrc =" "../ imagens/delay1.jpg" ">")
próximo
Response.Write "<br>"
Response.flush
endsub
Por favor, note no final
A tecnologia de cache é necessária aqui
resposta.Buffer = true;
Response.flush;
resposta.END
Por favor, consulte a ajuda do MSDN para estes