工控编程吧
标题:
威纶触摸屏如何设置账号密码带有字母数字符号甚至中文
[打印本页]
作者:
qq263946146
时间:
2019-10-10 23:30
标题:
威纶触摸屏如何设置账号密码带有字母数字符号甚至中文
我们知道威纶触摸屏账号相关寄存器,
账号输入对应寄存器LW9219,一个字长度。
账号的密码输入对应寄存器LW9220,两个字长度。
账号密码仅支持数字输入,如下图标识处,限制了密码的长度。
(, 下载次数: 1)
上传
点击文件名下载附件
但很多时候,我们是想让密码更复杂或者更好记忆。
这里我们就想让密码可以是字母,或数字,或数值,甚至是中文。
这里我们就来通过自己编写宏代码实现带字母或符号或数字的功能。
效果如下图。
(, 下载次数: 0)
上传
点击文件名下载附件
在界面上, 我们准备了一个数值输入元件,要账号1登录才能输入内容,
不然会弹出密码提示框。
在界面上,显示1的数值元件为账号寄存器LW9219,
我们这里仅拿账号1作演示,更多账号可以参考着实现。
然后账号下边为密码输入框,
点击可以弹出字符键盘输入窗口,使用的是键盘窗口64.
在这个键盘窗口,我们就可以输入符号,数字,字母等常用字符。
如果还不够用,我们就得自己设计键盘输入窗口了,
在键盘输入窗口甚至可以将中文作为密码。
密码输入后,我们可以点击保存密码按钮,按钮会调用一个宏指定,
将输入的密码保存到配方文件里,
宏指令如下
macro_command main()
short account=0
//获取当前操作账号
GetData(account, "Local HMI", LW, 9219, 1)
char PW[20]
FILL(PW[0],0,20)
//针对不同账号保存不同密码,这里仅演示账号1
if account ==1 then
//界面已将LW0开始10个字用于密码输入
GetData(PW[0], "Local HMI", LW, 0, 20)
//将用户输入的密码保存到对应的配方寄存器
SetData(PW[0], "Local HMI", RW, 0, 20)
end if
end macro_command
复制代码
这些操作可以全部设计在密码保存窗口里。
例程也将账号登录放在了一起。
输入密码后,也可以点击确认输入,登录账号。
登录按钮同样也是调用了一个宏指令。
如下:
macro_command main()
short account=0
GetData(account, "Local HMI", LW, 9219, 1)//获取当前操作的账号
char PW[20],PW1[20]
FILL(PW[0],0,20)
FILL(PW1[0],0,20)
bool bResult=false
if account ==1 then
//获取对应账号用户输入的密码与事先保存的密码。
GetData(PW[0], "Local HMI", LW, 0, 20)
GetData(PW1[0], "Local HMI", RW, 0, 20)
//将输入的密码与事先保存的密码对比,区分大小写。
bResult=StringCompare(PW[0], PW1[0])
if bResult==true then
int nPW=0
//如果密码正确,则将账号对应的系统密码获取与设置
GetData(nPW, "Local HMI", LW, 9500, 1)
SetData(nPW, "Local HMI", LW, 9220, 1)
end if
end if
end macro_command
复制代码
当然例程仅是例程,
在实例的工程项目中,尽量程序界面简化操作。
实现密码带符号,数值,字母的思路是这样的。
记录对应账号的密码,保存于配方寄存器中,
登录时,检查输入密码与配方寄存器密码,
输入密码正确,获取与使用对应账号的系统密码,实现登录。
宏指令注释的比较详细,可以参考,也可以直接下载例程参考。
下载地址:
(, 下载次数: 4)
上传
点击文件名下载附件
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4