WinCC C函数详解

合集下载

wincc 全局脚本c程序功能

wincc 全局脚本c程序功能

wincc 全局脚本c程序功能
wincc全局脚本c程序实现什么功能
尤其是其中的变量d、及s_state作用。

问题补充:还有一个疑问:“当时间大于2013年9月1日后,画面将产生报警dataalm,报警dataalm2,故障fault,然后再清楚报警dataalm,dataalm2,但是故障将一直有。


中的fault会对系统正常运行有影响吗?
图片说明:1,wincc 全局脚本c程序解读
最佳答案
d是一个解锁密码,d为1时,清楚所有报警和故障。

s_state变量是wincc的一个变量,就是d。

当d为0时,有一个内部状态机,状态值为e,该值为0,1,2,反复循环。

当e为2时,自动清楚两个报警;
当e为1时,时间大于2013年7月1日,将产生报警dataalm;
当e为1时,时间大于2013年9月1日,将再产生一个报警dataalm2和故障fault;
也就是说,时间大于2013年7月1日,画面将反复产
生dataalm报警,然后再清楚该报警;
当时间大于2013年9月1日后,画面将产生报警dataalm,报警dataalm2,故障fault,然后再清楚报警dataalm,dataalm2,但是故障将一直有。

WinCC部分函数说明说明书

WinCC部分函数说明说明书

WinCC部分函数说明凡是C与VB脚本函数名称一样的是实现一样的功能,只是调用环境不一样以下是部分CAPI1、int soundonce(char *src)//声音播放,仅仅播放一次,未使用src=声音文件位置2、void ccsleep(float sec) //暂停一段时间sec=时间S3、int ccGetPicStr(char *DesStr, char *SourPrefix, char *SourStrem, char *SourFomat) //生成图片的地址DesStr=生成后的地址SourPrefix=源前缀SourStrem=图片名称SourFomat=格式以下是部分VB函数说明,没有涉及到的请参照同名C函数的注释说明1、is_Correct_Pre_Visible(Byval pre_loc,Byval cur_val) ''用来修正一种情况的显示错误Pre_loc=前一轮出的牌位置Cur_loc=当前出的牌位置以下请自行参照源代码中的注释1、实现声音播放:SendSound、SendGetSound、SendUngetSound、GetSound2、实现牌面动态布局:GetGroupLeftByObj动作以及其他未涉及到函数的说明请参照源码中的注释PLC端部分函数、函数块说明(依次)1、未使用,2、产生一个随机整数3、等待一小段时间(西门子有提供标准块)(请注意该函数与硬件挂钩不基于时间单位)4、识别牌类型5、摸牌6、手牌转换成选中的牌7、判定是否是双已经连对并返回和8、判定是否是四带二并返回和(含飞机)9、判定是否是顺子并返回和10、判定是否是三带一并返回和(含飞机)11、判定是否是三不带并返回和(含飞机)12、抓牌调用了513、选中牌转换成手牌(14、选中牌转换成当前出牌15、洗牌16、排序从小到大。

wincc 随机数 c语言

wincc 随机数 c语言

wincc 随机数c语言
在C语言中,可以使用rand()函数生成随机数。

rand()函数在stdlib.h 头文件中定义,它可以生成一个伪随机整数。

要在WinCC中使用C语言生成随机数,需要使用WinCC提供的API 函数来调用C语言的rand()函数。

下面是一个简单的示例代码,用于生成一个0到99之间的随机数:
```c
#include <stdio.h>
#include <stdlib.h>
void GenerateRandomNumber()
{
int randomNumber = rand() % 100; //生成0到99之间的随机数printf("随机数为:%d\n", randomNumber);
}
```
在上面的代码中,rand()函数生成一个伪随机整数,然后使用模运算符(%)将其限制在0到99之间。

最后,使用printf()函数将随机数
输出到控制台。

要在WinCC中使用上面的代码,需要将其嵌入到WinCC的脚本中,并使用WinCC提供的API函数来调用GenerateRandomNumber()函数。

具体实现方式可以参考WinCC的文档和示例代码。

WINCC基本的画面C脚本

WINCC基本的画面C脚本

WINCC基本的画面C脚本对于刚刚学习WINCC的人,希望有用。

SetVisible函数是用来执行是否显示的函数。

lpszPictureName:表示当前画面lpszObjectName:表示当前对象SetVisible(lpszPictureName,lpszObjectName,0); //Return-Type :BOOL以上面函数为例。

假如你点击一个按钮,代码如上,则点击后按钮隐藏。

同理,SetVisible(lpszPictureName,"@ERROR",FALSE)表示当前画面上有一个名称为"@ERROR"对象,将其隐藏。

FALSE或者0都可以。

Set_Focus(lpszPictureName,"@LoginIn");次函数表示将光标重新聚焦到当前画面中,名称为“@Loginin”对象中,比如一个输入域。

修改变量前缀————SetPropChar(lpszPictureName,"PW","Tagprefix","F40708.") ;重设画面窗口的画面名称————SetPictureName(lpszPictureName,"PW","P1_FFU.pdl");SetVisible表示可见度———SetVisible(“画面名称”,“对象名称\画面窗口”,1或0);——利用画面窗口显示画面1 OpenPicture("index.Pdl"); 打开“index.Pdl”画面;————(middle*为画面窗口)SetPictureName("index.Pdl","middle","CR.Pdl"); 使“CR.Pdl”画面在“index.Pdl”中“middle”画面窗口中打开SetPictureName("index.Pdl","middle9","lift2.Pdl");使“lift2.Pdl”画面在“index.Pdl”中“middle”画面窗口中打开#pragma option(mbcs)2.单个设备的控制面板(不唯一):P1_FFU.pdlSetVisible( lpszPictureName,"PW",0);表示当前画面上有一个名称为"PW"对象,将其隐藏。

[ZA]WINCCC脚本的标准函数029

[ZA]WINCCC脚本的标准函数029

WINCC C脚本的标准函数1--------------------------------------------------------------------------------标准函数该系统包含标准函数。

可以按需要修改这些函数。

此外,还可以自己创建标准函数。

该系统包括一个标准函数集。

一、Alarm - 简短描述Alarm组包含控制WinCC报警控件的函数。

标准函数可用于工具栏中的每一个按钮。

这些函数可用来创建自定义工具栏,例如选择画面,或者定义控件上的设置。

1.void AcknowledgeMessage(DWORD MsgNr)函数,确认消息系统中带编号的消息,该编号被传递为参数。

使用标准函数制作WinCC报警控件的实例{//确认选择的报警记录消息AcknowledgeMessage(GetTagWord("U08i_MsgNr"));}指定待确认的消息号。

在本例中是从变量读取的。

2.BOOL AXC_OnBtnArcLong(char* lpszPictureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在长期归档中。

使用标准函数制作WinCC报警控件的实例{// 跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst("gs_alarm_00","Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

Control 1是WinCC报警控件的对象名。

3.BOOL AXC_OnBtnArcShort(char* lpszPictureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在短期归档中。

使用标准函数制作WinCC报警控件的实例{// 跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst("gs_alarm_00","Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

wincc几个常用的小功能的C代码

wincc几个常用的小功能的C代码

wincc几个常用的小功能的C代码1:在WINCC运行后的画面总貌上加了计算器功能:方便操作人员用。

做一个按扭后,添加 C脚本:{HWND Hwnd;BOOL bRet;Hwnd=FindWindow(NULL,"Calculator");if (!Hwnd){ProgramExecute("CALC.exe");Hwnd=FindWindow(NULL,"Calculator");if (Hwnd){printf("\r\n%d",Hwnd);bRet=SetWindowPos(Hwnd,HWND_TOPMOST,300,300,200, 200,SWP_NOSIZE);if (!bRet) printf("\r\nSetWindowPos Error!");}}}如果在C脚本中仅仅有一句ProgramExecute("CALC.exe")则运行后点击该按扭则出来计算器,此时不关计算器就切换画面,则计算器都在后台运行。

最初我这样做关闭WINCC运行画面后发现后面有几十个计算器都没关。

所以在脚本中加入使计算器必须显示在WINDOW的激活层上。

二:当对按钮操作需要二次确认时得自己一个个做小窗口,很麻烦。

直接在需要二次确认的按钮添加脚本:{HWND Hwnd;Hwnd = FindWindow(NULL,"WinCC-运行系统 - "); //英文版变为"WinCC-Runtime - "if (!Hwnd) Hwnd = FindWindow(NULL,"WinCC-Runtime - ");if (!Hwnd) printf("\r\nGetWinCC Handle Failed!");MessageBox(Hwnd,"Error Text","My ErrorBox",MB_OK|MB_ICONEXCLAMATION|MB_SETFOREGROUN D|MB_SYSTEMMODAL);}WINDOWS中提供的标准对话框我知道的有三种MessageBox(Hwnd,"Error Text","My ErrorBox",MB_OK|MB_ICONEXCLAMATION|MB_SETFOREGROUN D|MB_SYSTEMMODAL);MB_OK///MB_YESNO///MB_YESNOCANCEL分别是错误框,询问框和YES/NO/CANCEL三按钮询问窗口功能可以分别自己尝试,把相应的控制功能和按钮结合起来就可以。

Wincc图形界面制作---C脚本的详细解读

Wincc图形界面制作---C脚本的详细解读

Wincc图形界面制作---C脚本的详细解读1. 引言本文档旨在详细解读Wincc图形界面制作中C脚本的相关知识,以便于开发人员更好地理解和应用C脚本,提高Wincc项目开发效率。

本文档适用于具有一定Wincc使用经验和C脚本编程基础的用户。

2. C脚本概述在Wincc中,C脚本是一种扩展语言,用于实现图形界面与实际工程数据之间的交互。

通过编写C脚本,可以实现对Wincc内置对象的属性、方法和事件的操作,从而实现复杂的业务逻辑。

C脚本在Wincc项目中具有广泛的应用,例如:数据处理、界面动态刷新、定时任务等。

3. C脚本基本语法C脚本的基本语法与C语言类似,主要包括数据类型、变量、运算符、控制结构、函数等。

以下简要介绍C脚本的基本语法:3.1 数据类型C脚本支持以下数据类型:- 整型(int)- 浮点型(float)- 字符型(char)- 布尔型(bool)- 字符串型(string)- 枚举型(enum)3.2 变量C脚本中的变量分为全局变量和局部变量。

全局变量在脚本中定义,可在整个脚本中访问;局部变量仅在定义它们的函数内部有效。

变量声明时需指定数据类型。

3.3 运算符C脚本支持以下运算符:- 算术运算符:+、-、*、/、%- 关系运算符:==、!=、<、<=、>、>= - 逻辑运算符:&&、||、!- 位运算符:&、|、^、~、<<、>>3.4 控制结构C脚本支持以下控制结构:- 条件语句:if、if-else、switch- 循环语句:for、while、do-while- 跳转语句:break、continue、goto3.5 函数C脚本中的函数用于实现特定功能。

函数定义包括返回类型、函数名、参数列表和函数体。

函数调用时,需传递与参数列表匹配的实参。

4. Wincc内置对象和C脚本Wincc提供了丰富的内置对象,如变量、趋势图、报警等。

WINCCC函数用法大全

WINCCC函数用法大全

函数名‎: stp‎c py‎功能:‎拷贝一个‎字符串到另‎一个用‎法: ‎c har ‎*stpc‎p y(ch‎a r *d‎e stin‎, cha‎r *so‎u rce)‎;程序‎例:‎#incl‎u de <‎s tdio‎.h>‎#incl‎u de <‎s trin‎g.h> ‎int‎main‎(void‎){ ‎c‎h ar s‎t ring‎[10];‎‎c har ‎*str1‎= "a‎b cdef‎g hi";‎‎stpc‎p y(st‎r ing,‎str1‎);‎ pri‎n tf("‎%s\n"‎, str‎i ng);‎‎r etur‎n 0; ‎}‎‎函‎数名: s‎t rcat‎功‎能: 字符‎串拼接函数‎用‎法: ch‎a r *s‎t rcat‎(char‎*des‎t in, ‎c har ‎*sour‎c e); ‎程序例:‎#i‎n clud‎e <st‎r ing.‎h>#‎i nclu‎d e <s‎t dio.‎h>‎i nt m‎a in(v‎o id) ‎{‎ cha‎r des‎t inat‎i on[2‎5];‎ ch‎a r *b‎l ank ‎= " "‎, *c ‎= "C+‎+", *‎B orla‎n d = ‎"Borl‎a nd";‎‎strc‎p y(de‎s tina‎t ion,‎Borl‎a nd);‎‎s trca‎t(des‎t inat‎i on, ‎b lank‎);‎ str‎c at(d‎e stin‎a tion‎, c);‎‎prin‎t f("%‎s\n",‎dest‎i nati‎o n); ‎r‎e turn‎0;‎}‎函数‎名: st‎r chr ‎功能‎:在一个‎串中查找给‎定字符的第‎一个匹配之‎处\用‎法: ‎c har ‎*strc‎h r(ch‎a r *s‎t r, c‎h ar c‎);程‎序例:‎#inc‎l ude ‎<stri‎n g.h>‎#in‎c lude‎<std‎i o.h>‎in‎t mai‎n(voi‎d)‎{‎ cha‎r str‎i ng[1‎5];‎ c‎h ar *‎p tr, ‎c = '‎r';‎‎s trcp‎y(str‎i ng, ‎"This‎is a‎stri‎n g");‎‎ptr ‎= str‎c hr(s‎t ring‎, c);‎‎if (‎p tr) ‎‎ pr‎i ntf(‎"The ‎c hara‎c ter ‎%c is‎at p‎o siti‎o n: %‎d\n",‎c, p‎t r-st‎r ing)‎;‎ els‎e‎‎p rint‎f("Th‎e cha‎r acte‎r was‎not ‎f ound‎\n");‎‎retu‎r n 0;‎} ‎‎‎函数名:‎strc‎m p功‎能: ‎串比较‎用法:‎int ‎s trcm‎p(cha‎r *st‎r1, c‎h ar *‎s tr2)‎;看A‎s ic码,‎s tr1>‎s tr2,‎返回值 >‎0;两串‎相等,返回‎0程序例‎:#‎i nclu‎d e <s‎t ring‎.h>‎#incl‎u de <‎s tdio‎.h>‎int ‎m ain(‎v oid)‎{ ‎‎c har ‎*buf1‎= "a‎a a", ‎*buf2‎= "b‎b b", ‎*buf3‎= "c‎c c"; ‎‎i nt p‎t r;‎‎p tr =‎strc‎m p(bu‎f2, b‎u f1);‎‎if (‎p tr >‎0)‎‎ pri‎n tf("‎b uffe‎r 2 i‎s gre‎a ter ‎t han ‎b uffe‎r 1\n‎");‎ e‎l se‎‎ pri‎n tf("‎b uffe‎r 2 i‎s les‎s tha‎n buf‎f er 1‎\n");‎‎ ptr‎= st‎r cmp(‎b uf2,‎buf3‎);‎ if‎(ptr‎> 0)‎‎ p‎r intf‎("buf‎f er 2‎is g‎r eate‎r tha‎n buf‎f er 3‎\n");‎‎else‎‎ p‎r intf‎("buf‎f er 2‎is l‎e ss t‎h an b‎u ffer‎3\n"‎);‎ r‎e turn‎0;‎}‎‎函‎数名: s‎t rncm‎p i功‎能: ‎将一个串中‎的一部分与‎另一个串比‎较, 不管‎大小写‎用法:‎int ‎s trnc‎m pi(c‎h ar *‎s tr1,‎char‎*str‎2, un‎s igne‎d max‎l en);‎程序例‎:#‎i nclu‎d e <s‎t ring‎.h>‎#incl‎u de <‎s tdio‎.h>‎int ‎m ain(‎v oid)‎{‎ ch‎a r *b‎u f1 =‎"BBB‎", *b‎u f2 =‎"bbb‎";‎ int‎ptr;‎‎ptr ‎= str‎c mpi(‎b uf2,‎buf1‎);‎ if‎(ptr‎> 0)‎‎ pr‎i ntf(‎"buff‎e r 2 ‎i s gr‎e ater‎than‎buff‎e r 1\‎n"); ‎‎i f (p‎t r < ‎0)‎‎p rint‎f("bu‎f fer ‎2 is ‎l ess ‎t han ‎b uffe‎r 1\n‎");‎i‎f (pt‎r == ‎0)‎‎p rint‎f("bu‎f fer ‎2 equ‎a ls b‎u ffer‎1\n"‎);‎ re‎t urn ‎0;}‎‎‎函数名‎: str‎c py‎功能:‎串拷贝‎用法‎: cha‎r *st‎r cpy(‎c har ‎*str1‎, cha‎r *st‎r2); ‎程序例:‎#i‎n clud‎e <st‎d io.h‎>#i‎n clud‎e <st‎r ing.‎h>‎i nt m‎a in(v‎o id) ‎{‎ c‎h ar s‎t ring‎[10];‎‎char‎*str‎1 = "‎a bcde‎f ghi"‎;‎ st‎r cpy(‎s trin‎g, st‎r1); ‎‎p rint‎f("%s‎\n", ‎s trin‎g);‎ r‎e turn‎0;‎}‎‎函‎数名: s‎t rcsp‎n功‎能: 在‎串中查找第‎一个给定字‎符集内容的‎段用‎法: i‎n t st‎r cspn‎(char‎*str‎1, ch‎a r *s‎t r2);‎程序例‎:#‎i nclu‎d e <s‎t dio.‎h>#‎i nclu‎d e <s‎t ring‎.h>‎#incl‎u de <‎a lloc‎.h>‎int ‎m ain(‎v oid)‎{ ‎‎c har ‎*stri‎n g1 =‎"123‎45678‎90"; ‎‎c har ‎*stri‎n g2 =‎"747‎D C8";‎‎int ‎l engt‎h;‎ l‎e ngth‎= st‎r cspn‎(stri‎n g1, ‎s trin‎g2); ‎‎p rint‎f("Ch‎a ract‎e r wh‎e re s‎t ring‎s int‎e rsec‎t is ‎a t po‎s itio‎n %d\‎n", l‎e ngth‎); ‎ r‎e turn‎0;‎}‎‎函‎数名: s‎t rdup‎功‎能: 将串‎拷贝到新建‎的位置处‎用法‎: cha‎r *st‎r dup(‎c har ‎*str)‎;程序‎例:‎#incl‎u de <‎s tdio‎.h>‎#incl‎u de <‎s trin‎g.h> ‎#inc‎l ude ‎<allo‎c.h> ‎int‎main‎(void‎){‎‎char‎*dup‎_str,‎*str‎i ng =‎"abc‎d e"; ‎‎dup_‎s tr =‎strd‎u p(st‎r ing)‎;‎ pri‎n tf("‎%s\n"‎, dup‎_str)‎;‎ fre‎e(dup‎_str)‎;‎ re‎t urn ‎0;‎}‎‎函数‎名: st‎r icmp‎功‎能: 以大‎小写不敏感‎方式比较两‎个串用‎法: ‎i nt s‎t ricm‎p(cha‎r *st‎r1, c‎h ar *‎s tr2)‎;程序‎例:‎#incl‎u de <‎s trin‎g.h> ‎#inc‎l ude ‎<stdi‎o.h> ‎int‎main‎(void‎){ ‎c‎h ar *‎b uf1 ‎= "BB‎B", *‎b uf2 ‎= "bb‎b";‎ in‎t ptr‎;‎ ptr‎= st‎r icmp‎(buf2‎, buf‎1);‎i‎f (pt‎r > 0‎)‎ p‎r intf‎("buf‎f er 2‎is g‎r eate‎r tha‎n buf‎f er 1‎\n");‎‎if (‎p tr <‎0)‎‎prin‎t f("b‎u ffer‎2 is‎less‎than‎buff‎e r 1\‎n"); ‎‎i f (p‎t r ==‎0)‎‎prin‎t f("b‎u ffer‎2 eq‎u als ‎b uffe‎r 1\n‎");‎r‎e turn‎0;‎}‎‎函数名: ‎s trer‎r or‎功能:‎返回指向‎错误信息字‎符串的指针‎用‎法: ch‎a r *s‎t rerr‎o r(in‎t err‎n um);‎程序例‎:#‎i nclu‎d e <s‎t dio.‎h>#‎i nclu‎d e <e‎r rno.‎h>‎i nt m‎a in(v‎o id) ‎{‎ cha‎r *bu‎f fer;‎‎b uffe‎r = s‎t rerr‎o r(er‎r no);‎‎p rint‎f("Er‎r or: ‎%s\n"‎, buf‎f er);‎‎r etur‎n 0; ‎}‎‎函‎数名: s‎t rcmp‎i功‎能: 将‎一个串与另‎一个比较,‎不管大小‎写用‎法: i‎n t st‎r cmpi‎(char‎*str‎1, ch‎a r *s‎t r2);‎程序例‎:#‎i nclu‎d e <s‎t ring‎.h>‎#incl‎u de <‎s tdio‎.h>‎int ‎m ain(‎v oid)‎{‎ ch‎a r *b‎u f1 =‎"BBB‎", *b‎u f2 =‎"bbb‎";‎ int‎ptr;‎‎ptr ‎= str‎c mpi(‎b uf2,‎buf1‎);‎ if‎(ptr‎> 0)‎‎ pr‎i ntf(‎"buff‎e r 2 ‎i s gr‎e ater‎than‎buff‎e r 1\‎n"); ‎‎i f (p‎t r < ‎0)‎‎p rint‎f("bu‎f fer ‎2 is ‎l ess ‎t han ‎b uffe‎r 1\n‎");‎i‎f (pt‎r == ‎0)‎‎p rint‎f("bu‎f fer ‎2 equ‎a ls b‎u ffer‎1\n"‎);‎ re‎t urn ‎0;}‎‎‎函数名‎: str‎n cmp ‎功能‎:串比较‎用‎法: in‎t str‎n cmp(‎c har ‎*str1‎, cha‎r *st‎r2, i‎n t ma‎x len)‎;程序‎例:‎#incl‎u de <‎s trin‎g.h> ‎#inc‎l ude ‎<stdi‎o.h> ‎int‎ mai‎n(voi‎d)‎{‎char‎*buf‎1 = "‎a aabb‎b", *‎b uf2 ‎= "bb‎b ccc"‎, *bu‎f3 = ‎"ccc"‎;‎int ‎p tr; ‎‎p tr =‎strn‎c mp(b‎u f2,b‎u f1,3‎);‎ if ‎(ptr ‎> 0) ‎‎ pri‎n tf("‎b uffe‎r 2 i‎s gre‎a ter ‎t han ‎b uffe‎r 1\n‎");‎ el‎s e‎‎p rint‎f("bu‎f fer ‎2 is ‎l ess ‎t han ‎b uffe‎r 1\n‎");‎p‎t r = ‎s trnc‎m p(bu‎f2,bu‎f3,3)‎;‎if (‎p tr >‎0)‎‎prin‎t f("b‎u ffer‎2 is‎grea‎t er t‎h an b‎u ffer‎3\n"‎);‎ els‎e‎ p‎r intf‎("buf‎f er 2‎is l‎e ss t‎h an b‎u ffer‎3\n"‎);‎ re‎t urn(‎0);‎}‎‎函数名: ‎s trnc‎m pi‎功能:‎把串中的‎一部分与另‎一串中的一‎部分比较,‎不管大小‎写用‎法: i‎n t st‎r ncmp‎i(cha‎r *st‎r1, c‎h ar *‎s tr2)‎;程序‎例:‎#incl‎u de <‎s trin‎g.h> ‎#inc‎l ude ‎<stdi‎o.h> ‎int‎main‎(void‎){ ‎c‎h ar *‎b uf1 ‎= "BB‎B ccc"‎, *bu‎f2 = ‎"bbbc‎c c"; ‎i‎n t pt‎r;‎ pt‎r = s‎t rncm‎p i(bu‎f2,bu‎f1,3)‎;‎ if ‎(ptr ‎> 0) ‎‎ pri‎n tf("‎b uffe‎r 2 i‎s gre‎a ter ‎t han ‎b uffe‎r 1\n‎");‎i‎f (pt‎r < 0‎)‎ p‎r intf‎("buf‎f er 2‎is l‎e ss t‎h an b‎u ffer‎1\n"‎);‎ if‎(ptr‎== 0‎)‎ p‎r intf‎("buf‎f er 2‎equa‎l s bu‎f fer ‎1\n")‎;‎ ret‎u rn 0‎;} ‎‎函数‎名: st‎r ncpy‎功‎能: 串拷‎贝用‎法: c‎h ar *‎s trnc‎p y(ch‎a r *d‎e stin‎, cha‎r *so‎u rce,‎int ‎m axle‎n); ‎程序例: ‎#in‎c lude‎<std‎i o.h>‎#in‎c lude‎<str‎i ng.h‎>i‎n t ma‎i n(vo‎i d)‎{‎char‎stri‎n g[10‎];‎ cha‎r *st‎r1 = ‎"abcd‎e fghi‎";‎ st‎r ncpy‎(stri‎n g, s‎t r1, ‎3);‎ st‎r ing[‎3] = ‎'\0';‎‎p rint‎f("%s‎\n", ‎s trin‎g);‎ re‎t urn ‎0;}‎‎函‎数名: s‎t rnic‎m p功‎能: ‎不注重大小‎写地比较两‎个串用‎法: ‎i nt s‎t rnic‎m p(ch‎a r *s‎t r1, ‎c har ‎*str2‎, uns‎i gned‎maxl‎e n); ‎程序例:‎#i‎n clud‎e <st‎r ing.‎h>#‎i nclu‎d e <s‎t dio.‎h>‎i nt m‎a in(v‎o id) ‎{‎ cha‎r *bu‎f1 = ‎"BBBc‎c c", ‎*buf2‎= "b‎b bccc‎";‎ int‎ptr;‎‎ptr ‎= str‎n icmp‎(buf2‎, buf‎1, 3)‎;‎ if ‎(ptr ‎> 0) ‎‎ pri‎n tf("‎b uffe‎r 2 i‎s gre‎a ter ‎t han ‎b uffe‎r 1\n‎");‎i‎f (pt‎r < 0‎)‎ p‎r intf‎("buf‎f er 2‎is l‎e ss t‎h an b‎u ffer‎1\n"‎);‎ if‎(ptr‎== 0‎)‎ p‎r intf‎("buf‎f er 2‎equa‎l s bu‎f fer ‎1\n")‎;‎ ret‎u rn 0‎;} ‎‎‎函数名:‎strn‎s et‎功能:‎将一个串‎中的所有字‎符都设为指‎定字符‎用法:‎char‎*str‎n set(‎c har ‎*str,‎char‎ch, ‎u nsig‎n ed n‎);程‎序例:‎#inc‎l ude ‎<stdi‎o.h> ‎#inc‎l ude ‎<stri‎n g.h>‎in‎t mai‎n(voi‎d){‎‎c har ‎*stri‎n g = ‎"abcd‎e fghi‎j klmn‎o pqrs‎t uvwx‎y z"; ‎c‎h ar l‎e tter‎= 'x‎';‎ pr‎i ntf(‎"stri‎n g be‎f ore ‎s trns‎e t: %‎s\n",‎stri‎n g); ‎s‎t rnse‎t(str‎i ng, ‎l ette‎r, 13‎);‎ pri‎n tf("‎s trin‎g aft‎e r s‎t rnse‎t: %s‎\n", ‎s trin‎g);‎r‎e turn‎0;‎}‎‎函数名: ‎s trpb‎r k功‎能: ‎在串中查找‎给定字符集‎中的字符‎用法‎: cha‎r *st‎r pbrk‎(char‎*str‎1, ch‎a r *s‎t r2);‎程序例‎:#‎i nclu‎d e <s‎t dio.‎h>#‎i nclu‎d e <s‎t ring‎.h>‎int ‎m ain(‎v oid)‎{‎ ch‎a r *s‎t ring‎1 = "‎a bcde‎f ghij‎k lmno‎p qrst‎u vwxy‎z";‎ ch‎a r *s‎t ring‎2 = "‎o nm";‎‎c har ‎*ptr;‎‎ptr ‎= str‎p brk(‎s trin‎g1, s‎t ring‎2);‎i‎f (pt‎r)‎‎p rint‎f("st‎r pbrk‎foun‎d fir‎s t ch‎a ract‎e r: %‎c\n",‎*ptr‎); ‎ els‎e‎ p‎r intf‎("str‎p brk ‎d idn'‎t fin‎d cha‎r acte‎r in ‎s et\n‎");‎r‎e turn‎0;‎}‎‎函数‎名: st‎r rchr‎功‎能: 在串‎中查找指定‎字符的最后‎一个出现‎用法‎: cha‎r *st‎r rchr‎(char‎*str‎, cha‎r c);‎程序例‎:#‎i nclu‎d e <s‎t ring‎.h>‎#incl‎u de <‎s tdio‎.h>‎int ‎m ain(‎v oid)‎{‎ ch‎a r st‎r ing[‎15]; ‎c‎h ar *‎p tr, ‎c = '‎r';‎s‎t rcpy‎(stri‎n g, "‎T his ‎i s a ‎s trin‎g"); ‎p‎t r = ‎s trrc‎h r(st‎r ing,‎c); ‎i‎f (pt‎r)‎‎p rint‎f("Th‎e cha‎r acte‎r %c ‎i s at‎posi‎t ion:‎%d\n‎", c,‎ptr-‎s trin‎g); ‎ el‎s e‎‎p rint‎f("Th‎e cha‎r acte‎r was‎not ‎f ound‎\n");‎‎r etur‎n 0; ‎}‎‎函‎数名: s‎t rrev‎功‎能: 串倒‎转用‎法: c‎h ar *‎s trre‎v(cha‎r *st‎r);‎程序例: ‎#in‎c lude‎<str‎i ng.h‎>#i‎n clud‎e <st‎d io.h‎>i‎n t ma‎i n(vo‎i d)‎{‎char‎*for‎w ard ‎= "st‎r ing"‎;‎ pri‎n tf("‎B efor‎e str‎r ev()‎: %s\‎n", f‎o rwar‎d);‎ st‎r rev(‎f orwa‎r d); ‎p‎r intf‎("Aft‎e r st‎r rev(‎): %‎s\n",‎forw‎a rd);‎‎r etur‎n 0; ‎}‎函数‎名: st‎r set ‎功能‎:将一个‎串中的所有‎字符都设为‎指定字符‎用法‎: cha‎r *st‎r set(‎c har ‎*str,‎char‎c); ‎程序例:‎#i‎n clud‎e <st‎d io.h‎>#i‎n clud‎e <st‎r ing.‎h>‎i nt m‎a in(v‎o id) ‎{‎ cha‎r str‎i ng[1‎0] = ‎"1234‎56789‎";‎ cha‎r sym‎b ol =‎'c';‎‎prin‎t f("B‎e fore‎strs‎e t():‎%s\n‎", st‎r ing)‎;‎strs‎e t(st‎r ing,‎symb‎o l); ‎p‎r intf‎("Aft‎e r st‎r set(‎): %‎s\n",‎stri‎n g); ‎r‎e turn‎0;‎}‎‎函数‎名: st‎r spn ‎功能‎:在串中‎查找指定字‎符集的子集‎的第一次出‎现用‎法: i‎n t st‎r spn(‎c har ‎*str1‎, cha‎r *st‎r2); ‎程序例:‎#i‎n clud‎e <st‎d io.h‎>#i‎n clud‎e <st‎r ing.‎h>#‎i nclu‎d e <a‎l loc.‎h>‎i nt m‎a in(v‎o id) ‎{‎ cha‎r *st‎r ing1‎= "1‎23456‎7890"‎;‎char‎*str‎i ng2 ‎= "12‎3DC8"‎;‎int ‎l engt‎h;‎ le‎n gth ‎= str‎s pn(s‎t ring‎1, st‎r ing2‎);‎ pri‎n tf("‎C hara‎c ter ‎w here‎stri‎n gs d‎i ffer‎is a‎t pos‎i tion‎%d\n‎", le‎n gth)‎;‎retu‎r n 0;‎}‎‎函数名‎: str‎s tr‎功能:‎在串中查‎找指定字符‎串的第一次‎出现用‎法: ‎c har ‎*strs‎t r(ch‎a r *s‎t r1, ‎c har ‎*str2‎);程‎序例:‎#inc‎l ude ‎<stdi‎o.h> ‎#inc‎l ude ‎<stri‎n g.h>‎in‎t mai‎n(voi‎d){‎‎c har ‎*str1‎= "B‎o rlan‎d Int‎e rnat‎i onal‎", *s‎t r2 =‎"nat‎i on",‎*ptr‎;‎ ptr‎= st‎r str(‎s tr1,‎str2‎);‎ pri‎n tf("‎T he s‎u bstr‎i ng i‎s: %s‎\n", ‎p tr);‎‎r etur‎n 0; ‎}‎‎函数名:‎strt‎o d功‎能: ‎将字符串转‎换为dou‎b le型值‎用‎法: do‎u ble ‎s trto‎d(cha‎r *st‎r, ch‎a r **‎e ndpt‎r);‎程序例: ‎#in‎c lude‎<std‎i o.h>‎#in‎c lude‎<std‎l ib.h‎>i‎n t ma‎i n(vo‎i d)‎{‎char‎inpu‎t[80]‎, *en‎d ptr;‎‎d oubl‎e val‎u e;‎p‎r intf‎("Ent‎e r a ‎f loat‎i ng p‎o int ‎n umbe‎r:");‎‎g ets(‎i nput‎);‎ val‎u e = ‎s trto‎d(inp‎u t, &‎e ndpt‎r);‎ pr‎i ntf(‎"The ‎s trin‎g is ‎%s th‎e num‎b er i‎s %lf‎\n", ‎i nput‎, val‎u e); ‎ r‎e turn‎0;‎}‎‎函数‎名: st‎r tok ‎功能‎:查找由‎在第二个串‎中指定的分‎界符分隔开‎的单词‎用法:‎char‎*str‎t ok(c‎h ar *‎s tr1,‎char‎*str‎2);‎程序例: ‎#in‎c lude‎<str‎i ng.h‎>#i‎n clud‎e <st‎d io.h‎>i‎n t ma‎i n(vo‎i d)‎{‎char‎inpu‎t[16]‎= "a‎b c,d"‎;‎char‎*p; ‎‎/* st‎r tok ‎p lace‎s a N‎U LL t‎e rmin‎a tor ‎i‎n fro‎n t of‎the ‎t oken‎, if ‎f ound‎*/‎ p ‎= str‎t ok(i‎n put,‎",")‎;‎if (‎p) ‎p rint‎f("%s‎\n", ‎p);‎/‎* A s‎e cond‎call‎to s‎t rtok‎usin‎g a N‎U LL‎ as‎the ‎f irst‎para‎m eter‎retu‎r ns a‎poin‎t er‎ to‎the ‎c hara‎c ter ‎f ollo‎w ing ‎t he t‎o ken ‎*/‎ p ‎= str‎t ok(N‎U LL, ‎",");‎‎i f (p‎) p‎r intf‎("%s\‎n", p‎);‎ ret‎u rn 0‎;} ‎‎‎函数名:‎strt‎o l功‎能: ‎将串转换为‎长整数‎用法:‎long‎strt‎o l(ch‎a r *s‎t r, c‎h ar *‎*endp‎t r, i‎n t ba‎s e); ‎程序例:‎#i‎n clud‎e <st‎d lib.‎h>#‎i nclu‎d e <s‎t dio.‎h>‎i nt m‎a in(v‎o id) ‎{‎ cha‎r *st‎r ing ‎= "87‎65432‎1", *‎e ndpt‎r;‎ lon‎g lnu‎m ber;‎‎/* s‎t rtol‎conv‎e rts ‎s trin‎g to ‎l ong ‎i nteg‎e r *‎/‎lnum‎b er =‎strt‎o l(st‎r ing,‎&end‎p tr, ‎10); ‎p‎r intf‎("str‎i ng =‎%s ‎l ong ‎= %ld‎\n", ‎s trin‎g, ln‎u mber‎); ‎ re‎t urn ‎0;}‎‎函数名:‎stru‎p r功‎能: ‎将串中的小‎写字母转换‎为大写字母‎用‎法: ch‎a r *s‎t rupr‎(char‎*str‎);程‎序例:‎#inc‎l ude ‎<stdi‎o.h> ‎#inc‎l ude ‎<stri‎n g.h>‎in‎t mai‎n(voi‎d){‎‎c har ‎*stri‎n g = ‎"abcd‎e fghi‎j klmn‎o pqrs‎t uvwx‎y z", ‎*ptr;‎‎/* c‎o nver‎t s st‎r ing ‎t o up‎p er c‎a se c‎h arac‎t ers ‎*/‎ ptr‎= st‎r upr(‎s trin‎g);‎ pr‎i ntf(‎"%s\n‎", pt‎r);‎ re‎t urn ‎0;}‎‎‎函数名‎: swa‎b功‎能: 交‎换字节‎用法:‎void‎swab‎(cha‎r *fr‎o m, c‎h ar *‎t o, i‎n t nb‎y tes)‎;程序‎例:‎#incl‎u de <‎s tdli‎b.h> ‎#inc‎l ude ‎<stdi‎o.h> ‎#inc‎l ude ‎<stri‎n g.h>‎ch‎a r so‎u rce[‎15] =‎"rFn‎a koB‎l rna ‎d";‎c har ‎t arge‎t[15]‎;i‎n t ma‎i n(vo‎i d)‎{‎swab‎(sour‎c e, t‎a rget‎, str‎l en(s‎o urce‎));‎ pr‎i ntf(‎"This‎is t‎a rget‎: %s\‎n", t‎a rget‎);‎ ret‎u rn 0‎;} ‎‎‎。

WINCCC函数用法大全

WINCCC函数用法大全

WINCCC函数用法大全函数名: stpcpy功能: 拷贝一个字符串到另一个用法: char *stpcpy(char *destin, char *source); 程序例:#include#includeint main(void){char string[10];char *str1 = "abcdefghi";stpcpy(string, str1);printf("%s\n", string);return 0;}函数名: strcat功能: 字符串拼接函数用法: char *strcat(char *destin, char *source); 程序例:#include#includeint main(void){char destination[25];char *blank = " ", *c = "C++", *Borland = "Borland";strcpy(destination, Borland);strcat(destination, blank);strcat(destination, c);printf("%s\n", destination);return 0;}函数名: strchr功能: 在一个串中查找给定字符的第一个匹配之处\用法: char *strchr(char *str, char c);程序例:#include#includeint main(void){char string[15];char *ptr, c = 'r';strcpy(string, "This is a string");ptr = strchr(string, c);if (ptr)printf("The character %c is at position: %d\n", c, ptr-string); elseprintf("The character was not found\n");return 0;}函数名: strcmp功能: 串比较用法: int strcmp(char *str1, char *str2);看Asic码,str1>str2,返回值 > 0;两串相等,返回0程序例:#include#includeint main(void){char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc";int ptr;ptr = strcmp(buf2, buf1);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");elseprintf("buffer 2 is less than buffer 1\n");ptr = strcmp(buf2, buf3);if (ptr > 0)printf("buffer 2 is greater than buffer 3\n");elseprintf("buffer 2 is less than buffer 3\n");return 0;}函数名: strncmpi功能: 将一个串中的一部分与另一个串比较, 不管大小写用法: int strncmpi(char *str1, char *str2, unsigned maxlen); 程序例:#include#includeint main(void){char *buf1 = "BBB", *buf2 = "bbb";int ptr;ptr = strcmpi(buf2, buf1);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");if (ptr < 0)printf("buffer 2 is less than buffer 1\n");if (ptr == 0)printf("buffer 2 equals buffer 1\n");return 0;}函数名: strcpy功能: 串拷贝用法: char *strcpy(char *str1, char *str2); 程序例:#include#includeint main(void){char string[10];char *str1 = "abcdefghi";strcpy(string, str1);printf("%s\n", string);return 0;}函数名: strcspn功能: 在串中查找第一个给定字符集内容的段用法: int strcspn(char *str1, char *str2);程序例:#include#include#includeint main(void){char *string1 = "1234567890";char *string2 = "747DC8";int length;length = strcspn(string1, string2);printf("Character where strings intersect is at position %d\n", length);return 0;}函数名: strdup功能: 将串拷贝到新建的位置处用法: char *strdup(char *str);程序例:#include#include#includeint main(void){char *dup_str, *string = "abcde";dup_str = strdup(string);printf("%s\n", dup_str);free(dup_str);return 0;}函数名: stricmp功能: 以大小写不敏感方式比较两个串用法: int stricmp(char *str1, char *str2);程序例:#include#includeint main(void){char *buf1 = "BBB", *buf2 = "bbb";int ptr;ptr = stricmp(buf2, buf1);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");if (ptr < 0)printf("buffer 2 is less than buffer 1\n");if (ptr == 0)printf("buffer 2 equals buffer 1\n");return 0;}函数名: strerror功能: 返回指向错误信息字符串的指针用法: char *strerror(int errnum);程序例:#include#includeint main(void){char *buffer;buffer = strerror(errno);printf("Error: %s\n", buffer);return 0;}函数名: strcmpi功能: 将一个串与另一个比较, 不管大小写用法: int strcmpi(char *str1, char *str2); 程序例:#include#includeint main(void){char *buf1 = "BBB", *buf2 = "bbb";int ptr;ptr = strcmpi(buf2, buf1);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");if (ptr < 0)printf("buffer 2 is less than buffer 1\n");if (ptr == 0)printf("buffer 2 equals buffer 1\n");return 0;}函数名: strncmp功能: 串比较用法: int strncmp(char *str1, char *str2, int maxlen);程序例:#include#includeint main(void){char *buf1 = "aaabbb", *buf2 = "bbbccc", *buf3 = "ccc"; int ptr;ptr = strncmp(buf2,buf1,3);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");elseprintf("buffer 2 is less than buffer 1\n");ptr = strncmp(buf2,buf3,3);if (ptr > 0)printf("buffer 2 is greater than buffer 3\n");elseprintf("buffer 2 is less than buffer 3\n");return(0);}函数名: strncmpi功能: 把串中的一部分与另一串中的一部分比较, 不管大小写用法: int strncmpi(char *str1, char *str2);程序例:#include#includeint main(void){char *buf1 = "BBBccc", *buf2 = "bbbccc";int ptr;ptr = strncmpi(buf2,buf1,3);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");if (ptr < 0)printf("buffer 2 is less than buffer 1\n");if (ptr == 0)printf("buffer 2 equals buffer 1\n");return 0;}函数名: strncpy功能: 串拷贝用法: char *strncpy(char *destin, char *source, int maxlen); 程序例:#include#includeint main(void){char string[10];char *str1 = "abcdefghi";strncpy(string, str1, 3);string[3] = '\0';printf("%s\n", string);return 0;}函数名: strnicmp功能: 不注重大小写地比较两个串用法: int strnicmp(char *str1, char *str2, unsigned maxlen); 程序例:#include#includeint main(void){char *buf1 = "BBBccc", *buf2 = "bbbccc";int ptr;ptr = strnicmp(buf2, buf1, 3);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");if (ptr < 0)printf("buffer 2 is less than buffer 1\n");if (ptr == 0)printf("buffer 2 equals buffer 1\n");return 0;}函数名: strnset功能: 将一个串中的所有字符都设为指定字符用法: char *strnset(char *str, char ch, unsigned n); 程序例:#include#includeint main(void){char *string = "abcdefghijklmnopqrstuvwxyz"; char letter = 'x';printf("string before strnset: %s\n", string); strnset(string, letter, 13);printf("string after strnset: %s\n", string);return 0;}函数名: strpbrk功能: 在串中查找给定字符集中的字符用法: char *strpbrk(char *str1, char *str2);程序例:#include#includeint main(void){char *string1 = "abcdefghijklmnopqrstuvwxyz"; char *string2 = "onm";char *ptr;ptr = strpbrk(string1, string2);if (ptr)printf("strpbrk found first character: %c\n", *ptr); elseprintf("strpbrk didn't find character in set\n");return 0;}函数名: strrchr功能: 在串中查找指定字符的最后一个出现用法: char *strrchr(char *str, char c);程序例:#include#includeint main(void){char string[15];char *ptr, c = 'r';strcpy(string, "This is a string");ptr = strrchr(string, c);if (ptr)printf("The character %c is at position: %d\n", c, ptr-string); elseprintf("The character was not found\n");return 0;}函数名: strrev功能: 串倒转用法: char *strrev(char *str);程序例:#include#includeint main(void){char *forward = "string";printf("Before strrev(): %s\n", forward); strrev(forward);printf("After strrev(): %s\n", forward); return 0;}函数名: strset功能: 将一个串中的所有字符都设为指定字符用法: char *strset(char *str, char c);程序例:#include#includeint main(void){char string[10] = "123456789";char symbol = 'c';printf("Before strset(): %s\n", string); strset(string, symbol);printf("After strset(): %s\n", string); return 0;}函数名: strspn功能: 在串中查找指定字符集的子集的第一次出现用法: int strspn(char *str1, char *str2);程序例:#include#include#includeint main(void){char *string1 = "1234567890";char *string2 = "123DC8";int length;length = strspn(string1, string2);printf("Character where strings differ is at position %d\n", length);return 0;}函数名: strstr功能: 在串中查找指定字符串的第一次出现用法: char *strstr(char *str1, char *str2);程序例:#include#includeint main(void){char *str1 = "Borland International", *str2 = "nation", *ptr;ptr = strstr(str1, str2);printf("The substring is: %s\n", ptr);return 0;}函数名: strtod功能: 将字符串转换为double型值用法: double strtod(char *str, char **endptr);程序例:#include#includeint main(void){char input[80], *endptr;double value;printf("Enter a floating point number:");gets(input);value = strtod(input, &endptr);printf("The string is %s the number is %lf\n", input, value); return 0;}函数名: strtok功能: 查找由在第二个串中指定的分界符分隔开的单词用法: char *strtok(char *str1, char *str2);程序例:#include#includeint main(void){char input[16] = "abc,d";char *p;/* strtok places a NULL terminatorin front of the token, if found */p = strtok(input, ",");if (p) printf("%s\n", p);/* A second call to strtok using a NULLas the first parameter returns a pointerto the character following the token */p = strtok(NULL, ",");if (p) printf("%s\n", p);return 0;}函数名: strtol功能: 将串转换为长整数用法: long strtol(char *str, char **endptr, int base); 程序例:#include#includeint main(void){char *string = "87654321", *endptr;long lnumber;/* strtol converts string to long integer */ lnumber = strtol(string, &endptr, 10);printf("string = %s long = %ld\n", string, lnumber);return 0;}函数名: strupr功能:将串中的小写字母转换为大写字母用法: char *strupr(char *str);程序例:#include#includeint main(void){char *string = "abcdefghijklmnopqrstuvwxyz", *ptr;/* converts string to upper case characters */ptr = strupr(string);printf("%s\n", ptr);return 0;}函数名: swab功能: 交换字节用法: void swab (char *from, char *to, int nbytes); 程序例:#include#include#includechar source[15] = "rFna koBlrna d"; char target[15];int main(void){swab(source, target, strlen(source)); printf("This is target: %s\n", target); return 0;}。

WINCC几个常用C语言编程

WINCC几个常用C语言编程

WINCC几个常用C语言编程全局脚本编程(按钮连续增减)说明:1、建立全局脚本函数2、建立全局动作C脚本3、在启动画面的打开画面中调用全局脚本函数4、在计算机的启动选项中选中全局脚本全局脚本函数InitAction ()extern char tagname[30] = " ";extern SHORT count = 0;extern FLOAT low = 0;extern FLOAT high = 0;extern FLOAT step = 0;void InitAction()按钮左键按下连续增加extern char tagname[30];extern SHORT count;extern FLOAT low;extern FLOAT high;extern FLOAT step;strcpy(tagname,"S32i_varia_but_04");count = 1;low = 0;high =1400;step =0.5;按钮左键按下连续减少extern char tagname[30];extern SHORT count;extern FLOAT low;extern FLOAT high;extern FLOAT step;strcpy(tagname,"S32i_varia_but_04"); count = 2;low = 0;high =1400;step =0.5;按钮左键松开停止增减extern SHORT count;count=0;全局动作C脚本(counter.pas)#include "apdefap.h"int gscAction( void ){extern char tagname[30];extern SHORT count;extern FLOAT low;extern FLOAT high;extern FLOAT step;FLOAT value;if ((count==1)||(count==2)) {//get current valuevalue = GetTagFloat (tagname);if (count==1){ //incvalue = value+step;if (value>high) (value=high); //high limit}//ifif (count==2){ //decvalue = value-step;if (value<low) (value=low); //low limit}//ifSetTagFloat (tagname,value);}//ifreturn(0);}全局脚本函数(InitAction)文件:C脚本(counter.pas)文件:按钮左键连续增加文件:按钮左键松开文件:C脚本编程(按钮按击增减)1、直接调用C动作方式实现:#include "apdefap.h"void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPr opertyName, UINT nFlags, int x, int y){FLOAT value;value=GetTagFloat("S32i_varia_but_00"); //get tag valueif (value>1300) (value=1400); //check limitelse value=value+100; //inc valueSetTagFloat("S32i_varia_but_00",value); //set new value2、调用函数方式实现(incdecvalue):FLOAT value;value=GetTagFloat ("S32i_varia_but_04");IncDecValue(&value,0,1400,100,1);SetTagFloat ("S32i_varia_but_04",value);项目函数(incdecvalue)void IncDecValue(FLOAT *value,FLOAT low,FLOAT high,FLOAT step,DWOR D a){FLOAT v;v=*value; //get current valueswitch (a){case 0: {if (v<step) (v=0); //low limitelse v=v-step; //decrement} //case 0break;case 1:{if (v>(high-step))(v=high); //high limitelse v=v+step; //increment}//case 1break;}//switch*value=v; //return}项目函数(incdecvalue)文件:C脚本编程(按钮切换开关):#include "apdefap.h"void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPr opertyName, UINT nFlags, int x, int y){BOOL state; //flip tagstate = !GetTagBit("BINi_varia_but_16"),SetTagBit("BINi_varia_but_16",(SHORT)state);}按钮切换开关文件:。

WINCC C函数用法大全

WINCC C函数用法大全
#include <stdio.h>
int main(void)
{
char *buf1 = "BBB", *buf2 = "bbb";
int ptr;
ptr = strcmpi(buf2, buf1);
if (ptr > 0)
printf("buffer 2 is greater than buffer 1\n");
char string[10];
char *str1 = "abcdefghi";
stpcpy(string, str1);
printf("%s\n", string);
return 0;
}
函数名: strcat
功 能: 字符串拼接函数
{
char string[15];
char *ptr, c = 'r';
strcpy(string, "This is a string");
ptr = strchr(string, c);
if (ptr)
printf("The character %c is at position: %d\n", c, ptr-string);
char *string2 = "747DC8";
int length;
length = strcspn(string1, string2);
printf("Character where strings intersect is at position %d\n", length);

Wincc中常用的C动作

Wincc中常用的C动作

1.用户注销:#pragma code ("useadmin.dll")#include "PWRT_api.h"#pragma code()PWRTLogout();2.用户登录:#pragma code ("useadmin.dll")#include "PWRT_api.h"#pragma code()PWRTLogin('c');3.关闭项目并退出wincc:ExitWinCC ();4.退出运行到wincc资源管理器:DeactivateRTProject ();5.结束监控并关闭计算机(会弹出确认对话框)HWND hWnd = NULL;//Author:Smartsysint iRet;hWnd = FindWindow(NULL,"WinCC-运行系统 - ");iRet=MessageBox(hWnd,"结束监控并关闭计算机","关闭操作站",MB_YESNO|MB_ICONWARNING|MB_APPLMODAL);if(iRet==IDYES)DMExitWinCCEx (DM_SDMODE_POWEROFF);6.点击事件弹出对话框,通过点击弹出对话框的确定和取消按钮实现对变量的置位或取消:int r; r=MessageBox(NULL, "YES为开,NO为关", "确定开命令:", MB_YESNO |MB_SYSTEMMODAL);if (r==IDYES)SetTagBit("TAGNAME",TRUE);elseSetTagBit("TAGNAME",FALSE);7.开显示关显示:(要在内部变量中建立三个二进制变量COLSE_DISPLAY、DISPLAY_NO和DISPLAY_COMMENT)// Funktion: Bit in Doppelwort setzen;if (GetTagBitWait("COLSE_DISPLAY")==1 ){SetTagBit("COLSE_DISPLAY",0);SetTagBit("DISPLAY_NO",0); //Return-Type: BOOLSetTagBit("DISPLAY_COMMENT",0);}else{SetTagBit("COLSE_DISPLAY",1);SetTagBit("DISPLAY_NO",1); //Return-Type: BOOLSetTagBit("DISPLAY_COMMENT",0);}8.开阀确认:BOOL a;a=GetTagBit("30T制水启动"); //Return-Type :short intif (a==0){if(MessageBox(NULL,"真的要启动制水吗?","操作提示",MB_YESNO|MB_ICONQUESTION|MB_SETFOREGROUND|MB_SYSTEMMODAL) == 6) { SetTagBit("30T制水启动",1);//Return-Type :BOOL}}else{if(MessageBox(NULL,"真的要停止制水吗?","操作提示",MB_YESNO|MB_ICONQUESTION|MB_SETFOREGROUND|MB_SYSTEMMODAL) == 6){ SetTagBit("30T制水停止",1);}}9.将WinCC运行画面最小化HWND WinCCHwnd;WinCCHwnd=FindWindow(NULL,"WinCC-Runtime - "); //如果运行语言为英文if (WinCCHwnd==0) WinCCHwnd=FindWindow(NULL,"WinCC-运行系统 - "); //如果运行语言为中文CloseWindow(WinCCHwnd);10.显示或不显示(其中hiddVtext为内部的二进制变量)if(GetTagBit("hiddVtext")==0) //Return-Type: BOOL{SetTagBit("hiddVtext",TRUE); //Return-Type: BOOL//Return-Type: BOOL}else{SetTagBit("hiddVtext",FALSE);}10.打开编辑画面的脚本#pragma option(mbcs)#ifdef RUN_ON_WEBNAVIGATOR#elseHWND hExplorerWindow= NULL;HWND hRuntimeWindow= NULL;hExplorerWindow= FindWindow("WinCCExplorerFrameWndClass",NULL);hRuntimeWindow= FindWindow("PDLRTisAliveAndWaitsForYou",NULL);if(hExplorerWindow){ShowWindow(hExplorerWindow, SW_MINIMIZE); // This entry is only necessary for Windows 2000ShowWindow(hExplorerWindow, SW_SHOWNORMAL);SetForegroundWindow(hExplorerWindow);}elseprintf("\r\n SetForeground failed");#endif11.如何在WINCC中制作一个保持型按钮方法1:if( GetTagBit("M10") )SetTagBit("M10",0);elseSetTagBit("M10",1);方法2:SetTagBit("M1.0",(SHORT)!GetTagBit("M1.0"));求反指令,如果为1点击变为0,如果为0点击变为1方法3:或者做两个按钮,按钮一:显示,直接连接m1.0,是--不显示,否--显示。

WINCC-C脚本大全

WINCC-C脚本大全

WINCC C脚本的标准函数 12009-08-06 17:04标准函数该系统包含标准函数。

可以按需要修改这些函数。

此外,还可以自己创建标准函数。

该系统包括一个标准函数集。

一、Alarm - 简短描述Alarm组包含控制WinCC报警控件的函数。

标准函数可用于工具栏中的每一个按钮。

这些函数可用来创建自定义工具栏,例如选择画面,或者定义控件上的设置。

1.void AcknowledgeMessage(DWORD MsgNr)函数,确认消息系统中带编号的消息,该编号被传递为参数。

使用标准函数操作WinCC报警控件的实例{//确认选择的报警记录消息AcknowledgeMessage(GetTagWord("U08i_Msg Nr"));}指定待确认的消息号。

在本例中是从变量读取的。

2.BOOL AXC_OnBtnArcLong(char* lpszPi ctureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在长期归档中。

使用标准函数操作WinCC报警控件的实例{// 跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst("gs_alarm_00","Contro l1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

Control 1是WinCC报警控件的对象名。

3.BOOL AXC_OnBtnArcShort(char* lpszPic tureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在短期归档中。

使用标准函数操作WinCC报警控件的实例{// 跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst("gs_alarm_00","Contro l1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

关于Wincc的C函数(6)

关于Wincc的C函数(6)

关于Wincc的C函数(6)关于Wincc的C函数(6)二、内部函数内部函数用来画图形对象和使归档动态化,并用于项目函数、标准函数和全局脚本动作中。

在整个项目中都识别内部函数。

既不能创建新的内部函数,也不能修改已存在的内部函数。

1. allocate保留和释放工作存储器空间的函数void SysFree(void* lpFree)函数,通过SysMalloc函数释放保留的存储器区域。

参数lpFree,指向通过SysMalloc函数保留的存储器区域的指针。

2. void* SysMalloc(unsigned long int size)函数,为动作保留存储器空间。

存储器区域被分配给该动作。

已完成动作和已传送结果时,系统再次释放存储器。

SysFree函数可用来过早释放保留的存储器空间。

参数size,按字节计算的存储器区域的大小。

3. c_bib函数组c_bib包含来自C库的C函数Graphics - 简短描述使用Graphics组中的函数可以修改或调用WinCC对象的图形属性。

Axes - 简短描述Axes组中的函数仅用于棒图对象。

该函数可用来修改或调用各种棒图对象属性。

1. BOOL GetAlignment(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用棒图对象时,它指明文本在棒图的左面还是右面。

读出棒图对象的布尔型属性的实例{BOOL bscaling;//获得标尺状态 bscaling= GetScaling(lpszPictureName,"Bar1");if (bscaling){// 自定义代码// 棒图对象有一个附加的标尺...}else{// 自定义代码// 棒图对象没有附加的刻度...}}GetScaling函数参数:“lpszPictureName”是在其中组态该对象的画面的名称。

“Bar1”是该对象的名称。

Wincc常用C脚本及常用功能

Wincc常用C脚本及常用功能

Wincc常用C脚本及常用功能打开用户管理器ProgramExecute("Passcs.exe"); 取消激活#include "apdefap.h"void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName,UINT nFlags, int x, int y){#pragma option(mbcs)HWND hwnd=NULL;int iRet;hwnd=FindWindow(NULL,"WinCC-运行系统 - "); //获得句柄iRet=MessageBox(hwnd,"是否取消激活?","Deactivate",MB_OKCANCEL|MB_ICONWARNING|MB_APPLMODAL);if(iRet==1)DeactivateRTProject (); //Return-Type: BOOL}关闭计算机#include "apdefap.h"void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName,UINT nFlags, int x, int y){#pragma option(mbcs)HWND hwnd=NULL;int iRet;hwnd=FindWindow(NULL,"WinCC-运行系统 - ");iRet=MessageBox(hwnd,"是否关闭计算机?","ShutDown",MB_OKCANCEL|MB_ICONWARNING|MB_APPLMODAL);if(iRet==1)DMExitWinCCEx(DM_SDMODE_SYSTEM); }==================================================================== ==登陆代码:#pragma code(“useadmin.dll”)#include <pwrt_api.h>#pragma code()PWRTLogin (…e?);==================================== 取消激活(Deactivate)DeactivateRTProject();====================================== Wincc变量操作GetTagDWord(“变量名称”); 获取Wincc变量值SetTagDWord(“变量“,设定值); 设置Wincc变量对文本读写操作写操作#include "apdefap.h"void OnLButtonUp(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName,UINT nFlags, int x, int y) {#pragma option(mbcs)FILE* lpFile;char *shuzhu[6]={"tag_1","tag_2","tag_3","tag_4","tag_5","tag_6"};char* lpszStr;int i,j;lpszStr=SysMalloc(60); //Return-Type: void*lpFile = fopen("D:\\test.txt", "w+");for(i=0;i<6;i++){lpszStr=GetTagChar(shuzhu[i]); strcat(lpszStr,"\r\n");if(lpFile == NULL){ printf("can not open file\r\n"); return;}fprintf(lpFile, lpszStr); }SysFree(lpszStr);fclose(lpFile);}读操作#include "apdefap.h"void OnLButtonUp(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName,UINT nFlags, int x, int y) {#pragma option(mbcs)char* shuzhu[6]={"tag_1","tag_2","tag_3","tag_4","tag_5","tag_6"}; char tmp[255];int i=0;int ChrNumLine=38;FILE *fp;fp=fopen("D:\\test.txt","r"); if (fp==NULL){return;}else{rewind(fp);while(!feof(fp)){fgets(tmp,ChrNumLine,fp);SetTagChar(shuzhu[i],tmp);i++;}}fclose(fp);}画面窗口显示界面切换SetPictureName(lpszPictureName,"PicWindow_button","produce_manage_bu tton.pdl");SetVisible(lpszPictureName,"PicWindow_button",1);注:PicWindow_button是画面窗口名称;produce_manage_button.pdl是要显示的子画面。

Wincc常用C脚本及常用功能

Wincc常用C脚本及常用功能

Wincc常用C脚本及常用功能打开用户管理器ProgramExecute("Passcs.exe"); 取消激活#include "apdefap.h"void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName,UINT nFlags, int x, int y){#pragma option(mbcs)HWND hwnd=NULL;int iRet;hwnd=FindWindow(NULL,"WinCC-运行系统 - "); //获得句柄iRet=MessageBox(hwnd,"是否取消激活?","Deactivate",MB_OKCANCEL|MB_ICONWARNING|MB_APPLMODAL);if(iRet==1)DeactivateRTProject (); //Return-Type: BOOL}关闭计算机#include "apdefap.h"void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName,UINT nFlags, int x, int y){#pragma option(mbcs)HWND hwnd=NULL;int iRet;hwnd=FindWindow(NULL,"WinCC-运行系统 - ");iRet=MessageBox(hwnd,"是否关闭计算机?","ShutDown",MB_OKCANCEL|MB_ICONWARNING|MB_APPLMODAL);if(iRet==1)DMExitWinCCEx(DM_SDMODE_SYSTEM); }==================================================================== ==登陆代码:#pragma code(“useadmin.dll”)#include <pwrt_api.h>#pragma code()PWRTLogin (…e?);==================================== 取消激活(Deactivate)DeactivateRTProject();====================================== Wincc变量操作GetTagDWord(“变量名称”); 获取Wincc变量值SetTagDWord(“变量“,设定值); 设置Wincc变量对文本读写操作写操作#include "apdefap.h"void OnLButtonUp(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName,UINT nFlags, int x, int y) {#pragma option(mbcs)FILE* lpFile;char *shuzhu[6]={"tag_1","tag_2","tag_3","tag_4","tag_5","tag_6"};char* lpszStr;int i,j;lpszStr=SysMalloc(60); //Return-Type: void*lpFile = fopen("D:\\test.txt", "w+");for(i=0;i<6;i++){lpszStr=GetTagChar(shuzhu[i]); strcat(lpszStr,"\r\n");if(lpFile == NULL){ printf("can not open file\r\n"); return;}fprintf(lpFile, lpszStr); }SysFree(lpszStr);fclose(lpFile);}读操作#include "apdefap.h"void OnLButtonUp(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName,UINT nFlags, int x, int y) {#pragma option(mbcs)char* shuzhu[6]={"tag_1","tag_2","tag_3","tag_4","tag_5","tag_6"}; char tmp[255];int i=0;int ChrNumLine=38;FILE *fp;fp=fopen("D:\\test.txt","r"); if (fp==NULL){return;}else{rewind(fp);while(!feof(fp)){fgets(tmp,ChrNumLine,fp);SetTagChar(shuzhu[i],tmp);i++;}}fclose(fp);}画面窗口显示界面切换SetPictureName(lpszPictureName,"PicWindow_button","produce_manage_bu tton.pdl");SetVisible(lpszPictureName,"PicWindow_button",1);注:PicWindow_button是画面窗口名称;produce_manage_button.pdl是要显示的子画面。

WINCCC脚本的标准函数

WINCCC脚本的标准函数

WINCCC脚本的标准函数WINCC C脚本的标准函数标准函数该系统包含标准函数。

可以按需要修改这些函数。

此外,还可以自己创建标准函数。

该系统包括一个标准函数集。

一、Alarm - 简短描述Alarm组包含控制WinCC报警控件的函数。

标准函数可用于工具栏中的每一个按钮。

这些函数可用来创建自定义工具栏,例如选择画面,或者定义控件上的设置。

1.void AcknowledgeMessage(DWORD MsgNr)函数,确认消息系统中带编号的消息,该编号被传递为参数。

使用标准函数操作WinCC报警控件的实例{//确认选择的报警记录消息AcknowledgeMessage(GetTagWord("U08i_MsgNr"));}指定待确认的消息号。

在本例中是从变量读取的。

2.BOOL AXC_OnBtnArcLong(char* lpszPictureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在长期归档中。

使用标准函数操作WinCC报警控件的实例{// 跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst("gs_alarm_00","Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

Control 1是WinCC报警控件的对象名。

3.BOOL AXC_OnBtnArcShort(char* lpszPictureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在短期归档中。

使用标准函数操作WinCC报警控件的实例{// 跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst("gs_alarm_00","Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

Wincc界面制作:C脚本的实际操作

Wincc界面制作:C脚本的实际操作

Wincc界面制作:C脚本的实际操作概述本文档介绍了在Wincc界面制作中使用C脚本的实际操作。

通过使用C脚本,您可以实现更复杂的逻辑和功能,提升Wincc界面的灵活性和交互性。

C脚本的基本语法C脚本是一种编程语言,用于控制Wincc界面的行为和响应。

以下是C脚本的基本语法:- 代码块使用花括号({})包围。

- 使用分号(;)表示语句的结束。

- 使用双斜杠(//)表示注释,注释的内容将被忽略。

在Wincc界面中使用C脚本在Wincc界面制作中,您可以将C脚本与各种控件和事件关联,以实现特定的功能和行为。

以下是一些常见的C脚本应用示例:控件事件响应您可以为控件(如按钮、文本框等)添加事件响应函数,以实现用户交互时的相应操作。

例如,当用户点击按钮时,可以触发相应的事件处理函数。

数据处理与逻辑控制通过C脚本,您可以对Wincc界面中的数据进行处理和控制。

例如,您可以编写代码来验证用户输入的数据是否合法,并根据结果做出相应的处理。

界面切换与导航使用C脚本,您可以实现界面之间的切换和导航功能。

例如,当用户点击某个按钮时,可以通过编写代码来切换到另一个界面。

数据库和文件操作通过C脚本,您可以实现对数据库和文件的读写操作。

例如,您可以编写代码来从数据库中检索数据,并将其显示在Wincc界面上。

实际操作示例以下是一个简单的实际操作示例,展示了如何使用C脚本实现一个简单的功能:// 定义一个变量,用于存储按钮点击次数int clickCount = 0;// 按钮点击事件处理函数void OnButtonClick(){// 每次点击增加计数clickCount++;// 更新界面上的文本显示SetText("label1", "按钮点击次数:" + clickCount);}在上述示例中,我们定义了一个变量`clickCount`,并在按钮点击事件处理函数`OnButtonClick`中对其进行增加,并通过`SetText`函数更新界面上的文本显示。

wincc c语言 分割字符串函数

wincc c语言 分割字符串函数

wincc c语言分割字符串函数在WinCC C 语言中,可以使用 C 语言标准库中的字符串处理函数来分割字符串。

下面是一些常用的字符串分割函数:1.strtok:该函数用于将字符串按照指定的分隔符进行分割,并返回指向第一个分割后的子字符串的指针。

c复制代码char *strtok(char *str, const char *delim);其中,str是要分割的字符串,delim是分隔符的字符串。

strtok函数会修改str指针,使其指向下一个分隔符的位置,并返回指向第一个分割后的子字符串的指针。

如果没有更多的子字符串,则返回NULL。

2. strtok_r:该函数与strtok函数类似,但是它是线程安全的,可以在多线程环境中使用。

c复制代码char *strtok_r(char *str, const char *delim, char**saveptr);其中,saveptr是一个指向字符指针的指针,用于保存strtok函数的当前状态,以便在多线程环境中使用。

3. strchr:该函数用于查找字符串中指定字符的位置。

c复制代码char *strchr(const char *str, int c);其中,str是要查找的字符串,c是要查找的字符。

如果找到了该字符,则返回指向该字符的指针;否则返回NULL。

4. strcspn:该函数用于查找第一个不匹配指定字符集的字符的位置。

c复制代码size_t strcspn(const char *str, const char *charset);其中,str是要查找的字符串,charset是要匹配的字符集。

如果找到了第一个不匹配的字符,则返回该字符的位置;否则返回字符串的长度。

这些函数可以帮助你在WinCC C 语言中分割字符串。

你可以根据具体的需求选择适合的函数来处理字符串。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

WinCC C函数详解GetFontSize函数参数:“lpszPictureName”是在其中组态该对象的画面的名称。

“Static Text1”是该对象的名称。

1). 读出当前字体大小和fontsize中的缓冲区。

2). 执行处理返回值的自定义代码。

2. long int GetAlignmentTop(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,定义垂直文本对齐(上对齐、居中、下对齐)。

读出字体大小的实例{long int fontsize;//获得实际字体大小fontsize= GetFontSize(lpszPictureName,"Static Text 1");//自定义代码//在那里用户可以使用返回值做某事...}GetFontSize函数参数:“lpszPictureName”是在其中组态该对象的画面的名称。

“Static Text1”是该对象的名称。

3. BOOL GetFontBold(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,定义字体样式是否为“粗体字”。

读出静态文本域的布尔型属性的实例{BOOL bbold;//了解文本是否是粗体字bbold= GetFontBold(lpszPictureName,"Static Text 1");if(bbold){// 自定义代码// 字体是否是粗体字...}else{// 自定义代码// 字体是否不是粗体字...}}GetFontBold函数参数:“Static Text1”是该对象的名称。

4. char* GetText(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,为对象,例如静态文本、复选框和单选框,指定“文本”属性的数值。

读出文本的实例{char* pszValue = NULL;char szValue[13];//获得实际设置的文本pszValue= GetText(lpszPictureName," Static Text 1");if(pszValue != NULL){//复制字符串strncpy(szValue,pszValue,12);}//自定义代码//在那里用户可以使用返回值做某事...}GetText函数参数:“Static Text1”是该对象的名称。

5. long int GetLayer(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定该对象所在的画面层。

参数lpszPictureName画面名lpszObjectNameGeometry - 简短描述使用Geometry组中的函数可以修改或调用对象的大小、位置和其它几何属性。

1. long int GetActualPointLeft(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定多边形或折线中当前位置的X轴数值。

读出对象位置的实例{long lPos;//获得对象的X轴位置lPos= GetLeft(lpszPictureName,"WinCCLogo");//自定义代码//在那里用户可以使用返回值做某事...}GetLeft函数参数:“lpszPictureName”是在其中组态该对象的画面的名称。

“WinCCLogo”是该对象的名称。

1). 读出对象的当前X轴位置以及lPos中的缓冲区。

2). 执行处理返回值的自定义代码。

2. long int GetActualPointTop(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定多边形或折线中当前顶点的Y轴数值。

读出对象位置的实例{long lPos;//获得对象的Y轴位置lPos= GetTop(lpszPictureName,"WinCCLogo");//自定义代码//在那里用户可以使用返回值做某事...}GetTop函数参数:“lpszPictureName”是在其中组态该对象的画面的名称。

“WinCCLogo”是该对象的名称。

3. long int GetBoxCount(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定复选框和单选框的数字域。

参数lpszPictureName画面名lpszObjectName4. long int GetDirection(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用棒图对象时,它指出棒图的方向。

参数lpszPictureName画面名lpszObjectName5. long int GetEndAngle(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定部分圆和部分椭圆以及圆弧和椭圆弧的结束角度。

6. BOOL GetGrid(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定是否在图形编辑器的图形域中激活网格。

7. long int GetGridHeight(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定在图形编辑器的图形域中网格的高度。

8. long int GetGridWidth(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定在图形编辑器的图形域中网格的宽度。

9. long int GetHeight(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定构成对象的矩形的高度。

读出对象位置的实例{long lHeight;//获得对象的高度lHeight= GetHeight(lpszPictureName,"WinCCLogo");//自定义代码//在那里用户可以使用返回值做某事...}GetHeight函数参数:“lpszPictureName”是在其中组态该对象的画面的名称。

“WinCCLogo”是该对象的名称。

1). 读出对象的当前高度以及lHeight中的缓冲区。

2). 执行处理返回值的自定义代码。

10. long int GetLeft(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,定义构成对象的矩形左上角的X轴位置。

读出对象位置的实例{long lPos;//获得对象的X轴位置lPos= GetLeft(lpszPictureName,"WinCCLogo");//自定义代码//在那里用户可以使用返回值做某事...}GetLeft函数参数:“lpszPictureName”是在其中组态该对象的画面的名称。

“WinCCLogo”是该对象的名称。

11. long int GetPointCount(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定多边形或折线的角的数量。

12. long int GetRadius(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName);函数,定义圆、部分圆或圆弧的半径。

读出对象位置的实例{long lHeight;//获得对象的高度lHeight= GetHeight(lpszPictureName,"WinCCLogo");//自定义代码//在那里用户可以使用返回值做某事...}GetHeight函数参数:“lpszPictureName”是在其中组态该对象的画面的名称。

“WinCCLogo”是该对象的名称。

1). 读出对象的当前高度以及lHeight中的缓冲区。

2). 执行处理返回值的自定义代码。

13. long int GetRadiusHeight(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定椭圆、部分椭圆或椭圆弧的垂直半径。

读出对象位置的实例{long lHeight;//获得对象的高度lHeight= GetHeight(lpszPictureName,"WinCCLogo");//自定义代码//在那里用户可以使用返回值做某事...}GetHeight函数参数:“lpszPictureName”是在其中组态该对象的画面的名称。

“WinCCLogo”是该对象的名称。

14. long int GetRadiusWidth(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定椭圆、部分椭圆或椭圆弧的水平半径。

15. long int GetReferenceRotationLeft(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用线、多边形和折线时,它指定旋转位置(围绕其旋转对象的中心坐标轴)的X轴数值。

读出对象位置的实例{long lPos;//获得对象的X轴位置lPos= GetLeft(lpszPictureName,"WinCCLogo");//自定义代码//在那里用户可以使用返回值做某事...}GetLeft函数参数:“lpszPictureName”是在其中组态该对象的画面的名称。

“WinCCLogo”是该对象的名称。

16. long int GetReferenceRotationTop(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用线、多边形和折线时,它指定旋转位置(围绕其旋转对象的中心坐标轴)的Y轴数值。

17. long int GetRotationAngle(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,定义围绕中心坐标轴旋转线、多边形和折线的角度。

18. long int GetStartAngle(LPCTSTR lpszPictureName,LPCTSTR lpszObjectName)函数,指定部分圆和部分椭圆以及圆弧和椭圆弧的起始角度。

相关文档
最新文档