zoukankan      html  css  js  c++  java
  • c-lodop获取任务页数-回调里给全局变量赋值并加减

    LODOP一个任务里可以自动分页,也可以手动分页,超文本会按照打印项高度或超过纸张会自动分页(相关博文:Lodop打印控件 超文本自动分页),如果是自动分页,是无法知道究竟分了多少页,整个任务打了多少页。
    可以通过LODOP.GET_VALUE("PRINTSETUP_PAGE_COUNT","0");//获取页数
    在预览或打印前是获取不到的,必须执行了打印预览或打印才能获取到。

    该文还用到了个JS方法parseInt(字符串),具体可参考网上该方法的详细介绍,感觉和C#里的强制类型转换差不多,JS里虽然定义的时候都用var,其实也分数据类型。
    该方法的作用是把字符串类型强制转换成整数型。

    该文测试及结果:测试任务:有两页。
    测试1:在回调里给某个全局变量赋值,然后弹出这个全局变量。
    测试结果:可以在回调里给全局变量赋值,弹出弹窗显示数字2。

    测试2:给全局变量赋的值是:回调获取的返回值,然后加3。在控制台输出变量值。
    测试结果:返回的值是字符串类型,+3会被当做字符串连接,控制台输出的是字符串23。

    测试3:给全局变量赋的值是:回调获取的返回值强制转换成整数型,然后加3,在控制台输出变量值。
    测试结果:控制台没有出现返回值。

    测试4:给全局变量赋的值是:回调获取的返回值。然后再对变量赋值:把获得了值的变量强制转换成整数型然后加3。
    测试结果:控制台输出的是5,是页数2加上数字3的结果。

    测试3和测试4的区别就是,一个是对回调的返回值value进行数据类型转换,一个是对已经赋了值的zhi进行数据类型转换。测试3是zhi=parseInt(value)+3;测试4是zhi=Value;zhi=parseInt(zhi)+3;具体参考测试代码和图示。

    测试代码:

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>WEB打印控件LODOP</title>
    <script language="javascript" src="LodopFuncs.js"></script>
    </head>
    <body>
    <a href="javascript:prn0_preview()">打印预览(预览后才能获取页数)</a><br>
    <a href="javascript:prn1_preview()">给某全局变量赋值,弹出该变量</a><br>
    <a href="javascript:prn2_preview()">给某全局变量赋值并+3,返回值是字符串,字符串连接结果</a><br>
    <a href="javascript:prn3_preview()">给回调的值强制转换成整数型,然后赋值给全局变量再加3,无结果</a><br>
    <a href="javascript:prn4_preview()">给全局变量赋值,然后把全局变量转换成整数型,加3再赋值给该变量</a><br>
    <script language="javascript" type="text/javascript">   
            var LODOP; //声明为全局变量
            var zhi;//声明个全局变量,取名为zhi
        function prn0_preview() {//该任务有两页,为强制分页所得
            LODOP=getLodop(); 
            LODOP.PRINT_INIT("");
            LODOP.ADD_PRINT_TEXT(0,0,100,20,"文本内容一");
            LODOP.NEWPAGE();
            LODOP.ADD_PRINT_TEXT(0,0,100,20,"文本内容一");
            LODOP.PREVIEW();    
        };
        function prn1_preview() {//测试再回调里给全局变量赋值,并弹出这个全局变量
            LODOP=getLodop(); 
           if (LODOP.CVERSION) CLODOP.On_Return=function(TaskID,Value){zhi=Value;alert(zhi);}; 
           var stResult=LODOP.GET_VALUE("PRINTSETUP_PAGE_COUNT","0");//获取页数
           if (!LODOP.CVERSION) {zhi=stResult; alert(zhi);}//lodop直接获取返回值
        };
        function prn2_preview() {//给返回值+3,由于是字符串,会当作字符串连接
             LODOP=getLodop(); 
           if (LODOP.CVERSION) CLODOP.On_Return=function(TaskID,Value){zhi=Value+3;console.log(zhi);}; 
           var stResult=LODOP.GET_VALUE("PRINTSETUP_PAGE_COUNT","0");//获取页数
           if (!LODOP.CVERSION) { }//支线,不写了,这里只测c-lodop
        };
        function prn3_preview() {//给回调的值强制转换成整数型,然后赋值给全局变量再加3
             LODOP=getLodop(); 
           if (LODOP.CVERSION) CLODOP.On_Return=function(TaskID,Value){zhi=parseInt(value)+3;console.log(zhi);}; 
           var stResult=LODOP.GET_VALUE("PRINTSETUP_PAGE_COUNT","0");//获取页数
           if (!LODOP.CVERSION) {}//支线,不写了,这里只测c-lodop
        };
        function prn4_preview() {//给全局变量赋值,然后把全局变量转换成整数型,加3再赋值给该变量
             LODOP=getLodop(); 
           if (LODOP.CVERSION) CLODOP.On_Return=function(TaskID,Value){zhi=Value;zhi=parseInt(zhi)+3;console.log(zhi);}; 
           var stResult=LODOP.GET_VALUE("PRINTSETUP_PAGE_COUNT","0");//获取页数
           if (!LODOP.CVERSION) {}//支线,不写了,这里只测c-lodop
        };
    </script> 
    </body>

    图示:

  • 相关阅读:
    Windows 2008 R2 安装 Windows phone 7 开发环境
    win 7,win2008 无法给新建用户完全权限
    基于Ajax的Asp.Net 简易在线聊天室
    phpwind ecshop 用户整合
    UVALive 3942 Remember the Word(字典树+DP)
    UVA 11732 strcmp() Anyone? (压缩版字典树)
    UVA 11992 Fast Matrix Operations(线段树:区间修改)
    hdu 2222 Keywords Search(AC自动机模版题)
    动态规划基础练习笔记
    递归与分治策略基础练习笔记
  • 原文地址:https://www.cnblogs.com/huaxie/p/11195400.html
Copyright © 2011-2022 走看看