소프트웨어를 사용한 친구들은 진행률 바가 우수한 소프트웨어의 중요한 부분이라는 것을 알고 있습니다.
그 존재로 인해 사용자는 프로그램의 실행 진행 상황을 적시에 파악하고 응용 프로그램이 정상적으로 작동하고 있음을 확인할 수 있습니다. 그러나 ASP에서 위에서 언급 한 표준 컨트롤은 없으므로 제어하기에 어려운 일입니다.
그렇다면 진행률 표시 줄을 구현하는 방법은 무엇입니까?
다음은 내 견해 중 일부입니다 (참조 만)
ASP 처리 프로그램 (파일 작성 또는 운영 데이터베이스 참조)을 사용하면 페이지 (*.asp)를 사용하여 이러한 프로그램을 처리하거나 제어 한 다음 처리가 완료되면 디스플레이 페이지로 이동합니다. 현재이 처리 페이지를 통해 진행률 표시 줄을 표시 할 수 있습니다. 이 방법은 프로그램 처리의 진행 상황에 따라 순서대로 100 개의 동일한 그림 (예 : 색상 사각형)을 그려 진행 막대를 형성하는 것입니다. 그 효과는 기본적으로 다른 프로그래밍 도구에서 달성 한 것과 유사합니다.
여기 몇 가지 출처가 있습니다. 그들이 당신에게 영감을 줄 수 있기를 바랍니다.
응답 .buffer = true
Dimlostnum
디쉬 가움
Delayshow (DSTEP, DMAX) 프로세스는 IMG의 양 (얼마나 많은 진전)를 표시하는 데 사용됩니다.
여기서 DMAX는 전체 프로세스를 완료하기 위해 전체 프로그램이 처리 해야하는 (DMAX)의 수를 나타냅니다.
여기서 DSTEP는 전체 프로세스의 구성 요소를 차지하는 현재 프로세스 단계를 나타내며 수량으로 표현됩니다.
변수 LostNum의 존재는 DMAX가 너무 커서 (예 : 10000) DSTEP가 너무 작기 때문에 발생합니다 (예 : 1). Deelayshow (1,10000)에 전화하면 IMG를 한 번 그리는 것은 불가능합니다.
Delayshow (100,10000)는 한 번만 그려 져서 100은 10000의 1%를 차지하기 때문에 1%가 완료되었음을 나타냅니다.
Subdelayshow (dstep, dmax)
Dimtotal // 디스플레이 100 img
DimdTemp // 전환 변수
총 = 100
dtemp = dstep
dstep = dstep+lostnum
if (dstep*Total)/dmax <1then
// 처리 할 물건에 처리 할 물건의 1%가 없을 때 IMG를 그리지 말고 변수 LostNum을 사용하여 총 제목 처리 된 처리 수를 저장하여 다음 에이 프로세스가 호출 될 때.
lostnum = lostnum+dtemp
또 다른
forccc = 1tofix ((dstep*total)/dmax) // 정수를 가져갑니다
response.write "<imgsrc =" "../ images/delay1.jpg" ">"
다음
응답 // 캐시에 물건 (그림)을 표시합니다
// 변수 shipum은 그려진 IMG를 저장하는 데 사용됩니다.
showingum = showingum+fix ((dstep*Total)/dmax)
lostnum = 0
endif
Endsub
// 알고리즘 문제로 인해 주된 이유는 나머지 금액을 100 번 완전히 그릴 수 없으므로
프로세스 showlost ()는 나머지 트로 워진 IMG를 표시하여 진행률 표시 줄의 동일한 길이를 실현합니다.
subshowlost ()
forccc = 1to (100-shownum)
response.write ( "<imgsrc =" "../ images/delay1.jpg" ">")
다음
응답. "<br>"
응답. 플러시
Endsub
마지막에 문의하십시오
캐싱 기술이 필요합니다
응답 .buffer = true;
응답. 플러시;
응답. 엔드
이것에 대해 MSDN 도움말을 참조하십시오