测量的过程中,经常会遇到需要对一批零件中的某几个选择性进行测量.
这时候通常是用一个主程序对几个零件的测量程序进行调用,但是我们可以用跳转JUMPTO的语句简单实现这一要求.
1.定义所需要的变量.
2.Prompt进行提示让用户选择.
3.做判断是测量还是跳转.
DECL/INTGR,ItemA,ItemB,ItemC,ItemD,ItemE
Tempchar = Prompt/CHECK,‘工件A’,ItemA,$
CHECK,‘工件B’,ItemB,$
CHECK,‘工件C’,ItemC,$
CHECK,‘工件D’,ItemD,$
CHECK,‘工件E’,ItemE
IF/(ItemA .EQ. 0)
Jumpto/(BBB)
ENDIF
$$$ 这段是测量A工件的程序
Write/DID(defaultscreen),‘测量A工件完成’
(BBB)
IF/(ItemB .EQ. 0)
Jumpto/(CCC)
ENDIF
$$$ 这段是测量B工件的程序
Write/DID(defaultscreen),‘测量B工件完成’
(CCC)
IF/(ItemC .EQ. 0)
Jumpto/(DDD)
ENDIF
$$$ 这段是测量C工件的程序
Write/DID(defaultscreen),‘测量C工件完成’
(DDD)
IF/(ItemD .EQ. 0)
Jumpto/(EEE)
ENDIF
$$$ 这段是测量D工件的程序
Write/DID(defaultscreen),‘测量D工件完成’
(EEE)
IF/(ItemE .EQ. 0)
Jumpto/(FFF)
ENDIF
$$$ 这段是测量E工件的程序
Write/DID(defaultscreen),‘测量E工件完成’
(FFF)
不用CASE的原因就是.
CASE主要用于一个判断条件,产生多的结果.
而上面子程序的调用,一般情况都是多选,例如选择测量 B D E
如果要用CASE,判断条件要写的太复杂了.
SELECT CASE
RE:给一个实际程序的例子吧
DECL/COMMON,CHAR,20,AAA
TEMPCHAR = PROMPT/TEXT,‘你是怎么笑的’,LIST,AAA,‘哈哈’,‘嘿嘿’,‘呵呵’,‘HOHO’
SELECT/AAA
CASE/‘哈哈’
WRITE/DID(DEFAULTSCREEN),‘性格爽朗’
ENDCAS
CASE/‘嘿嘿’
WRITE/DID(DEFAULTSCREEN),‘阴险~~~’
ENDCAS
CASE/‘呵呵’
WRITE/DID(DEFAULTSCREEN),‘没心没肺~~’
ENDCAS
CASE/‘HOHO’
WRITE/DID(DEFAULTSCREEN),‘上网上多了吧’
ENDCAS
ENDSEL
DECL/GLOBAL,CHAR,12,DEMO
TEMPSTR = PROMPT/TEXT,‘选择孔号’,EDIT,DEMO
SELECT/DEMO
CASE/‘1’
$$孔1测量语句
ENDCAS
CASE/‘2’
$$孔2测量语句
ENDCAS
ENDSEL