• PB9.0对使用js的encodeuri


    项目中遇到问题,公司使用的是pb9.0,需要对url进行编码,并且第三方的文档上边给了js的例子,说是可以使用js的encodeURI对url编码,

    于是想到是否可以直接使用js的控件来使用js的函数,百度了一下,发现真有,综合了网友们的办法,写出了以下方法

    /*uf_encodeuri
    ref string as_url //需要编码的的url
    ref string as_error
    */
    IF inv_String.of_IsEmpty(as_url) THEN
        as_error = "地址不能为空!"
        RETURN -1
    END IF
    
    oleobject lo_jsscript
    lo_jsscript = create oleobject 
    long ll_ret
    ll_ret = lo_jsscript.connecttonewobject("MSScriptControl.ScriptControl")
    if ll_ret <> 0 then
        as_error = '创建MSScriptControl.ScriptControl对象出错,请注册msscript.ocx,错误编码:' + String(ll_ret)
       return -1
    end if
    
    lo_jsscript.language = "jscript"
    String ls_url
    ls_url = lo_jsscript.Eval('encodeURI(~'' + as_url + '~')')
    as_url = ls_url
    destroy lo_jsscript
    
    
    RETURN 1

    注意,在给url编码时,使用了msscript.ocx控件,此控件是系统自带控件,打开浏览器时,如果提示未安装控件,则说明控件被注销或删除了,则按装一个即可。
    a) 直接解压msscript.rar包,拷贝msscript.ocx文件到系统目录里:
    1、Windows 95/98/Me系统,将msscript.ocx复制到C:WindowsSystem目录下。
    2、Windows NT/2000系统,将msscript.ocx复制到C:WINNTSystem32目录下。
    3、Windows XP/WIN7/Vista系统(64位系统对应64位dll文件,32位系统对应32位dll文件),将msscript.ocx复制到C:WindowsSystem32目录下。
    4、如果您的系统是64位的请将32位的dll文件复制到C:WindowsSysWOW64目录具体的方法可以参考这篇文章:win7 64位旗舰版系统运行regsvr32.exe提示版本不兼容
    b) 打开"开始-运行-输入regsvr32 msscript.ocx",回车即可解决。希望脚本之家为您提供的msscript.ocx对您有所帮助
    如果提示“模块atiacmxx.dll可能与您正在运行的windows版本不兼容,检查该模块是否与regsvr.exe的x86或x64版本兼容” 则打开cmd:
    定位到C:WINDOWSsyswow64目录,输入regsvr32 msscript.ocx,即可。

  • 相关阅读:
    积分第一中值定理
    History of mathematics(19th century)
    使用多项式解决矩阵问题
    菊与刀
    Mathematics during the Scientific Revolution(18th century)
    摄动
    Cauchy中值定理
    Leetcode3---Longest Substring Without Repeating Characters
    Leetcode2---Add Two Numbers
    矩形覆盖
  • 原文地址:https://www.cnblogs.com/szxiaofei14/p/5594409.html
Copyright © 2020-2023  润新知