威纶通官方论坛

请问宏指令能否传送文字

[复制链接]
发表于 2012-11-13 20:40:51 | 显示全部楼层 |阅读模式
如果能的话,该怎么传?
发表于 2012-11-15 09:52:51 | 显示全部楼层
macro_command main()
char si[5]={0x6F,0x83,0}
StringSet(si[0], "Local HMI", LW, 0,4)
end macro_command

显示汉字有几点要注意:第一:采用字元显示元件,勾选UNICODE;
                      第二:字元显示元件的字体标签选项需选择一种中文字体;如楷体,宋体等;
                      第三:采用文本元件将需要显示的字体显示在当前工程的任意一个界面内(目的是编译其所用到的字型);
发表于 2012-11-13 21:24:56 | 显示全部楼层
请问将文字传送到哪里呀,是通过串口传送呀,还是在宏指令里将文字传送到界面按钮等元件上呀
 楼主| 发表于 2012-11-13 21:29:14 | 显示全部楼层
回复 2# 2002hnpan


    将汉字传送到文字显示元件的寄存器里
 楼主| 发表于 2012-11-13 21:31:44 | 显示全部楼层
回复 2# 2002hnpan

将汉字传送到文字显示元件的寄存器中   如:
macro_command main()
char i[3]="药粉0"
StringSet(i[0], "Local HMI", LW, 0, 3)

end macro_command
    但是这样文字显示元件显示的是乱码
发表于 2012-11-14 04:30:10 | 显示全部楼层
macro_command main()
char si[5]={0x6F,0x83,0}
StringSet(si[0], "Local HMI", LW, 0,4)
end macro_command
首先将需要显示的文字要出现在窗口上,然后将你要显示的文字转成unicode码,此外你的字元显示元件也要选中“使用unicode码”,上面的代码能显示出一个“药”字,weinview软件的文字处理能力弱,祝你好运
发表于 2012-11-14 04:49:17 | 显示全部楼层
试了一下,需要显示的文字出现在文字库里面也可以
发表于 2012-11-15 06:39:09 | 显示全部楼层
最后验证,以上模拟显示正常,下载到威纶触摸屏以后显示为框框,还得找威纶技术人员来解决
发表于 2012-11-15 10:18:01 | 显示全部楼层
问题已解决:
字元显示汉字要做到以下几点方可成功
1。字元显示元件也要选中“使用unicode码”;
2。字元显示元件属性中的字体要选择“宋体”等汉字字体,并且该字体在【系统参数设置】的非ASCII字体列表内;
3。StringSet参数里面的字符数组汉字要转成unicode码,注意高低字节位置,如char s[2]={0x6F,0x83}
4。需要显示的汉字要在当前窗口或其他窗口出现,或在当前语言中的文字标签内,该文字标签正在被使用,并且该汉字的字体要和字元显示元件设置的字体相同;
5。编译时候,要选择“建立字体文件”选项;
6。下载时,要选中字体。

做到以上六点,即可成功。
 楼主| 发表于 2012-11-16 10:46:24 | 显示全部楼层
回复 9# 2002hnpan


    这么复杂啊
发表于 2012-12-3 14:18:15 | 显示全部楼层
回复 9# 2002hnpan


    StringSet参数里面的字符数组汉字要转成unicode码,注意高低字节位置,如char s[2]={0x6F,0x83}
          这个字符数组汉字要转成unicode码怎么转,比如说小白菜 三个字 怎么转成unicode码?望指导,谢谢您 !
发表于 2014-10-28 10:55:55 | 显示全部楼层
回复 9# 2002hnpan


    如何往一个字元里写入多个字符?比如一个功能键,名称起为MOVEL,点击该功能键一次时,实现一次性往一个字元里写入 MOVEL ,该如何实现?
您需要登录后才可以发帖 登录 | 注册

本版积分规则

回复帖子

Archiver|小黑屋|威纶通官网 ( 粤ICP备06054553号 )

GMT+8, 2024-11-22 05:31

Powered by Discuz! X3.4

© 2001-2023 Comsenz Inc.

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