[RockWellFTPC]⼊门教程02_Pnuts
[RockWell FTPC]⼊门教程02_Pnuts
pnuts语⾔介绍
Process Designer脚本语⾔pnuts是⼀种⾯向对象和基于事件的语⾔。您不必从脚本语⾔中实例化类。
JavaAPI中的任何公共⽅法都可以⽤于向应⽤程序添加功能。这些类中的⼤多数都必须导⼊。
基本和Java⼀致
基于表达式
脚本语⾔是基于表达式的,脚本在运⾏时由脚本解释器以交互⽅式进⾏评估。脚本环境按顺序计算表达式,然后将最后的结果传递给Java环境。
原始数据
基本数据将⾃动转换为对象。例如,如果您声明了⼀个变量a=1,它将转换为objectjava.lang.Integer⽂件.a=1。算术运算使⽤包装器对象进⾏计算。
函数
脚本可以包含可以接受任意数量参数的函数,这些函数由它们的名称和参数的数量标识。可以将函数赋给变量。参数和结果按原样传递,但由Java对象包装的基元类型值除外。
脚本基础
关键字
关键字不可⽤作变量
注释
// text
/* text */
特殊字符
事务密钥缓存
服务器上⾄少缓存3000个事务密钥。如果您有3000多个事务请求,⼯⼚操作将⾃动为它们分配更多空间。此缓存机制不可配置。由于缓存了密钥块,因此不能保证密钥的顺序。如果希望了解事务的创建顺序,建议查看trx_时间值(包含毫秒数据),⽽不是trx_键值
内置函数二人同心
import( )
Example 1
import ("patibility.ui.*")
时间刚刚好import ("java.io.*")
Example 2
import("patibility.ui.Color")
ctrlStartButton.tBackColor(Color::RED)
⼀开始时,“java.lang.”和默认包(“”)已被注册
import()
此函数⽤于获取导⼊的类和包名称的列表。
Example
import ("patibility.ui.*")
import ("java.io.*")美术高中
pkgs = import()
printAll(pkgs)
执⾏代码段后输出结果为
patibility.ui.*
*
java.lang.*
*
throw ( )
此函数抛出指定的异常。
传递字符串对象时,将引发RuntimeException。分配给RuntimeException的错误消息将是作为参数传递的字符串,⽽不是⼀般RuntimeException错误消息。
Example
function exceptionHandler(e)
{
Message()) // Output is "ThereAreProblems"
}
catch(RuntimeException, exceptionHandler)
throw("ThereAreProblems")
catch ( , )
射手座明星此函数在堆栈框架中定义异常处理程序。第⼀个参数是exception类(例如exception、NumberFormatException等)。第⼆个参数是抛出指定异常时要调⽤的⽤户脚本函数(处理程序)的名称。当抛出⼀个已注册的异常时,将执⾏相应的处理程序,catch函数将⽴即返回处理程序的结果。异常处理程序的作⽤域与变量的作⽤域相同
⽰例:声明多个Catch语句
function genericExceptionHandler(e)
{
dialogError("Exception thrown: " + e.toString())
}
catch(Exception, genericExceptionHandler)
//做⼀些可能导致异常的事情
木制品有哪些⽰例:捕获⼀般异常
//⾸先声明最通⽤的异常类
catch(类java.lang.Exception,catchGeneric)
//在之后声明更具体的异常类优秀员工发言稿
catch(类java.lang.NumberFormatException,catchConvert)
catch(类java.lang.arithmetricException,catchCalc)
defined ( )
此函数有两个⽤途:
1.检查指定符号是否已在任意范围内定义。
Example 1
ok = defined("X") //ok evaluates to fal
X = 100
ok = defined("X") //ok evaluates to true
X = null
ok = defined("X") //ok evaluates to true
如果从函数中调⽤,则defined()函数⽆法识别局部变量。例如:
isDefA = defined("a") //isDefA is true
function hi()
{
b = "hi"
isDefB = defined("b") //isDefB is fal
}
hi()
2.检查类的可⽤性。
Example 2
苹果触摸板
ok = defined("Window") //ok evaluates to fal
import("patibility.ui.Color")
ok = defined("Color") //ok evaluates to true
class ( <class_name> )
此函数⽤于检查是否存在具有指定名称的类。如果类存在,则返回类对象。否则,它将返回null。
ok = class("com.patibility.Account") //returns the class
quit ()
此函数⽤于终⽌对当前事件脚本的求值。
sleep (int mc)
站在草原望北京歌词
此函数使当前执⾏的线程在执⾏下⼀条语句之前暂停指定的毫秒数。
CreateObject (String ProgId)
此函数是Microsoft Visual Basic函数CreateObject()的包装器,可⽤于创建指定应⽤程序类型的对象。例如:xlApp=CreateObject(“Excel.Application”)//xlApp是Microsoft Excel应⽤程序。
有关此函数的详细信息,请参阅Microsoft Visual Basic帮助。
println (Object objects, …))
运⾏窗体时,此函数在调试窗⼝中打印对象的字符串或字符串表⽰形式
Example
println("UnitSaved")
println(vector.size())
a = [1,2,3]
println(a)
hex (Object integerOrByteArray)
此函数返回由指定整数或字节数组构造的⼗六进制格式字符串
//a evaluates to 310e
a = hex(12558)
数组/集合
数组创建
Example 1
arrArray1 = createArray(2)
arrArray1[0] = "Dog"
arrArray1[1] = 1.1
Example 2
list = createArray(2)
for (i=0; i<2; i++){
list[i]= i;
}
Example 3
arrArray1 = createArray(2)
arrArray1 = ["Cat",2]
数组连接
Example
arrArray1 = createArray(1)
arrArray1[0] = 1.1
arrArray2 = createArray(2)
arrArray2[0] = "Dog"
arrArray2[1] = 9
arrMyArray = arrArray1 + arrArray2
The contents of arrMyArray are [1.1,Dog,9].多维数组
Example 1
arrArray1 = createArray(2)
arrArray1[0] = 1.1
arrArray1[1] = "Dog"
arrArray2 = createArray(2)
arrArray2[0] = "0"
arrArray2[1] = "1"
arrNewArray = createArray(2)
arrNewArray[0] = arrArray1
arrNewArray[1] = arrArray2
//The contents of arrNewArray are [[1.1,Dog],[0,1]]. Example 2
arrArray1 = createArray(2)
arrArray1[0] = 1.1
arrArray1[1] = "Dog"
arrArray2 = createArray(2)
arrArray2[0] = "0"
arrArray2[1] = arrArray1[]
//The contents of arrArray2 are [0,[1.1,Dog]].