C脚本关闭当前对话框,谁能解释下每句的含义?
void CloseInternalWindow(char *lpszPictureName)
{
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;
}
}
最佳答案
都是很基本的C语句,其最终目的是将传入的lpszPictureName参数,分解为pic_name和obj_name。
lpszPictureName通常直接从执行该脚本的事件参数lpszPictureName继承,其值类似于:
<主画面名称.画面窗口名称:子画面名称>
你在SetVisible语句前面面加两句:
printf("\r\nlpszPictureName:%s",lpszPictureName);
printf("\r\npic_name:%s,obj_name%s",pic_name,obj_name);
用GSC控件观察输出结果就知道怎么回事了。
提问者对于答案的评价:
OK
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc271416.html