热情软件屋

 

如何用VBScript实现一个进度条


编号:QA002700
建立日期: 2000年3月11日 最后修改日期:2000年3月30日
所属类别:

李宗印:
    操作系统:Windows95,windows98
    编程工具:VBScript
    问题:我正在用VBScript编写基于 internet的程序,想实现一个进度条, 但苦于找不到相应的函数或控件。请各位专家给予指导。

回答:

    上侠·于思的意见:
    你可以利用浏览器底部的状态栏实现,也可以写一个控件,但要通过客户端的安全检验!
    下面是用js写的一段控制浏览器底部的状态栏的脚本:
    <script language="Javascript">
    
    var speed = 800
    var pause = 1000
    var timerID = null
    var bannerRunning = false
    var ar = new Array()
    ar[0] = "■■■■■■■■■■■■■■■■■■■■"
    var currentMessage = 0
    var offset = 0
    
    function stopBanner() {
    
     if (bannerRunning)
     clearTimeout(timerID)
     bannerRunning = false}
    
    function startBanner() {
     stopBanner()
     showBanner()
    }
    
    function showBanner() {
    var text = ar[currentMessage]
     if (offset < text.length) {
     if (text.charAt(offset) == " ")
     offset++
     var partialMessage = text.substring(0, offset + 1)
     window.status = partialMessage
     offset++
     timerID = setTimeout("showBanner()", speed)
     bannerRunning = true}
     else {
     offset = 0
     currentMessage++
     if (currentMessage == ar.length)
     currentMessage = 0
     timerID = setTimeout("showBanner()", pause)
     bannerRunning = true }}
    startBanner();
    </SCRIPT>
    以下是源代码:
    ----------------------------------------
    <HTML>
    <HEAD>
    <SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
    <!--
     function button1_onclick() {
     ProgressBar1.Value=25;
     }
    
    
    
     function button2_onclick() {
     ProgressBar1.Value=50;
     }
    
    
     function button3_onclick() {
     ProgressBar1.Value=ProgressBar1.Value+1;
     }
    
     function button4_onclick() {
     ProgressBar1.Value=ProgressBar1.Value-1;
    
     }
    
     function Slider1_Change() {
     ProgressBar1.Value=Slider1.Value;
     }
    
     //-->
     </SCRIPT>
     <SCRIPT LANGUAGE=javascript FOR=Slider1 EVENT=Change>
     <!--
     Slider1_Change()
     //-->
     </SCRIPT>
    </HEAD>
    <BODY>
    <P>
    <FORM method=post name=FORM1 LANGUAGE=javascript>
    <INPUT name=button1 type=button value=25% LANGUAGE=javascript onclick="return button1_onclick()"><BR>
    <INPUT name=button2 type=button value=50% LANGUAGE=javascript onclick="return button2_onclick()"><BR>
    <INPUT name=button3 type=button value=+1% LANGUAGE=javascript onclick="return button3_onclick()"><BR>
    <INPUT name=button4 type=button value=-1% LANGUAGE=javascript onclick="return button4_onclick()"></P></FORM><P> </P>
    <P>
    <OBJECT classid=clsid:0713E8D2-850A-101B-AFC0-4210102A8DA7 height=15
    id=ProgressBar1 style="HEIGHT: 15px; LEFT: 0px; TOP: 0px; WIDTH: 364px"
    width=364><PARAM NAME="_ExtentX" VALUE="9631"><PARAM NAME="_ExtentY" VALUE="397"><PARAM NAME="_Version" VALUE="327682"><PARAM NAME="BorderStyle" VALUE="0"><PARAM NAME="Appearance" VALUE="1"><PARAM NAME="MousePointer" VALUE="0"><PARAM NAME="Enabled" VALUE="1"><PARAM NAME="OLEDropMode" VALUE="0"><PARAM NAME="Min" VALUE="0"><PARAM NAME="Max" VALUE="100"></OBJECT>
    </P>
    <OBJECT classid=clsid:373FF7F0-EB8B-11CD-8820-08002B2F4F5A height=16 id=Slider1
    style="HEIGHT: 41px; LEFT: 10px; TOP: 202px; WIDTH: 365px" width=365><PARAM NAME="_ExtentX" VALUE="9657"><PARAM NAME="_ExtentY" VALUE="900"><PARAM NAME="_Version" VALUE="327682"><PARAM NAME="BorderStyle" VALUE="0"><PARAM NAME="MousePointer" VALUE="0"><PARAM NAME="Enabled" VALUE="1"><PARAM NAME="OLEDropMode" VALUE="0"><PARAM NAME="Orientation" VALUE="0"><PARAM NAME="LargeChange" VALUE="5"><PARAM NAME="SmallChange" VALUE="1"><PARAM NAME="Min" VALUE="0"><PARAM NAME="Max" VALUE="100"><PARAM NAME="SelectRange" VALUE="0"><PARAM NAME="SelStart" VALUE="0"><PARAM NAME="SelLength" VALUE="0"><PARAM NAME="TickStyle" VALUE="3"><PARAM NAME="TickFrequency" VALUE="1"><PARAM NAME="Value" VALUE="0"></OBJECT> <p>                                       
    上侠·于思 提供</p>
    <p>--------------------------------------<br>
    美貌与智慧并重,英雄与侠义的化身!<br>
     <font color="#FF0000">上</font>天下地,盖世无敌,狂刀霹雳,英俊<font color="#FF0000">侠</font>!<br>
     --------------------------------------<br>
     现任:东方网景《游戏频道》至尊大斑竹!!<br>
     四月大改版,主治医师!!敬请关注!!</p>
    </BODY>
    </HTML>
    Kurt的意见:
    您的问题问的有点模糊,我不知道如何取得进度条的数据,可以参考以下方法
    1.如果您熟悉JAVA APPLET,可以考虑用它来完成,通过ASP读出数据库数据,然后放到cookie,用APPLET来读取COOKIE的值,写出进度条。
    2.这其实是个偷懒的方法,利用ASP可以控制HTML,你可以利用HTML的按钮来制作进度条,通过ASP读出的数据然后控制按钮的width来得到进度条,我就曾经有这个方法制作的投票箱。
    3.就是你自己写个服务器控件了。

此问题由上侠·于思等回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio