liuman858789 发表于 2012-11-13 20:40:51

请问宏指令能否传送文字

如果能的话,该怎么传?

admin 发表于 2012-11-15 09:52:51

macro_command main()
char si={0x6F,0x83,0}
StringSet(si, "Local HMI", LW, 0,4)
end macro_command

显示汉字有几点要注意:第一:采用字元显示元件,勾选UNICODE;
                      第二:字元显示元件的字体标签选项需选择一种中文字体;如楷体,宋体等;
                      第三:采用文本元件将需要显示的字体显示在当前工程的任意一个界面内(目的是编译其所用到的字型);

2002hnpan 发表于 2012-11-13 21:24:56

请问将文字传送到哪里呀,是通过串口传送呀,还是在宏指令里将文字传送到界面按钮等元件上呀

liuman858789 发表于 2012-11-13 21:29:14

回复 2# 2002hnpan


    将汉字传送到文字显示元件的寄存器里:(

liuman858789 发表于 2012-11-13 21:31:44

回复 2# 2002hnpan

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

end macro_command
    但是这样文字显示元件显示的是乱码:(

2002hnpan 发表于 2012-11-14 04:30:10

macro_command main()
char si={0x6F,0x83,0}
StringSet(si, "Local HMI", LW, 0,4)
end macro_command
首先将需要显示的文字要出现在窗口上,然后将你要显示的文字转成unicode码,此外你的字元显示元件也要选中“使用unicode码”,上面的代码能显示出一个“药”字,weinview软件的文字处理能力弱,祝你好运:handshake。

2002hnpan 发表于 2012-11-14 04:49:17

试了一下,需要显示的文字出现在文字库里面也可以:victory:

2002hnpan 发表于 2012-11-15 06:39:09

最后验证,以上模拟显示正常,下载到威纶触摸屏以后显示为框框,还得找威纶技术人员来解决{:3_49:}

2002hnpan 发表于 2012-11-15 10:18:01

:victory:问题已解决:
字元显示汉字要做到以下几点方可成功:victory:
1。字元显示元件也要选中“使用unicode码”;
2。字元显示元件属性中的字体要选择“宋体”等汉字字体,并且该字体在【系统参数设置】的非ASCII字体列表内;
3。StringSet参数里面的字符数组汉字要转成unicode码,注意高低字节位置,如char s={0x6F,0x83}
4。需要显示的汉字要在当前窗口或其他窗口出现,或在当前语言中的文字标签内,该文字标签正在被使用,并且该汉字的字体要和字元显示元件设置的字体相同;
5。编译时候,要选择“建立字体文件”选项;
6。下载时,要选中字体。

做到以上六点,即可成功。:lol

liuman858789 发表于 2012-11-16 10:46:24

回复 9# 2002hnpan


    :L 这么复杂啊

zjjself 发表于 2012-12-3 14:18:15

回复 9# 2002hnpan


    StringSet参数里面的字符数组汉字要转成unicode码,注意高低字节位置,如char s={0x6F,0x83}
          这个字符数组汉字要转成unicode码怎么转,比如说小白菜 三个字 怎么转成unicode码?望指导,谢谢您 !

jim 发表于 2014-10-28 10:55:55

回复 9# 2002hnpan


    如何往一个字元里写入多个字符?比如一个功能键,名称起为MOVEL,点击该功能键一次时,实现一次性往一个字元里写入 MOVEL ,该如何实现?
页: [1]
查看完整版本: 请问宏指令能否传送文字