首页 > 其他分享 >WinCC VBscript常用标准函数总结

WinCC VBscript常用标准函数总结

时间:2024-12-31 11:12:29浏览次数:1  
标签:函数 Session VBscript WinCC num str 字符串 Open Response

在WinCC软件中使用VBS进行编程的时候常常使用的标准函数整理如下:

数值型函数:

  • abs(num): 返回绝对值
  • sgn(num): num>0 1; num=0 0; num<0 -1;判断数值正负
  • hex(num): 返回十六进制值 直接表示:&Hxx 最大8位
  • oct(num): 返回八进制值 直接表示:&Oxx 最大8位
  • sqr(num): 返回平方根 num>0
  • int(num): 取整 int(99.8)=99; int(-99.2)=100
  • fix(num): 取整 fix(99.8)=99; fix(-99.2)=99
  • round(num,n): 四舍五入取小数位 round(3.14159,3)=3.142 中点数值四舍五入为近偶取整 round(3.25,1)=3.2
  • log(num): 取以e为底的对数 num>0
  • exp(n): 取e的n次幂 通常用 num^n
  • sin(num): 三角函数,以弧度为值计算 (角度*Pai)/180=弧度 con(num); tan(num); atn(num)

字符串函数:

  • len(str):计算字符串长度 中文字符长度也计为一!
  • mid(str,起始字符,[读取长度]):截取字符串中间子字符串
  • left(str,nlen):从左边起截取nlen长度子字符串
  • right(str,nlen):从右边起截取nlen长度子字符串
  • Lcase(str):字符串转成小写
  • Ucase(str):字符串转成大写
  • trim(str):去除字符串两端空格
  • Ltrim(str):去除字符串左侧空格
  • Rtrim(str):去除字符串右侧空格
  • replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串
  • 注:默认值:起始字符 1;替代次数 不限;比较方法 区分大小写(0)
  • InStr([起始字符,]str,查找字符串[,比较方法]):检测是否包含子字符串 可选参数需同时选 返回起始位置
  • InStrRev(str,查找字符串[,起始字符][,比较方法]):反向检测是否包含子字符串 返回起始位置
  • space(n):构造n个空格的字符串
  • string(n,str):构造由n个str第一个字符组成的字符串
  • StrReverse(str):反转字符串
  • split(str,分割字符串[,次数][,比较方法]):以分割字符串为分割标志将字符串转为字符数组 可选参数需同时选

数据类型转换函数:

  • Cint(str):转换正数 True -1;False 0;日期 距离1899/12/31天数;时间 上午段 0;下午段 1;
  • Cstr(str):日期 输出格式 yyyy/mm/dd;时间 输出格式 Am/Pm hh:mm:ss
  • Clng(str):与Cin()类似
  • Cbool(num):num不为零 True;反之 False
  • Cdate(str):转换日期格式 0:#Am 12:00:00#;正数距离1899/12/31天数的日期;浮点数日期+小数时间
  • Cbyte(num):num<255 转换为字节
  • Csng(str):转换为单精度数值
  • Cdbl(str):转换为双精度数值
  • Ccur(str):转换为现金格式

时间函数:

  • date:取系统当前日期
  • time:取系统当前时间
  • now:取系统当前时间及日期值 Datetime类型
  • timer:取当前时间距离零点秒值,计时器,可计算时间差
  • DateAdd(间隔单位,间隔值,日期):推算相邻日期
  • DateDiff(间隔单位,日期一,日期二):计算时间差 日期二-日期一
  • Datepart(间隔单位,日期):计算日期的间隔单位值
  • Dateserial(date):输出日期值(按序列计算)
  • Timeserial(time):输出时间值(按序列计算)
  • DateValue(datetime):取出字符串中日期值
  • Timevalue(datetime):取出字符串中时间值
  • weekday(date):计算星期几
  • MonthName(date):输出月分名
  • year(datetime):截取年份
  • month(datetime):截取月份
  • day(datetime):截取日
  • hour(datetime):截取小时
  • minute(datetime):截取分钟
  • second(datetime):截取秒

其它函数:

Array(unit,..):动态生成数组
Asc(str):输出字符串第一个字符的ASCII码
Chr(asc):转换ASCII为字符 Enter:Chr(13)&Chr(10)
Filter(数组名称,关键字符串,[,包含][,比较方法]):
将字符串数组中含有关键字符串的元素存成新的数组(默认) [包含]为false则取不包含的元素
Join(ArrayName):将数组中元素连成字符串
Ubound(ArrayName[,维数]):取得数组相应维数的上界
Lbound(ArrayName[,维数]):取得数组相应维数的下界 一般为0
Randmize n:启动随机数种子
Rnd(n):取得随机数,n>0或为空,取序列下一随机值,n<0,随机值相同,n=0,生产与上一随机值相同的数
取介于A和B之间的随机正数C,公式:C=Int((B-A+1)*Rnd+A) 条件(B>A)
子程序和自定义函数
Sub StrSubName Function StrFunName(arg[1],..)
子程序体 函数体
Exit Sub 中途跳出 Exit Function 中途跳出
End Sub StrFunName=Value 返回值
End Function
[call] StrSubName 引用子程序 Var=StrFunName(arg[1],..) 引用函数
子程序和自定义函数可以递归调用;

ASP六大对象常用语句示范:

Response:
Response.write StrVar/"String":向网页写出参数值或字符串等同于在Html标记中嵌入<%=StrVar/"String"%>
Response.End:停止页面编译,并将已经编译内容输出到浏览器
Response.Buffer=True|False:页面编译时是否使用缓存的设置,一般在页面头部设置
Response.Flush:强制输出页面已编译部分内容
Response.Clear:将缓冲区内的数据清除
Response.Redirect URL:停止页面编译或输出,转载指定所需页面
Response.IsClientConnected:返回True|False,检测用户是否还处于连接状态
Response.Charset(CharsetName):设置页面编码类型,即
Response.ContentType [= ContentType ]:设置页面文件类型,同上
Response.Expires [= number]:设置页面失效时间,单位分钟
Response.ExpiresAbsolute [= [date] [time]]:设置页面失效的绝对时间
Response.Status = StatusDescription:设置页面状态描述
Request:
Request("PassStrName"):读取网页传递值,包括表单及以?PassStrName=value&PassStrName_n=value_n形式
Request.collection|property|method
Request.querystring("PassStrName"):读取Get方法传递的表单值和?PassStrName=value
Request.QueryString(Varible)[(Index).Count]
Request.form("PassStrName"):读取Post方法传递的纯表单域的值
Request.Form(Parameter)[(Index).Count]
Request.ServerVaribles(Server Environment Variable):读取客户端系统环境变量,详见参考
Request.BinaryRead(Count):读取指定字节数的传送值
Request.TotalBytes:查询体的长度,以字节为单位,只读
注:同名表单如:CheckBox如有多项值,传递形式如右,StrName=value1,value2,...需要用Split函数分割各项值
Multiple的Select表单与CheckBox类似,TextArea的值可包含换行字符,用Replace转为
,以满足格式需要
Session:(用户全局变量)
Session("SesName")=value:存储Session变量值,也可读取该值
Session("SesName")=Empty:判断Session值是否存在的两种方法
IsEmpty(Session("SesName"))=True|False:判断Session值是否存在的两种方法
Session.TimeOut=num:设置Session变量的存在时效,单位分钟
Session.Abandon:清除所有Session变量值
Session.SessionID:Session变量的ID序列号,只读
Application:(应用程序全局变量)
Application("AppName")=value:存储Application变量值,也可读取该值
Application("AppName")=Empty:判断Application值是否存在的两种方法
IsEmpty(Application("AppName"))=True|False:判断Application值是否存在的两种方法
Application.Lock:Application变量值锁定,防止同时更改变量值
Application.UnLock:Application变量值解锁,允许更改变量值
注:Session与Application变量都可以用来存储数组和系统对象,引用方法是变量名相当于数组名而已,
但不能直接改变其值,需要借助临时数组修改值后,再赋给Session与Application变量
Global.asa文件的结构:
<% @language="VBscript"%>
<% Sub Application_OnStart ...End Sub
Sub Application_OnEnd ... End Sub
Sub Session_OnStart ...End Sub
Sub Session_OnEnd ... End Sub%>
Server:
Server.MapPath("FileUrl"):映射文件名的服务器站点绝对地址,Path=Server.MapPath(./)可以得到虚拟目录根路径
Server.HtmlEncode("string"):转换为可以直接显示带Html格式的字符串,如:<,>等
Server.URLEncode( "string"):转换为浏览器地址编码
set Var=Server.CreatObject("ObjName"):创建对象变量
Server.ScriptTimeout = NumSeconds:ASP程序页面执行时限,以秒为单位
Cookies: 存储在用户本机的临时变量,每个Cookie的最大字节4KB,最多可以有300个Cookie 1.2MB
Response.cookies("StrCookieName")=value:存储Cookie变量值,也可读取该值
Response.cookies("StrCookieName")="":判断是否为空
Response.cookies("StrCookieName").Expires=Date:变量有效期,以天为单位,小于当前时间立即失效
Response.Cookies(Cookie[(key).Attribute]):标准语法
ObjectContext 控制ASP的事务处理
ObjectContext.OnTransactionAbort:由放弃的事务处理事件激发,在脚本完成处理后发生
ObjectContext.OnTransactionCommit:由成功的事务处理事件激发,在脚本完成处理后发生
ObjectContext.SetAbort:显式的放弃一次事务处理
ObjectContext.SetComplete:覆盖前面任何调用ObjectContext.SetAbort方法的调用
Msgbox "string"/StrName:VBscript提示框

表单的Onsubmit事件:

在同一页面写入 Function FormName_onsubmit()..FormName_onsubmit=True/False..end Function,
页面会在提交前先执行语句,并根据返回值判断是否完成提交任务。
数据库连接字符串举例:
Access2000:
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("dbase\liuyan.mdb")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("dbase\liuyan.mdb")&";Password=admin"
Recordset.Open "数据表名", conn, 2, 2
SqlServer2000:
conn.Open "Provider=SQLOLEDB.1;User ID=sa;Password=admin;Initial Catalog=pubs;Data Source=server\garlmrm"
conn.Open "provider=SQLOLEDB;data source=hyserver;uid=sa;pwd=;database=pubs"
Recordset.Open StrSQL, conn, 2, 2
Dbase:(?)
conn Open "Driver={Microsoft dBase Driver};SourceType=DB;SourceDB=" & Server.MapPath( "目录名" )
Recordset.Open StrSQL, conn, 2, 2
FoxBase:
conn Open "Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" & Server.MapPath( "目录名" )
Recordset.Open DBF文件名或Select语句, conn, 2, 2
conn Open "Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDB=" & Server.MapPath( "DBC数据库文件名" )
Recordset.Open DBF文件名或Select语句, conn, 2, 2
Excel:
conn Open "Driver={Microsoft Excel Driver (*.xls)};DBQ=" & Server.MapPath( "XLS文件名" )
Recordset.Open "Select * From ["&sheet&"$]",conn,2,2
注:使用DBF、DBC、Excel数据库,下面几点要注意:Excel数据库只能读取、增加记录、修改记录,但不能删除记录;DBF、DBC可以读取记录、增加记录、删除记录、修改记录,但是在增加记录时,任何一个字段值都不能为空,由此可看出局限性很大,所以尽可能地用MDB或SQL数据库。

标签:函数,Session,VBscript,WinCC,num,str,字符串,Open,Response
From: https://www.cnblogs.com/Jim768/p/18643527

相关文章

  • WinCC常用脚本
    1set/get相关SetTagPrefix(lpszPictureName,"huamian1","电机1.");//设置变量前缀SetPictureName(lpszPictureName,"huamian1","BENG");//给画面窗口绑定画面名称SetVisible(lpszPictureName,"huamian1",1);//将画面显示出来SetTagChar("......
  • Python 使用装饰器 decorator 修改函数行为
    Python使用装饰器decorator修改函数行为使用装饰器修改函数行为使用带有返回值和参数的被装饰函数创建一个可以接受参数的装饰器使用多个装饰器使用装饰器修改函数行为Python中装饰器(decorator)的概念基于Decorator设计模式,这是一种结构化设计模式。此模式允许......
  • 在js中箭头函数如何获取参数?
    在JavaScript中,箭头函数获取参数的方式与普通函数非常相似。你可以通过在箭头函数的括号内列出参数名称来获取它们。这些参数在函数体内部作为局部变量使用。以下是一个简单的示例,展示了如何在箭头函数中获取和使用参数://定义一个箭头函数,它接受两个参数a和bconstadd=(a......
  • 在js中对箭头函数使用new会怎么样?
    在JavaScript中,你不能使用new关键字来调用箭头函数,因为箭头函数并没有自己的this值。箭头函数会捕获其所在上下文的this值,这是箭头函数的一个重要特性。当你尝试使用new关键字来调用箭头函数时,JavaScript会抛出一个错误。例如:constArrowFunc=()=>{};constinstance=new......
  • 在js中箭头函数可以当做Generator函数吗?
    在JavaScript中,箭头函数(ArrowFunctions)不能用作Generator函数。Generator函数是一种特殊类型的函数,允许函数在执行过程中被暂停和恢复,而不是只能从头到尾连续运行。它们通过使用function*语法进行定义,并且可以在函数体内部使用yield关键字来暂停函数的执行并返回一个值。箭头函......
  • 说说你对CSS中color-mix()函数的了解
    color-mix()是CSS中的一个函数,用于混合两种颜色以生成新的颜色。这个函数在CSSColorsLevel4规范中被引入,为前端开发者提供了一种更为动态和灵活的方式来处理和生成颜色。基本语法color-mix()函数的基本语法如下:color-mix(in<color-modulation>,<color1>,<color2>[......
  • 说说你对CSS中color-contrast()函数的了解
    color-contrast()是CSS中的一个提议中的函数,设计用于在给定背景色上自动选择一个具有高对比度的前景色,以确保文本的可读性和可访问性。这个函数的主要目标是简化开发人员为不同背景选择适当文本颜色的过程,同时确保满足无障碍性(accessibility)标准,如WCAG(WebContentAccessibili......
  • Excel 面试 02 逻辑函数 AND
    Excel中的AND函数用于测试多个条件是否全部为TRUE。如果所有条件都为TRUE,函数返回TRUE;如果有任何一个条件为FALSE,则返回FALSE。语法AND(logical1,[logical2],...)logical1,logical2,…:要测试的逻辑条件,可以是表达式(例如A1>10)、对单元格的引用、或者直接......
  • 字符函数和字符串函数
    字符函数和字符串函数1.字符分类函数需要包含头文件ctype.h2.字符转换函数tolower将参数传进去的⼤写字⺟转⼩写toupper将参数传进去的⼩写字⺟转⼤写3.strlen的使用格式为size_tstrlen(constchar*str);字符串以‘\0’作为结束标志,strlen函数返回......
  • SQL 实战:窗口函数进阶 – 实现复杂滑动窗口与动态累计计算
    窗口函数是SQL中非常强大的工具,能够在不改变原始数据粒度的情况下,动态进行排名、累计、滑动平均以及环比同比计算。在实际业务场景中,窗口函数常用于构建复杂的时间序列分析,如滚动累计、移动平均、同比/环比增长等。本文将深入探讨窗口函数的高级用法,通过具体案例展示如......