之前问过威纶通宏指令中制作用户名和密码登录界面的问题。多谢威武小郭和MT8000tx帮我解答。。
详情请看:http://www.gongkong.com/webpage/forum/201101/2011011023245200001-1.shtml
现在我又突发奇想,想在用户中设定第一个用户为自己的默认用户,比如用户名是create。而且这个用户名是无法修改的。只在后台,不显示在任何界面上。我该如何在宏指令中直接进行比较呢?因为name【3】是short型变量。而实际上在界面中输入的用户名是字元。
直接用name【0】==‘cr‘ and name【1】==‘ea‘ and name【2】==‘te‘似乎是不行的。。。。
EB8000很快会推出一个版本, 提供完整的字串处理与比较功能
但目前的版本只能逐字元比较
因为name是short型变量, 所以需先转换为char型变量, 简单的例子如下, 提供你参考
macro_command main()
char data[6]
short name[3]
GetData(name[0], "Local HMI",LW, 100,3)// get input user name
LOBYTE(name[0], data[0])
HIBYTE( name[0], data[1])
LOBYTE(name[1], data[2])
HIBYTE( name[1], data[3])
LOBYTE(name[2], data[4])
HIBYTE( name[2], data[5])
if (data[0] == ‘c‘ and data[1] == ‘r‘ and data[2] == ‘e‘ and data[3] == ‘a‘ and data[4] == ‘t‘ and data[5] == ‘e‘) then
end if
end macro_command