回复:简化程序!!!

【三.三】

  • 帖子

    96
  • 精华

    1
  • 被关注

    5

论坛等级:游民

注册时间:2009-05-27

普通 普通 如何晋级?

发布于 2012-03-21 11:08:30

3楼

quote:以下是引用城外之人在2012-03-20 07:39:06的发言:
不要用定义字符串常数的方法。
char sWndName[50];
short int i;

//先隐藏所有画面窗口
for (i=1;i<=12;i++)
{
sprintf(sWndName,"状态画面%i",i);
SetVisible(PIC_Name,sWndName ,0);
}
//再显示某个画面窗口
if (Value>0)
{
sprintf(sWndName,"状态画面%i",Value);
SetVisible(PIC_Name,sWndName ,1);
}

++++++++++++++++++++++++++++++++++++++++++++
封装成项目函数如下。
void PIC(char *PIC_Name,char * sWnd,char *TAG)
{
//PIC_Name 画面窗口所在主画面名称
//sWnd 画面窗口对像名称前缀
//TAG 控制变量

int Value=GetTagWord(TAG); //Control_TAG 控制画面变量
char sWndName[50];
short int i;

//先隐藏所有画面窗口(12个画面窗口)
for (i=1;i<=12;i++)
{
sprintf(sWndName,"sWnd%i",i); //PIC_sWnd 画面窗口的对像名称前缀
SetVisible(PIC_Name,sWndName ,0);
}
//再显示某个画面窗口
if (Value>0)
{
sprintf(sWndName,"sWnd%i",Value);
SetVisible(PIC_Name,sWndName ,1);
}

}

++++++++++++++++++++++++++++++++++++++++++++
调用项目函数如下。

char st[20]="状态画面";
PIC("S0.PDL",&st[0],"工作工位选择"); //Return-Type: void
编译成功,运行状态不对,st传递有错,直接将"状态画面"替换项目函数的"sWnd"运行正常。现在不知道怎么弄了!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32564条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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