C脚本学习之弹窗

已锁定

十八般武艺

  • 帖子

    10
  • 精华

    0
  • 被关注

    1

论坛等级:游士

注册时间:2011-11-04

普通 普通 如何晋级?

C脚本学习之弹窗

2321

2

2023-08-16 10:33:02

闲来无事,参考教程以C脚本为核心做了一些有关弹窗的东西,分享部分代码如下:

------

触发弹窗的代码,可放在按钮或者流程图设备上的鼠标点击事件下。

需要了解的概念:窗口画面、变量前缀、C脚本、结构变量

------

/*

功能说明

判断画面窗口1的变量前缀和计划给的变量前缀是否相等,

若相等,正常的隐藏、显示画面窗口。

若不相等,隐藏窗口画面,重新设置窗口画面的X、Y坐标。给如新的变量前缀,显示窗口画面。

*/

BOOL IsVisible;  //画面窗口是否可见的中间变量

BOOL IsEqual;    //变量前缀是否相等的中间变量

char* GValue;    //获取到的窗口画面变量前缀

char* SValue;    //计划设定的画面前缀

SValue = ("XV1001");   //本地化应用以后每次只需要修改这里""内的值

GValue =GetTagPrefix("020 窗口画面.PDL","画面窗口1");  //这个根据本地画面组态的情况注意一一对应,以下不再重复提醒

IsEqual =strcmp(SValue,GValue);  //strcmp比较返回BOOL 0说明相等

IsVisible =GetPropBOOL(lpszPictureName,"画面窗口1","Visible");

if (IsEqual==0)

{

    if(IsVisible)

    {

     SetPropBOOL(lpszPictureName,"画面窗口1","Visible",FALSE);

    }

    else

    {

    //窗口X坐标

    SetPropWord(lpszPictureName,"画面窗口1","Left",GetPropWord(lpszPictureName,lpszObjectName,"Left")-100);

    //窗口Y坐标

    SetPropWord(lpszPictureName,"画面窗口1","TOP",GetPropWord(lpszPictureName,lpszObjectName,"TOP")-350);

    //改变量前缀

    SetTagPrefix(lpszPictureName,"画面窗口1",SValue);

    //刷新缓存,必须有这句不然不起作用

    SetPictureName(lpszPictureName,"画面窗口1","Model_Valva.Pdl");

    SetPropBOOL(lpszPictureName,"画面窗口1","Visible",TRUE);

    }


}

else

    SetPropBOOL(lpszPictureName,"画面窗口1","Visible",FALSE);

    //窗口X坐标

    SetPropWord(lpszPictureName,"画面窗口1","Left",GetPropWord(lpszPictureName,lpszObjectName,"Left")-100);

    //窗口Y坐标

    SetPropWord(lpszPictureName,"画面窗口1","TOP",GetPropWord(lpszPictureName,lpszObjectName,"TOP")-350);

    //改变量前缀

    SetTagPrefix(lpszPictureName,"画面窗口1",SValue);

    //刷新缓存,必须有这句不然不起作用

    SetPictureName(lpszPictureName,"画面窗口1","Model_Valva.Pdl");

    SetPropBOOL(lpszPictureName,"画面窗口1","Visible",TRUE);

}

//printf("逻辑运算结果为:%s。", ifequal ? "true" : "false"); 


另,请教各位怎么把红色部分重复的代码做到全局脚本里面,有没有老师给个例子?


C脚本学习之弹窗 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32978条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。