wincc如何实现自定义对话框登陆、退出!!(干货)
第一步:在用户管理器中添加用户名、密码
首先我们新建一个项目,然后双击“用户管理器”,弹出如下页面:
然后建立用户名、密码。如下图:
第二步:定义变量
1.双击“变量管理”,打开“变量管理”
2.打开“内部变量”
3.添加两个内部变量。分别为“username(用户名变量,数据类型为文本变量16位字符集)、password(密码变量,数据类型为文本变量16位字符集)”
第三步: 绘制输入输出域
首先双击“图形编辑器”。
1.点击右侧“标准”中的“静态文本”框,填写“用户名”、“密码”
2.点击右侧“标准”中的“输入/输出域”,绘制两个“输入/输出域”框
3.关联“输入/输出域”变量,将前面定义的“内部变量”关联到对应的“输入/输出域”中。
4. 定义“输入/输出域”的格式
第四步: 绘制登陆、退出按钮
1.绘制登陆、退出按钮
第五步 编写C程序
1.具体如下图
2.如下图
3.现在就可以编写C程序了
程序如下:
4.“退出”按钮C程序如下
3.创建一个新的页面,即为第五步,第3中定义的一个窗口,名字为“NewPdl2.PDL”
现在,已经实现了wicc自定义对话框登陆、退出的操作。下面我会将程序上传,大家可以下载。
程序
//登陆按钮C脚本
#pragma option(mbcs)
#include"USEGENAP.H"
#pragma code("UseAdmin.DLL")
#include"pwrt_api.h"
#pragma code ()
//int s=GetInputValueChar(lpszPictureName,"输入/输出域1");
//int a=GetInputValueChar(lpszPictureName,"输入/输出域2");
if(PWRTSilentLogin(GetInputValueChar(lpszPictureName,"输入/输出域1"),GetInputValueChar(lpszPictureName,"输入/输出域2"))==FALSE)
{
if(MessageBox(NULL,"错误,请重新输入!","提示",MB_ICONEXCLAMATION|MB_SYSTEMMODAL));
}
else
{
OpenPicture("NewPdl1.PDL");
SetTagChar("NewTag_1",""); //Return-Type: BOOL
}
//退出按钮C脚本
if(IDYES==MessageBox(NULL, "是否真的退出","退出", MB_YESNO |MB_SYSTEMMODAL))
{
DeactivateRTProject ();
}