ZPL提供了一个关键词INPUT,允许在程序运行过程中由用户通过键盘输入数值信息或字符串信息。INPUT的用法如下:
INPUT "Prompt String", variable
INPUT variable
INPUT "Prompt String", string_variable$
INPUT string_variable$
ZPL通过关键词PRINT可以在消息窗口中输出数值或字符串信息。实际上,PRINT既可以往屏幕上输出信息,也可以往文件中输出信息, 这通过关键词 OUTPUT来控制。OUTPUT的用法如下:
OUTPUT SCREEN
OUTPUT filename$
OUTPUT filename$, APPEND
如果OUTPUT后面跟SCREEN,则随后的PRINT语句将把结果显示在屏幕上,而如果OUTPUT后面跟文件名filename$,则随后的PRINT语句将把结果输出到相应的文件中。另外,如果在OUTPUT中用到APPEND,则将结果输出到相应文件的最后而不覆盖文件已有的内容。
关键词PRINT常和另外一个关键词FORMAT配合使用。FORMAT可以控制打印到文本窗口或文件中的数值量的格式,其用法为:
FORMAT m.n
FORMAT m.n EXP
FORMAT m INT
FORMAT "C_format_string" LIT
其中,m和n为整数,由小数点"."分开。m代表打印的总字符数,包括空格,n代表打印在小数点后的位数。如果m.n后跟有EXP,表示打印格式为科学计数法,如果m后跟有INT,表示打印的数值量应先转换为整数形式再打印出来。如果用到LIT,则表明所打印的格式为C语言中的输出控制格式,由字符串"C_format_string"决定。
除了前面介绍的用INPUT通过屏幕和键盘输入信息外,ZPL还支持打开文本文件并从中读取数值或字符串信息。对文本文件进行操作可能用到的关键词及函数如下:
OPEN,READ,READNEXT,READSTRING,CLOSE, EOFF( )
其中,OPEN 用于打开文本文件,其用法为:
OPEN “filename”
或 OPEN filename$
在文件打开后,可通过 READ、 READNEXT或READSTRING读取信息。其中,READ 用于读取整行信息,并将所读的数值量存于 READ 后面所跟的数值变量中,用法为:
READ x, y, z, …
在使用 READ 读取数值信息时,READ 后面的变量的个数应该和数据文件中读取行的数据个数相同,否则 ZEMAX 会给多出的变量赋 0。
除了用 READ 整行读取数据外,也可以用关键词 READNEXT 读取数据,其与READ 的区别在于,READNEXT 读取数据的个数仅与其后面所跟的变量个数相同。READNEXT 的用法为:
READNEXT x, y, z, …
另外,如果要读取的信息为字符信息,可用 READSTRING 关键词。
READSTRING 的用法如下:
READSTRING textString$
READSTRING将整个读取行的字符信息存入其后的字符串变量textString$中。
有些时候,我们需要判断是否已经读到文件末尾,这时,可以用 ZPL 所提供的函数 EOFF( )。如果已经读到文件末尾,此函数返回值 1,否则返回值 0。EOFF( ) 只有在 READ、READNEXT 或 READSTRING 后面使用才有意义。