字符串函数(String Functions)

下表列出了可用的字符串函数。

ZPL字符串函数

函数 描述
$BUFFER() 返回镜头缓冲区中的当前字符串。可从各种ZPL关键字和函数中提取字符串数据。
$CALLSTR(i) 从索引i处的CALLMACRO的字符串缓冲区返回字符串。请参阅"从宏中调用宏"。
$COAT(i) 返回第i个表面的膜层名称。
$COATINGPATH() 返回膜层文件的路径名称。
$COMMENT(i) 返回第i个表面的注释字符串。
$DATAPATH() 返回数据文件的路径名称。
$DATE() 返回当前日期和时间字符串。日期和时间的格式由OpticStudio配置选项的"常规"部分中的"日期/时间"设置来定义的。
$EXTENSIONPATH() 返回OpticStudio扩展的路径名称。
$FILENAME() 返回当前镜头文件名,但不包含路径。
$FILEPATH() 返回当前镜头文件名,包含完整路径。
$GETSTRING(A$, n) 返回字符串A$中的第n个子串,字符串A$中使用空格作为分隔符。例如,如果A$ ="one two three",则$GETSTRING(A$,2)返回"two"。输入A$在调用此函数前必须定义为字符串变量。
$GETSTRINGC(A$, n) 返回字符串A$的第n个子串,字符串A$中使用逗号作为分隔符。例如,如果A$ ="one, two, three",则$GETSTRING(A$,2)返回"two"。输入A$在调用此函数前必须定义为字符串变量。
$GLASS(i) 返回表面编号为i的玻璃名称。
$GLASSCATALOG(i) 返回当前镜头的第i个载入的玻璃库名称。如果i小于1,则返回包含已载入所有玻璃库名称的单个字符串,以空格分隔。
$GLASSPATH() 返回玻璃库文件的路径名称。
$LEFTSTRING(A$, n) 返回字符串A$中最左侧的n个字符。如果A$中的字符数少于n个,则剩余的字符位置用空格填充。这样可以定义固定长度的字符串。输入A$在调用此函数前必须定义为字符串变量。
$LENSNAME() 返回系统选项中定义的镜头标题。
$MACROPATH() 返回宏文件的路径名称。
$NEWLINE() 返回制表符(\n)。此函数应主要用于更新系统选项中的"标题/注释"。
$NOTE(line#)

返回系统选项中定义的注释信息。由于注释可能很长,因此$NOTE以行为单位返回注释中的字符。在出现换行符(回车)或者当一行中连续字符总数超过100时,一行结束,以首先满足条件者为准。line#表示将返回注释中的哪一行。

例如,$NOTE(1)返回注释中的第一行(直至第一个换行符)。如果找到第一个换行符之前连续字符数超过100个,则第1行为前100个字符,第2行为截止到第一个换行符的其余字符,或者是接下来的100个字符,以首先满足条件者为准。

注释中的最大字符数量前限制为4000(但由于空格限制,在系统选项的"标题/注释"部分中可能无法编辑如此多的字符)。如果指定行的注释中没有任何已定义的字符,则$NOTE返回空字符串。

函数SLEN可用于确定$NOTE返回的实际字符数,使用的语法如下:

A$ = $NOTE(1) N = SLEN(A$)

数据N为字符串A$中的字符数(整数)。

$OBJECTPATH() 返回NSC物体文件的路径名称。
$PATHNAME() 仅返回当前镜头文件的路径名称。这可用于确定存储当前镜头文件的文件夹。
$PROGRAMPATH() 返回程序文件的路径名称。
$QUOTE() 返回双引号字符(")。
$RIGHTSTRING(A$,n) 返回字符串A$中最右侧的n个字符。如果A$中的字符数少于n个,则剩余的字符位置用空格填充。这样可以定义固定长度的字符串。输入A$在调用此函数前必须定义为字符串变量。
$STR(expression) 返回一个格式由关键字FORMAT定义的字符串,数值表达式可以是任何等式,包括常量、变量和函数的组合。请参阅用于将字符串转换为数值的函数SVAL(A$)。
$TAB() 返回制表符(\t)。
$TEMPFILENAME() 返回临时文件的名称,包含完整路径,适合于临时存储文本或二进制数据。请参阅关键字GETTEXTFILE。使用DELETEFILE关键字删除未自动删除的临时文件。
$TOLCOMMENT(operand) 返回指定公差操作数的注释。
$TOLOPERAND(operand) 返回指定公差操作数的操作数名称。
$UNITS() 根据当前镜头单位,返回MM、CM、IN或M。

下一部分: