TC官方合作论坛

 找回密码
 立即注册
查看: 1679|回复: 1

利用JS代码和COM组件结合--内码转换的例子

[复制链接]
发表于 2015-5-19 02:13:50 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 venski 于 2015-5-19 02:16 编辑

偶尔需要转换内码,可以参考下面的例子,当然你也可以有更好的方式,有的话就跟贴批评我吧
用到浏览器控件(为了正常显示韩文和日文等),win7以上附安装字体的示例:

不会说话,连废话也省了,直接上代码:




功能 转换_点击()
    //这里添加你要执行的代码
    变量 原字符串=网页元素获取("浏览器0","text","id:divTest")
    变量 原字符编码=下拉框获取文本("下拉框0")
    变量 新字符编码=下拉框获取文本("下拉框1")
    变量 数据流控件=com("adodb.stream")
    数据流控件.type=2
    数据流控件.charset=原字符编码
    数据流控件.Open()
    数据流控件.Position=0
    数据流控件.WriteText(原字符串)
    数据流控件.Position=0
    数据流控件.Charset=新字符编码
    网页元素输入("浏览器1",数据流控件.ReadText(-1),"id:divTest")
    数据流控件.Close()
    数据流控件=null
结束

功能 安装字体_点击()
    //这里添加你要执行的代码
    变量 版本内容=系统获取版本号()
    如果(版本内容==5||版本内容==6||版本内容==8)
        变量 字体目录=系统获取系统路径(0)&"fonts\\"
        变量 自身目录=系统获取进程路径()
        文件拷贝(自身目录&"batang.ttc",字体目录&"batang.ttc")
        文件拷贝(自身目录&"gulim.ttc",字体目录&"gulim.ttc")
        变量 注册表键值="SEGOEUI.TTF,120,80\r\n"
        注册表键值=注册表键值&"SEGOEUI.TTF\r\n"
        注册表键值=注册表键值&"SIMSUN.TTC,SimSun\r\n"
        注册表键值=注册表键值&"MSJH.TTF,128,96\r\n"
        注册表键值=注册表键值&"MSJH.TTF\r\n"
        注册表键值=注册表键值&"MEIRYO.TTC,Meiryo,128,85\r\n"
        注册表键值=注册表键值&"MEIRYO.TTC,Meiryo\r\n"
        注册表键值=注册表键值&"MALGUN.TTF,128,96\r\n"
        注册表键值=注册表键值&"MALGUN.TTF\r\n"
        注册表键值=注册表键值&"BATANG.TTC,Batang\r\n"
        变量 是否成功=注册表创建键值("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\FontLink\\SystemLink","Microsoft YaHei",注册表键值,3)
        变量 返回确认=对话框("安装字体成功,是否重新启动电脑以便字体生效!\r\n点确定重启,点取消自己手工操作","重新启动确认",1,false)
        如果(返回确认==5)
            是否成功=命令("shutdown -r -t 0",false)
        结束
    否则
        消息框("测试时仅支持Win7/8下安装相应字体--"&版本内容)
    结束
结束

功能 内码转换_初始化()
    //这里添加你要执行的代码
    网页跳转("浏览器0","about:blank")
    网页跳转("浏览器1","about:blank")
    变量 等待次数=10
    循环(等待次数>0)
        等待(100)
        如果(网页加载("浏览器0")==真)
            跳出
        结束
        等待次数=等待次数-1
    结束
    等待次数=10
    循环(等待次数>0)
        等待(100)
        如果(网页加载("浏览器1")==真)
            跳出
        结束
        等待次数=等待次数-1
    结束
    变量 可编辑层="<div contenteditable='true' id='divTest' onkeyup='InsertEnter(this.innerHTML)'> </div>"
    变量 JS代码="<SCRIPT LANGUAGE='JavaScript'> function InsertEnter(html){ if(event.keyCode==13){html = html + '<br>';document.getElementById('divTest').innerHTML=html;}}<\\/SCRIPT>"
    变量 要插入HTML代码=可编辑层&JS代码
    变量 返回值=网页执行js("浏览器0","document.write(\""&要插入HTML代码&"\");return 1;")
    返回值=网页执行js("浏览器1","document.write(\""&要插入HTML代码&"\");return 1;")
结束


变通实现的, 穿插了JS, COM,注册表操作的知识.
完整附件下载
内码转换.zip (3.14 KB, 下载次数: 35)

评分

参与人数 1威望 +5 金币 +5 收起 理由
18667006365 + 5 + 5 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2015-5-19 10:46:23 | 显示全部楼层
{:soso_e179:}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-5-20 01:10 , Processed in 0.046357 second(s), 26 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表