[url=http://lawyer.hgfkj.com/fun.rar]下载源文件[/url]

演示:
  上传带进度条:[url=http://lawyer.hgfkj.com/u.asp]http://lawyer.hgfkj.com/u.asp[/url]

    说明,因为服务器采用家用ADSL做带宽,因此上传速度为50至60K每秒,但这说明了此上传组件可以利用最大带宽上传文件,可以上传几十M,甚至上百M文件都没问题。
  服务器端获取其他网站源带进度条:[url=http://lawyer.hgfkj.com/]http://lawyer.hgfkj.com/
[/url]
    说明:注册后查看“审判参考查询”可看到远程获取进度
    说明:因远程获取利用了缓存,因此如果有人看过的页面,将不会远程再获取,可以多点此栏目的其他页面,应该可以看到进度显示的。

****************************************************
注:利用此函数库编写网站需采用JScript做为ASP的脚本语言。

****************************************************
使用说明:
        1、包含Fun.asp文件
        2、Fun.OutClientScript();输出客户端函数库,可选
        3、Fun.OutHTMLPageTitle(PageTitle);输出HTML头,参考修改源代码,可选
        4、如果连接了数据库,在ASP文件最后必需释放对象:FreeObj(CON);
        5、如果有上传动作,需要:Fun.Upload.Close();
****************************************************
功能说明:
        1、无组件带进度显示Fun.Upload
            说明:详见《无组件上传使用方法》
            历史:2007-5-19由原JScript版本更新为VBScript版本
        2、全局函数与变量
            变量:Hid,Act:识别提交数据标志,自动识别GET或POST方式提交
            变量:CON:Adodb.Connection连接对象
            函数:OpenRS(sql,pagesize):Adodb.Recordset:打开数据库集
            函数:ExecSQL(sql):执行无返回SQL命令
            函数:FreeObj(obj):无返回,释放对象实例
            历史:2007-5-19
        3、数据库连接
            在cWeb类中修改代码,设定是否连接数据库、连接类型及连接参数
        4、基本对象功能扩展
            说明:客户端的扩展需要先输出客户端函数:Fun.OutClientScript();
            String
                .trim(n):截取字符串n个字符,一个中文按2个字符计算,如果有截取则加后缀"..."
                    如果n为undefined,则去掉前后空格
                .Length():获取字符串长度,一个中文按2个字符计算
                .Substr(start,n):获取字符串从start开始的n个字符,一个中文按2个字符计算
                .AscB(idx):获取字符串第idx个字符的ASCII码,一个中文按2个字符计算
                .toUnicode():将字符串以&#123方式进行Unicode编码
                .isMail():检测是否字符串为邮件地址格式
                .Null(str):如果字符串为空或为"undefined"或为"null",则输出str
                .toDate():将字符串转换为日期,需要try来防止错误
                .Encode():加密字符串
                .Decode():解密字符串
            Array
                .remove(idx):从数组中移除idx项
                .indexOf(obj):查找与obj相匹配的数组项idx,查找失败返回-1
                .insertAt(obj,idx):在数组idx项之前插入obj,返回obj所在数组的idx
                .Add(obj):在数组尾加入obj,返回obj所在数组的idx
                .Adds():参数为可变,可多可少,依次被加入到数组尾,无返回值
                .AddFirst(obj):插入obj到数组第一项,返回obj所在数组的idx
            Date
                .getDateString(flag):返回日期的字符串格式显示
                    无参数时,返回如:2007年1月31
                    flag=="-"时,返回如:2007-1-31
                .Add(num,flag):日期添加一定时间单位后返回
                    num:添加日期的数值,默认为1
                    flag:"Y","M","D","h","m","s",依次为年月日时分秒,取其一,默认为"D"
                    注:该函数将修改自身日期值,而不是仅仅通过返回输出新值
                .Sub(num,flag):日期减去一定时间单位后返回
                    参数同.Add()
                    注:该函数将修改自身日期值,而不是仅仅通过返回输出新值
                .Diff(enddate,flag):取两个日期差值:enddate-this
                    flag:"D","h","m","s",依次为日时分秒,默认为"D"
                    enddate:另一个日期,返回值为:enddate-this
                .DaysInMonth():取日期当月中的天数共有多少天
            Number
                .trim(p):小数位数格式化,默认参数为0,例:50.234.trim(2)=50.23
                .FormatSize(flag,p):将数字以Size格式显示
                    flag:"GB","MB","KB",取其一,为undefined时,自动根据数字取最佳值
                    p:小数点位数,默认为2,即保留2位小数
                    例:1024.FormatSize("KB",0)="1 KB"
        5、服务端对象Fun
            .Request(fieldname):自动识别GET或POST方法提交的数据,返回值
                注:同时如果有上传,会自动显示上传进度,使用Fun.Upload返回
                上传详见:《无组件上传使用方法Fun.Upload》
            .alert(str):输出到客户端脚本,以响应模拟alert提示框
            .GoUrl(url,who):输出到客户端脚本,使页面转向
                who:转向窗口,默认为"self"
            .Reload(who):输出到客户端脚本,重载页面
                who:转向窗口,默认为"self"
            .PlaySwf(fn,w,h,flag):输出到客户端脚本,显示flash动画
                flag=="true"时,flash动画透明背景
                flash客户端输出代码格式:详见《Flash代码》
            .ExecScript(script,lan):输出到客户端脚本,以lan语言执行代码script(字符串)
            .setCookie(CName,Value,DateLen,Unit):设定Cookies
                DateLen:有效期时间单位长度
                Unit:有效期时间单位:"Y""M""D","h""m""s":表示年月日时分秒,取其一
            .GetPage(url,timeout,isShowProgress,method,data):获取其他网站页面源代码
                isShowProgress==true时带有进度条显示
                timeout:超时设置,单位:毫秒
                data:method为"POST"时的提交数据,格式为:a=1&b=2&c=3...
                return:错误返回undefined,否则返回页面源
                参考:参考:ServerXMLHTTP:http://msdn2.microsoft.com/en-us/library/ms765535.aspx
            .bytes2BSTR(bytes):字节类型数据转换为字符串
                注:参数为二进制字节类型数据,不是流对象
                流对象需要将流读出:Stream.position=0;Stream.read(n);
                流的操作可以参见函数:cUpload.GetStrInStream()
            .OutClientScript():输出客户端函数库集合
            .OutHTMLPageTitle(pagetitle):输出页面头信息,主要用来参考
        6、客户端对象Fun,需要服务器端输出:Fun.OutClientScript()
            .SetHomePage(obj,url):设置主页,obj参数为任一Div或其他页面存在的元素
            .AddFavorite(url,name):加入到收藏夹
            .setCookies(name,value,TimeLen,Unit):设定Cookies
                TimeLen:时间长度数字
                Unit:时间单位:"YMDhms":年月日时分秒,取其一
            .getCookies(name):获取Cookies
            .PlaySwf(fn,w,h,flag):显示flash动画
                flag==true时,flash动画透明背景
                flash客户端输出代码格式:详见《Flash代码》
            .CreateXMLHttp=function(url,CallBackFun,method,formstr):异步执行XMLHttp
                method为"POST"时,formstr格式为:name=value&name2=value2...
                XML获取数据,即回调函数CallBackFun使用方法
                function CallBackFun(s){
                    if((XML==undefined)||(XML.readyState!=4))return;
                    var rs=XML.responseText;  返回数据
                    或处理二进制数据:
                    var rs=bytes2BSTR(XML.responseBody);
                };
            .ShowUploadProgress():上传时显示进度条时调用
                调用方法:在onsubmit()中调用:Fun.ShowUploadProgress();
        7、客户端函数,需要服务器端输出:Fun.OutClientScript()
            PreloadImage(Imgs,CallbackFun,ImgPath),缓存图片
                参数:Imgs:数组,ImgPath:路径,图片位置为:ImgPath+Imgs[i]
                参数:CallbackFun回调函数,调用方法为:CallbackFun(Count,idx);
                    其中:Count为总数,idx为当前序号,则此回调函数即为进度事件。
            bytes2BSTR(bytes):将字节类型数据转换为字符串,此函数为VBScript编写
                注:参数为二进制字节类型数据,不是流对象
                流对象需要将流读出:Stream.position=0;Stream.read(n);
                流的操作可以参见函数:cUpload.GetStrInStream()
        8、<iframe id=dofrm...></iframe>:隐藏的iFrame,需要服务器端输出:Fun.OutClientScript()
            此隐藏框架主要用来POST方式提交数据,这样当刷新主页面时,不会重复提交
        9、遍历Request.ServerVariables,以用于测试用
            调用方法:Fun.asp?$flag$=ServerVariables
            注:其中代码可作为参考用JScript枚举ASP相关集合对象方法
        10、邮件发送类:cMail,详见《邮件发送使用方法cMail》
        11、IP地址位置查询类:cGetIPAddress(ip),详见《IP地址信息获取cGetIPAddress(ip)》
        12、系统信息类:cSystem,详见《获取系统信息cSystem》