pml二次开发基础语法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一部分: 基础知识
PML基本概念
Programmable Macro Language 可编程宏语言.
通常的PML开发包括两部分, 一部分是PML宏,脚本语言; 另一部分是PML2,面向对象的编程语言.
1.PML宏(Macro)
宏, 就是一系列pml命令的集合.
通过$m执行.
格式为: $m filename [param1 param2 ….]
(举例)
其中param1为参数, 宏可以参数化.
(举例)
2.面向对象的PML2
PML支持对象(Object),对话框(Form)和菜单(Menu).
(举例)
一.变量,函数和方法
1. 变量的定义及用法
在PML2中, 每一个变量都是对象. 变量名以!或者!!开头,例如!weight. !开头的变量为局部变量, !!开头的为全局变量.
PML内置了常用的变量类型.
(1)Real 实属类型. 提供基本的四则运算操作. 例如
!a = 10
!b = 10
!a = !a + !b
$p $!a --输出变量a的值
(2)String 字符串类型. 例如
!strName = ‘/EQUI-TEST-1’
(3)Boolean 用于逻辑表达式. 值只能是true/false
(4)Array 数组
(5)Position
(6)Direction
3.变量的创建, 删除, 查看
变量可以用赋值来创建. 例如
!str = ‘abc’
也可以用类型标识来创建.
! str = string()
! str = ‘abc’
删除: ! str.delete()
查看:通常使用q var! str 也可以用$p $!str
4.方法(method) 和函数(Function)
Method是一个对象的子程序. 只有当对象存在,才可以调用对象的方法. 例如!strNum = ‘123’
!num = !strNum.Real()
$p $!num
以上的代码, 调用的string类型的real()方法, 将字符串转换为数字,并输出.
函数的用法与方法类似, 同样有参数和返回值. 但函数是独立存在的,全局的. 在任何地方, 都可以调用.
二.程序的结构控制
1.循环语句
(1)Do循环
例如:
!sum = 0
Do !i From 1 To 100 By 1
!sum = !sum + !i
Enddo
其中!i为循环变量, 初始值为1, 终指为100, 步长为1. 当步长为1是,一般省略.
(2)中断
Break: 中断并跳出最内层循环
(3)跳过
Skip. 跳过当此存换. 例如
!sum = 0
Do !i From 1 To 100 By 1
Skip if ( int(!i / 2) eq (!i / 2)) $* 跳过所有的偶数
!sum = !sum + !i
Enddo
2.逻辑控制语句
格式为if () then … else …
其中括号内的必须是表达式.
例如:
IF (TYPE OF OWNER EQ ‘BRAN’) THEN
$P BRANCH $!!
ELSEIF (TYPE EQ ‘BRAN’) THEN
$P BRANCH $!!
ELSE
$P NOT BRANCH
ENDIF
其中elseif /else可选, elseif可多个.
3.跳转语句
定义标记Label /label1
跳转Golabel /gol1
不建议使用.
三.其他相关语句
1.数组
字符串长度Length()
类型转换Real(),Position(),Boolean()
大小写转换LowCase(),UpCase()
两端截取After(str2),Before(str2),Substring(index)
中间截取Substring(index,nchars)
替换Replace(str2,str3)
匹配Match(str2)
分割(返回数组) Split()
修剪Trim()
2.字符串
元素数量Size()
追加元素Append(value)
追加数组AppendArray(Array)
删除全部元素Clear()
倒序Invert()
搜索Find(value),FindFirst(value)
和并重复项Unique()
3.表达式
(1)算术运算符
+ - * /
(2)连接运算符
&
(3)比较运算符
LT GT EQ NEQ
(4)逻辑运算符
AND OR NOT
4.计算函数
Sqrt(x)
Power(x, e)
Int(x)
Sin(x)
Cos(x)
5.注释
单行注释用—开头. –之前不可出现空格之外的字符
单行注释$*. $*之后的内容为注释. $*之前可出现其他字符
段落注释. 用$(和$)将注释内容包括进来.
(举例)
6.打印