QQ登录

只需一步,快速开始

威纶触摸屏如何设置账号密码带有字母数字符号甚至中文

[ 复制链接 ]
我们知道威纶触摸屏账号相关寄存器,
账号输入对应寄存器LW9219,一个字长度。
账号的密码输入对应寄存器LW9220,两个字长度。
账号密码仅支持数字输入,如下图标识处,限制了密码的长度。
2019-10-10_230738.jpg
但很多时候,我们是想让密码更复杂或者更好记忆。
这里我们就想让密码可以是字母,或数字,或数值,甚至是中文。
这里我们就来通过自己编写宏代码实现带字母或符号或数字的功能。
效果如下图。
2019-10-10_231353.jpg
在界面上, 我们准备了一个数值输入元件,要账号1登录才能输入内容,
不然会弹出密码提示框。
在界面上,显示1的数值元件为账号寄存器LW9219,
我们这里仅拿账号1作演示,更多账号可以参考着实现。
然后账号下边为密码输入框,
点击可以弹出字符键盘输入窗口,使用的是键盘窗口64.
在这个键盘窗口,我们就可以输入符号,数字,字母等常用字符。
如果还不够用,我们就得自己设计键盘输入窗口了,
在键盘输入窗口甚至可以将中文作为密码。
密码输入后,我们可以点击保存密码按钮,按钮会调用一个宏指定,
将输入的密码保存到配方文件里,
宏指令如下
  1. macro_command main()
  2. short account=0
  3. //获取当前操作账号
  4. GetData(account, "Local HMI", LW, 9219, 1)
  5. char PW[20]
  6. FILL(PW[0],0,20)
  7. //针对不同账号保存不同密码,这里仅演示账号1
  8. if account ==1 then
  9. //界面已将LW0开始10个字用于密码输入
  10. GetData(PW[0], "Local HMI", LW, 0, 20)
  11. //将用户输入的密码保存到对应的配方寄存器
  12. SetData(PW[0], "Local HMI", RW, 0, 20)
  13. end if
  14. end macro_command
复制代码
这些操作可以全部设计在密码保存窗口里。
例程也将账号登录放在了一起。
输入密码后,也可以点击确认输入,登录账号。
登录按钮同样也是调用了一个宏指令。
如下:

  1. macro_command main()
  2. short account=0
  3. GetData(account, "Local HMI", LW, 9219, 1)//获取当前操作的账号
  4. char PW[20],PW1[20]
  5. FILL(PW[0],0,20)
  6. FILL(PW1[0],0,20)
  7. bool bResult=false
  8. if account ==1 then
  9. //获取对应账号用户输入的密码与事先保存的密码。
  10. GetData(PW[0], "Local HMI", LW, 0, 20)
  11. GetData(PW1[0], "Local HMI", RW, 0, 20)
  12. //将输入的密码与事先保存的密码对比,区分大小写。
  13. bResult=StringCompare(PW[0], PW1[0])
  14. if bResult==true then
  15. int nPW=0
  16. //如果密码正确,则将账号对应的系统密码获取与设置
  17. GetData(nPW, "Local HMI", LW, 9500, 1)
  18. SetData(nPW, "Local HMI", LW, 9220, 1)
  19. end if

  20. end if

  21. end macro_command
复制代码
当然例程仅是例程,
在实例的工程项目中,尽量程序界面简化操作。
实现密码带符号,数值,字母的思路是这样的。
记录对应账号的密码,保存于配方寄存器中,
登录时,检查输入密码与配方寄存器密码,
输入密码正确,获取与使用对应账号的系统密码,实现登录。
宏指令注释的比较详细,可以参考,也可以直接下载例程参考。
下载地址:
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:1.rar 
文件大小:321.13 KB  售价:3金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索