字符串函数(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。 |
下一部分: