ファイル名をその構成要素、つまり、パス名、基本名および拡張子に分割する。
call "CBL_SPLIT_FILENAME" using sj-param split-buffer returning status-code
呼び出しプロトタイプ使用時 ( 説明の読み方) | PIC (32 ビット システム) | ||||
---|---|---|---|---|---|
sj-param | Group predefined as cblt-splitjoin-buf containing: | Group containing: | |||
cblte-sj-param-length | cblt-x2-compx | pic x(2) comp-x. | |||
cblte-sj-splitjoin-flg1 | cblt-x1-compx | pic x comp-x. | |||
cblte-sj-splitjoin-flg2 | cblt-x1-compx | pic x comp-x. | |||
cblte-sj-path-strt | cblt-x2-compx | pic x(2) comp-x. | |||
cblte-sj-path-len | cblt-x2-compx | pic x(2) comp-x. | |||
cblte-sj-cblte-sj-basename-strt | cblt-x2-compx | pic x(2) comp-x. | |||
cblte-sj-basename-len | cblt-x2-compx | pic x(2) comp-x. | |||
cblte-sj-extension-strt | cblt-x2-compx | pic x(2) comp-x. | |||
cblte-sj-extension-len | cblt-x2-compx | pic x(2) comp-x. | |||
cblte-sj-total-length | cblt-x2-compx | pic x(2) comp-x. | |||
cblte-sj-split-buf-len | cblt-x2-compx | pic x(2) comp-x. | |||
cblte-sj-join-buf-len | cblt-x2-compx | pic x(2) comp-x. | |||
cblte-sj-first-path-len | cblt-x2-compx | pic x(2) comp-x. | |||
split-buffer | pic x(n). | pic x(n). | |||
status-code | 説明の読み方 参照 |
param-length | sj-paramパラメーターの長さ(バイト)で、cblte-sj-param-lengthの2バイトを含む。cblte-sj-param-lengthの通常の値は24。 |
||||||||||||||
splitjoin-flg1 |
|
||||||||||||||
split-buf-len | split-bufferの長さ |
||||||||||||||
split-buffer | 分割する文字列 |
cblte-sj-splitjoin-flg2 |
|
||||||||
cblte-sj-path-strt | split-buffer内での装置名の先頭で、1から始まる。 |
||||||||
cblte-sj-path-len | パス名の長さ。何も入ってない場合はゼロ。これは後に続くコロン(:)を含む。 |
||||||||
cblte-sj-basename-strt | split-buffer内での基本名の先頭で、1から始まる。 |
||||||||
cblte-sj-basename-len | 基本名の長さ。何も入ってない場合はゼロ。これは後に続くピリオド(.)を含まない。 |
||||||||
cblte-sj-extension-strt | split-buffer内での拡張子の先頭で、1から始まる。 |
||||||||
cblte-sj-extension-len | <拡張子の長さ。何も入ってない場合はゼロ。これは先行するピリオド(.)を含まない。 |
||||||||
cblte-sj-total-length | 文字列内の合計文字数 |
||||||||
cblte-sj-first-path-len | 最初の\または/またはコロン(:)(含む)までの文字数。split-bufferにこれらのいずれも含まれてない場合、parameterはcblte-sj-path-lenに等しい。 |
||||||||
split-buffer | cblte-sj-splitjoin-flg1のビット0が設定されていると、本ルーチンは大文字にフォールドされる。cblte-sj-splitjoin-flg1のビット1が設定されず、split-buffer が引用名であった場合(埋め込みスペースや引用符を含む場合もある)、不要な引用文字は削除される。 |
||||||||
status-code | 戻り状態:
|
cblte-sj-splitjoin-flg1の最下位のビット(ビット0)を設定することによって、本ルーチンを大文字にフォールドするようにできる。このビットが設定されていないと、元の大文字と小文字はそのまま保存される。
本ルーチンはナルで終了する文字列またはスペースで終了する文字列のいずれも受け取る。cblte-sj-splitjoin-flg1の最下位ビットの次のビット(ビット1)を設定すると、ルーチンはナルで終了する文字列を受け取るものと予想する。このビットが設定されてないと、スペースで終了する文字列を受け取るものと予想する。
2個またはそれ以上のドット(.)がファイル名に含まれていると(パス名に含まれるドット(.) は数えない)、戻される拡張子は最後のドットとファイル名の終わりの間の文字列で構成される。基本名は最後のドット(.) (ドットは含まない)までのすべてを含む。
拡張子のないファイル名と拡張子がスペースであるファイル名(つまり、最後の文字がドット(.)である基本名)を区別するためには、拡張子がスペースの場合は、cblte-sj-extension-lenは1でcblte-sj-extension-strtは最後のドット(.)を指す。
ファイル名ルーチン - 例************************************************************