PML语法

注释单行           
   --          
   S*          
 多行 $($)          
             
定义变量            
 var字符串用''或者||         
             
 编号变量var 1 (99+1)         
  var 2 'sdfsdf'         
             
 命名变量变量名不区分大小写,最大64字符。       
             
 ! 变量名局部变量          
 !! 变量名 全局变量          
             
 VAR方式定义的变量值为string类型        
PML2变量类型(不局限于STRING)         
             
 STRING           
 REAL           
 BOOLEAN           
 ARRAY !newarray = ARRAY()       
   !newarray[1]=|xxx|       
 自动分配变量类型          
 !answer = 42 REAL          
 !name='ff' STRING          
 !flag = TRUE BOOLEAN         
 明确指定变量类型          
 !number = real()          
 !text = string()          
             
控制语句            
DO循环            
  DO !loopCounter FROM 1 TO 10 BY 2       
   !value=!loopCounter*2       
   q var !loopCounter !value       
  ENDDO          
             
 带BREAK和IF          
  !n=0          
  DO  IF(!value GT 1000)     
  !n=!n+1  BREAK       
  !value=POW(!n,2) ENDIF       
  q var !value         
  BREAK IF(!value GT 1000)        
  ENDDO          
 带SKIP           
  DO !n FROM 1 TO 25        
   SKIP IF (!n LE 5) OR (!n GT 15)      
   q var !n         
  ENDDO          
 遍历数组           
  DO !X VALUES !ARRAY        
   !x数组里的对象       
  ENDDO          
             
  DO !X INDEX !ARRAY        
   !X从1到数组的长度的数字      
  ENDDO          
 循环实例           
  VAR !Zones COLL ALL ZONES FOR SITE       
  VAR !Names EVAL NAME FOR ALL FROM !Zones      
  q var !Names         
  DO !x VALUES !Names        
   q var !x         
  ENDDO          
             
  DO !x INDEX !Names        
   q var !Names[!x]        
  ENDDO          
IF条件控制           
 IF(!Number LT 0)THEN         
  !Negative=TRUE         
 ENDIF           
 IF(!1 EQ 0)THEN          
  $p Your value is zero        
 ELSEIF (!1 LT 0)THEN         
  $p Your value is less then zero       
 ELSE           
  $p Your value is Greather then zero       
 ENDIF           
从控制语句中跳转           
 DO !A           
   @P Processing @!A        
  DO !B TO 10         
   !C = !A*!B        
   GOLABEL /finished if(!C GT 100)      
   $P Product $!C        
  ENDDO          
 ENDDO           
 LABEL /finished          
 $P Finished with processing = $!A Product = $!C      
             
捕获异常            
 NEW EQUI/ABCD          
 HANDLE($41,8)          
  $p Need to be at a ZONE or below       
 ELSEHANDLE(41,12)          
  $p That name has already been used.Name must be unique    
 ELSEHANDLE ANY          
  $p Another erroe has occurred       
 ELSEHANDLE NONE          
  $p Everything OK.EQUI created       
 ENDHANDLE          
Alert对象           
 !!alert.error('This is an error!')        
 !!alert.warning('')         
 !!alert.message('')         
 Confirm返回'YES'或者'NO'         
  !Answer = !!Alert.Confirm(|Are you sre!|)      
  q var !Answer         
  <STRING> 'YES'         
 Question 返回'YSE''NO'或者'CANCEL'        
 Input           
 !!Alert.Input('填点什么','默认值')        
             
!!CE对象始终指向PDMS的当前元素         
             
PML2 FUNCTION           
 Function的源文件的后缀名为pmlfnc        
             
 define function !!Area(!radiu is REAL)is REAL      
 !CircleArea = !Radius.Power(2)*3.14        
 return !CircleArea         
 endfunction          
PML2中的构造函数和函数重载          
             
1.构造函数Form和Object都可以定义构造函数,构造函数的名字和From或者Object相同   
2.函数重载当在一个Form或者Object中定义了多个Method他们的名字相同但参数不同,系统会根据调用时的参数执行不同的method.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值