技术论坛

 • 产品分类
 • 咱工程师的故事
 • 培训与认证答疑专区
 • 服务合作伙伴专区

 如何实现输入输出域输入一个数值,当超过设定值时弹出对话框提示是否确定输入?

返回主题列表
作者 主题
小猪宝宝♂
侠圣

经验值:3555
发帖数:237
精华帖:4
楼主    2017-11-08 11:28:34
主题:如何实现输入输出域输入一个数值,当超过设定值时弹出对话框提示是否确定输入?

如何实现输入输出域输入一个数值,当超过设定值时弹出对话框提示是否确定输入;如果没有超出限值则不提示正常输入?其实这个思路和

《使用WinCC输入输出域实现带确认的输入操作》效果是类似的,只不过这个是实现超过限值时,弹出对话框,而上面这个是只要输入数值就弹出。

项目要求弹出对话框之后,点击确定,输入数值;点击取消,保留上一次的输入值。

操作步骤如下:

1、建立一个输入输出域,并关联一个变量,我这里是用的是DWORD类型变量angle;

2、属性--几何--位置x--C动作,输入以下程序

DWORD i;

int b;

static DWORD a;

i=GetTagDWord("angle"); //Return-Type: DWORD 

if(i>80)

{

b=

MessageBox(NULL,"是否将这个数值输入!","提示",

MB_OKCANCELMB_ICONEXCLAMATIONMB_SETFOREGROUNDMB_SYSTEMMODAL);

switch(b)

{

case 1:SetTagDWord("angle",i);break;//确定  是1将要写进的值写入输入框

case 2:SetTagDWord("angle",a);break;//取消是2 保留上一次输入值

}

}

a=i;

return 380;

3、编译并保存;触发变量--angle;

点击运行,即可实现功能


哈哈哈哈,人生不如意事,十有七八,能与人诉之一二。
小猪宝宝♂
侠圣

经验值:3555
发帖数:237
精华帖:4
4楼    2017-11-09 08:40:18
精华帖  主题:回复:如何实现输入输出域输入一个数值,当超过设定值时弹出对话框提示是否确定输入?

程序部分改进版,可以把需要输入的输入值显示在对话框中,感谢任班,又学了一些如何使用sprintf函数,和他们讨论的时候没搞明白这个函数怎么用的,找了别的程序参考一下,做出来了。

DWORD i;

int b;

static DWORD a;

char c[256];

i=GetTagDWord("angle"); //Return-Type: DWORD 

if(i>80)

{

sprintf(c,"是否要将%d这个超限值输入",i);

b=

MessageBox(NULL,c,"提示",

MB_OKCANCELMB_ICONEXCLAMATIONMB_SETFOREGROUNDMB_SYSTEMMODAL);

switch(b)

{

case 1:SetTagDWord("angle",i);break;//确定  是1将要写进的值写入输入框

case 2:SetTagDWord("angle",a);break;//取消是2 保留上一次输入值

}

}

a=i;

return 380;


哈哈哈哈,人生不如意事,十有七八,能与人诉之一二。
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。