各位好,现在在做一个画面P2(此画面被父画面P1画面窗口PW1调用),P2上的按钮需要触发一个脉冲信号,按下按钮 置Tag1为1,释放按钮 复位Tag1同时关闭P2(或者说PW1不显示),因为释放按钮需要执行两个动作,所以要用C或者VBS脚本。
看到之前有用到这条语句:SetVisible(GetParentPicture(lpszPictureName),GetParentPictureWindow(lpszPictureName),FALSE);
我写的是:
SetVisible(GetParentPicture(“P2.Pdl”),GetParentPictureWindow("P2.Pdl"),FALSE);
怎么就关不上呢?到底哪儿写错了呢?
最佳答案
tag1的置位和复位就不说了。
关闭画面窗口脚本用这个,通用脚本,而且不需要考虑什么画面和画面窗口的名字。
int i, j, n;
char pic_name[256];
char obj_name[60];
n = strlen( lpszPictureName );
for ( i = n; i > 0; i-- )
if ( lpszPictureName[i] == ''.'' )
{
strncpy( pic_name, lpszPictureName, i );
strcpy( obj_name, &lpszPictureName[i+1] );
for ( j = 0; j < (n-i); j++)
if ( obj_name[j] == '':'' )
{
obj_name[j] = ''\0'';
break;
}
SetVisible(pic_name,obj_name,FALSE);
break;
}
提问者对于答案的评价:
发现相当好用,多谢!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc255650.html