还剩4页未读,继续阅读
文本内容:
第一部分基础知识基本概念PML可编程宏语言.Programmable MacroLanguage通常的开发包括两部分,一部分是宏,脚本语言;另一部分是面向对象的PML PMLPML2,编程语言.宏
1.PML Macro宏,就是一系列命令的集合.pml通过$执行.171格式为$m filename[paraml param2举例其中为参数,宏可以参数化.paraml举例面向对象的
2.PML2支持对象对话框和菜单PML Object,Form Menu.举例一.变量,函数和方法变量的定义及用法
1.在中,每一个变量都是对象.变量名以域者!!开头,例如!开头的变量为局部PML2weight.!变量,!!开头的为全局变量.内置了常用的变量类型.PML实属类型.提供基本的四则运算操作,例如1Real!a=10!b=10!a=!a+!b--输出变量的值$p$!a a字符串类型.例如2String!strName=7EQUI-TEST-r用于逻辑表达式.值只能是3Boolean true/false数组4Array5Position6Direction变量的创建,删除,查看
3.变量可以用赋值来创建.例如!str=abc也可以用类型标识来创建.!str=string!str=abc删除!str.delete查看:通常使用也可以用$q var!str p$!str方法和函数
4.method Function是一个对象的子程序.只有当对象存在,才可以调用对象的方法.例如MethodIstrNum=z123z!num=!strNum.Real$p$!num以上的代码,调用的类型的方法,将字符串转换为数字,并输出.string real函数的用法与方法类似,同样有参数和返回值,但函数是独立存在的,全局的.在任何地方,都可以调用.二.程序的结构控制循环语句
1.循环1Do例如!sum=0Do!i From1To100By1!sum=!sum+!iEnddo其中!为循环变量,初始值为终指为步长为当步长为是,一般省略.i1,100,
1.1中断2中断并跳出最内层循环Break:⑶跳过跳过当此存换.例如Skip.!sum=0Do!i From1To100By1$*跳过所有的偶数Skip ifint!i/2eq!i/2!sum=!sum+!iEnddo逻辑控制语句
2.格式为ifthen...else...其中括号内的必须是表达式.例如IF TYPEOF OWNEREQ BRANTHENELSEIF TYPEEQ BRANTHEN$P BRANCH$!!CE.NAMEELSE$P NOTBRANCHENDIF其中可选,可多个.elseif/else elseif跳转语句
3.定义标记Label/labell跳转Golabel/goll不建议使用.三.其他相关语句数组
1.字符串长度Length类型转换Real,Position Boolean,大小写转换LowCase,UpCase两端截取Afterstr2,Beforestr2,Substringindex中间截取Substringindex,nchars替换Replacestr2,str3匹配Matchstr2分割返回数组Split修剪Trim字符串
2.元素数量Size追加元素Appendvalue追加数组AppendArrayArray删除全部元素倒序Clear lnvert搜索Findvalue,FindFirstvalue和并重复项Unique表达式
3.⑴算术运算符+-*/连接运算符2⑶比较运算符LTGT EQNEQ逻辑运算符4ANDOR NOT计算函数
4.SqrtxPowerx elntx SinxCosxz注释
5.单行注释用一开头.-之前不可出现空格之外的字符单行注释$*.$*之后的内容为注释.$*之前可出现其他字符段落注释.用$和$将注释内容包括进来.举例打印
6.打印内容$p例如$p testline打印多行$p line1$Line2输出内容包括变量$p ce.name is$!!ce.name其中$为转义字符,如果要输出$,则使用$$异常处理
7.程序运行中,可能需要意料之中的可能发生的异常/错误,例如节点创建失败,遍历子节点时超过最后一个等等.这时需要捕捉异常,作出相应的处理.异常捕捉1例如Site/TEST_SITEHandle2,109$*节点不存在$pEndhandle其中为错误编号.也可以使用捕捉任意类型的错误.2,109handle any⑵捕捉多个异常Site/TEST_SITEHandle2,109$*节点不存在$pElsehandle2,108节点存在,但不是类型$p/TEST_SITE SITEelsehandle none节点存在$p Site/TEST_SITE endhandle其中表示没有遇到错误的情况.handlenone四.用户自定义方法/用自定义函数/自定义对象自定义方法
1.方法名参数类型,参数类型…返回值类型Define method1is2is is其中参数可没有返回值可以没有例如Define method.Sum!a isreal,!b isreal isreal■sum=!a+!bReturn!numendmethod自定义函数2Define function!!sum!a isreal,!b isreal isreal■sum=!a+!bReturn!numendFunction与方法类似.一个文件里只能定义一个函数,扩展名为必须放在指定的文件夹下,pmlfnc,并执行pml rehashall自定义对象3对象名Define objectendobject五.文件处理读取1!file=object FILEzd:\abcl
23.txtilines=!file.ReadFileQ varilines写入2!arr=array!arr.appendlinel!arr.appendliner!file=object FILEd:\abc.txt$*将数组!写入文件ifile.WriteFileCWRITE,!arr arr其中可以换成[覆盖和追加Write,OVERWRITE,APPEND1六.对话框及菜单系统对话框
1.询问!!1alert!匕由七崎旧确定要删除吗?iconfirm=8if!confirm neqYES thenreturnendif警告2!!alert.messagezmessage,⑶错误提示!!alert.errorzerror,自定义对话框
2.SETUP FORM!!custumForm咱定义对话框‘TITLE点击按钮,Text.textlButton.okExit这是一个最简单的对话框,显示一个文本框加上按钮,但是点击按钮不会有任何反应.截图对话框调用/初始化
3.Pmlhash allPmlreload form!!custumFormShow!!custumForm默认构造方法/初始化方法
4.每个初始化时,会自动调用与其名字相同的方法.在刚才的代码中加上formDefine method.custumForm初始化完成,ithis.textl.tag=Endmethod除此以外,还可以加上默认的初始化函数在开头加上一行!调用构造方法结束,显示之前,会自动调用this.initcall=ithis.initO,init方法界面消息的响应
5.界面消息的相应,例如点击按钮,选择下拉框等,用关联.callbackSETUP FORM!!custumForm自定义对话框‘TITLE点击按钮,Text.textlButton.ok OKExitDefinemethod.custumForm初始化完成,ithis.textl.tag=!this.ok.callback=z!this.ok/EndmethodDefine method.okiialert.messageCOKEndmethod此时,点击按钮,会弹出对话框.截图。