加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

CItect2018R2使用CitectVBA做密码限制方法2

(2023-04-25 19:30:35)
标签:

施耐德plc

citect

citectvba

掩码输入密码

取消联锁

分类: 施耐德PLC
前面一篇博客记录了使用CitectVBA脚本做了一个输入密码取消联锁的例子。但是inputbox输入框里面的是明码,不是掩码。这一篇记录如何让密码用掩码方式输入。
假设变量LS表示联锁变量,数值为1表示投入联锁,数值为0表示取消联锁。画面上有一个“取消联锁”按钮。在citect中新建一个空白画面Password,调整尺寸,像是弹出窗口那种大小,比如330*210。
CItect2018R2使用CitectVBA做密码限制方法2

我希望在新建的画面上添加文本输入框,发现OCX列表中没有microsof form2系列的控件。
CItect2018R2使用CitectVBA做密码限制方法2


从网上下载 FM20.dll,FM20CHS.DLL 两个文件,由于做练习的操作系统是windows10 x64,复制粘贴在c:\windows\sysWOW64文件夹里面.
在c:\windows\sysWOW64里面是用管理员身份运行cmd.exe,然后注册 FM20.dll和FM20CHS.DLL
regsvr32 FM20.dll
regsvr32 FM20CHS.DLL
然后使用前面博客的注册表文件来授权控件,再次打开citect的OCX列表,就能看到文本框控件了。
CItect2018R2使用CitectVBA做密码限制方法2
选中文本框控件,插入到Password页面,再放置静态文本和按钮控件。文本框控件AN编号为5

新建citectVBA的sub
Sub QXLS()
Dim txtbox As Object
Dim strpwd
Set txtbox =Password_AN5
strpwd=txtbox.text
If strpwd="3390011" Then
LS=0
Else
msgbox "密码错误"
End If
End Sub

Password画面的按钮调用这个SUB
VbCallReturn(VbCallRun(vbcallopen("QXLS")))

再次新建一个sub
Sub Initxtbox()
Dim txtbox As Object
Set txtbox =Password_AN5
txtbox.PasswordChar="*" '掩码显示为*
End Sub
在password画面的“进入画面时”事件添加下面的脚本
VbCallReturn(VbCallRun(vbcallopen("Initxtbox")))
这样就会初始化文本框,使输入的内容显示为*

在主画面的取消联锁按钮添加下面的cicode脚本
PagePopUp("Password")
保存、编译、运行。点击主画面上取消连锁按钮,弹出密码输入窗口,密码输入框输入的时候显示*,如果输入正确,取消联锁,输入错误显示密码错误。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有