PML基础练习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一个简单的 Macro (1)
参数化宏Parameterized Macro (2)
变量给属性赋值 (2)
字符串方法实例 (2)
定义函数 (2)
练习-新建函数计算园的面积,测试函数 (3)
条件判断语句(If Construct) (3)
练习-条件判断 (3)
循环赋值 (4)
中断循环 Break (4)
用skip 跳过奇数 (4)
练习-跳转 (5)
错误提示 (5)
错误处理(Error Handling) (5)
数组(Array) (6)
赋值循环Do value (6)
索引循环Do indices (6)
管道排序 (6)
练习-选择一个设备,将所有Nozzle连接的管道添加进来 (6)
显示输出窗口.................................................................................错误!未定义书签。
一个简单的对话框(Form) (7)
缺省构造方法(Constructor method) (7)
控件定位 (7)
控件定义 (8)
设置控件初始值 (8)
按钮的应用实例 (9)
对话框控制属性-Apply (9)
多选框的应用实例 (10)
列表框应用实例 (11)
Alpha Views (12)
V olumn View (13)
文件处理(Handling Files) (13)
练习-文件处理 (13)
选择文件 (13)
一个简单的 Macro
NEW EQUIP /FRED
NEW BOX
XLEN 300 YLEN 400 ZLEN 600
NEW CYL DIA 400 HEI 600
CONN P1 TO P2 OF PREV
参数化宏Parameterized Macro
NEW EQUIP /$1
NEW BOX
XLEN $2 YLEN $3 ZLEN $4
NEW CYL DIA $3 HEI $4
CONN P1 TO P2 OF PREV
变量给属性赋值
New Pipe
Desc 'My Description'
Temp 100
Pspec /A3B
Purp PIPI
!desc = desc
!temp = temp
!pspec = pspec
!purp = purp
New Pipe
Desc '$!desc'
Temp $!temp
pspec $!pspec
purp $!purp
字符串方法实例
!str = 'hello how are you!'
!newstr = !str.after('hello').trim().replace('how', 'where').replace('!', '?')
q var !newstr
定义函数
define function !!Area( !Length is REAL, !Width is REAL ) is REAL
!Area = !Length * !Width
return !Area $*函数!!Area有两个参数一个返回值Endfunction
练习-新建函数计算圆的面积,测试函数
define function !!circleArea( !radius is REAL) is REAL !Area = PI * !Radius.Power(2)
return !Area
Endfunction
条件判断语句(If Construct)
!Type = Type
!OwnType = Type of Owner
IF (!Type eq 'BRAN') THEN
$P CE is Branch.
ELSEIF (!OwnType eq 'BRAN') THEN
$P CE is Branch member.
ELSE
$P CE is $!Type,Pls select Branch.
ENDIF
练习-条件判断
!type = type
add ce
if(!type eq 'BRAN') then
add href
add tref
elseif(!type eq 'NOZZ') then
add cref
endif
$p Current type = $!type
进一步判断:打印加入的元素个数
!n = 0
!type = type
add ce
if(!type eq 'BRAN') then
!href = href
!tref = tref
if(!href.set()) then
!n = !n + 1
add href
endif
if(!tref.set()) then
!n = !n + 1
add tref
endif
elseif(!type eq 'NOZZ') then
!cref = cref
if(!cref.set()) then
!n = !n + 1
add cref
endif
endif
$p Current type = $!type
$p Total $!n reference
循环赋值
!Total = 0
Do !x From 1 To 100 By 1
!Total = !Total + !x
Enddo
中断循环 Break
!Total = 0
Do !x From 1 To 100
!Total = !Total + !x
If(!Total gt 500) then
Break $*或者Break if(!Total gt 500)
Endif
Enddo
用skip 跳过奇数
Do !x From 1 To 100
If(Int(!x / 2) NE (!x / 2)) then
Skip $*或者Skip If(Int(!x / 2) NE (!x / 2)) Endif
!Total = !Total + !x
Enddo