文字列関数

次の表に、使用可能な文字列関数を示します。

ZPL 文字列関数

関数 説明
$BUFFER() レンズ バッファ内の現在の文字列を返します。さまざまな ZPL キーワードおよび関数から文字列データを抽出する場合に、この関数を使用します。
$CALLSTR(i) インデックス i の CALLMACRO 文字列バッファの文字列を返します。「マクロからのマクロの呼び出し」を参照してください。
$COAT(i) i 番目の面のコーティング名を返します。
$COATINGPATH() コーティング ファイルのパス名を返します。
$COMMENT(i) i 番目の面のコメント文字列を返します。
$DATAPATH() データ ファイルのパス名を返します。
$DATE() 現在の日時の文字列を返します。形式は、[OpticStudio 環境設定] (OpticStudio Preferences) の [全般] (General) セクションにある [日付/時間] 制御設定で指定されます。
$EXTENSIONPATH() OpticStudio 拡張機能のパス名を返します。
$FILENAME() 現在のレンズ ファイル名を、パスは含めずに返します。
$FILEPATH() 現在のレンズ ファイル名を、パス全体を含めて返します。
$GETSTRING(A$, n) 区切り文字にスペースを使用する文字列 A$ の n 番目のサブ文字列を返します。たとえば、A$ = "one two three" の場合、$GETSTRING(A$, 2) は two を返します。入力する A$ は、この関数を呼び出す前に文字列変数として定義しておく必要があります。
$GETSTRINGC(A$, n) 区切り文字にコンマを使用する文字列 A$ の n 番目のサブ文字列を返します。たとえば、A$ = "one,two,three" の場合、$GETSTRING(A$, 2) は two を返します。入力する A$ は、この関数を呼び出す前に文字列変数として定義しておく必要があります。
$GLASS(i) 面番号 i のガラス名を返します。
$GLASSCATALOG(i) 現在のレンズの i 番目にロードされたガラス カタログの名前を返します。i が 1 より小さい場合は、ロードされたすべてのカタログの名前をスペースで区切って 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 です (ただし、スペースの制限により、システム エクスプローラの [タイトルと注釈] (Title/Notes) セクションで、これほど多くの文字を編集することはできない可能性もあります)。注釈内の指定の行に定義されている文字がない場合、$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 を返します。

次へ :