CBL_DIR_SCAN_START

ファイルおよびディレクトリの検索の初期化を行う。

構文:
CALL "CBL_DIR_SCAN_START" using  by reference   handle
                                                pattern
                                 by value       search-attribute
                                                flags
                                 returning      search-status
パラメタ:
handle usage pointer.
pattern A group item containing the following subordinate items:
pattern-length cblt-x2-comp5.
pattern-content pic x(n)
search-attribute cblt-x4-comp5.
flags cblt-os-flags.
search-status 説明の読み方 参照
入力パラメタ:
pattern-length pattern-contentフィールドでのパターン列の長さ。操作と関連付けられる。スキャン中は変更不可。長さ0はナル終了pattern-contentを示す。pattern-lengthは、pattern-contentフィールドより長い設定はできない。
pattern-content

名称を検索する文字列。操作と関連付けられる。スキャン中は変更不可。ファイル名を含む含まないにかかわらず、ディレクトリ全体もしくはその一部を含む。もしくは、単にファイル名そのものを含む。パスの要素は"/"で区切ること。ナルがpattern-lengthで提供された文字列の最後尾より前にあるか、pattern-lengthの設定が0の場合、ナル終了文字列が認識される。フラグのビット1を設定した場合、ファイル名はワイルドカードを含む。"*"は任意の文字列のシーケンスを意味する。"?"は任意の文字を示す。フラグのビット0を設定した場合、感嘆符"!"が拡張文字として使用可能となる。ワイルドカードおよび拡張文字に関する詳細は、下記のコメント項目を参照のこと。

search-attribute 検索するファイルプロパティの指定に使用される。操作と関連付けられる。スキャン中は変更不可。有効値は以下のとおり。
ビットセット 内容
1 0 ファイルを検索する
2 1 ディレクトリを検索する
4 2 ファイルまたはディレクトリ以外のエントリを検索する
上記の指定されたビット以外は無視される。ビット0および2では、常にORを伴う。たとえば、ファイルもしくはディレクトリを検索する場合、ビット0および1(値は3)を設定する。すべてのエントリタイプを検索する場合は、ビット0、1、2(値は7)を設定する。
flags 以下の値のどちらかを設定する。
ビットセット 内容
1 0 pattern-contentの拡張シーケンスの実行を機能させる。デフォルトでは停止中。
2 1 pattern-contentフィールド内でのワイルドカードの使用を機能させる。本オプションが設定されたときのみワイルドカードが有効になる。
上記以外のビットは無視される。拡張シーケンスおよびワイルドカードの使用を両方とも機能させるには、ビット0および1(値は3)を設定する。
出力パラメタ:
handle 検索の参照。一旦、検索パラメタを指定して操作を取得した場合、パラメタの変更はできない。
説明:

ワイルドカードは検索対象となるパターンのファイル名の一部にのみ使用できる。たとえば、「main/rts/mf*.h」のように使用する。

ディレクトリ名やドライバの認識文字の代用には使用できない。

パターン内では、以下の文字を挿入して、拡張シーケンスを使用することができる。

"\", "/", "!", "*", "?"

拡張シーケンスを使用する場合は、拡張したい文字に続けて、拡張文字である感嘆符"!"を入力する。

たとえば、"abc?" と入力された場合、現在のフォルダ内で、"abc"の文字列で始まる4文字のファイルを検索する。

"abc!?"と入力された場合は、現在のフォルダ内で、"abc?"という名称のファイルを検索する。

 

呼出しの成功は、search-statusを検証して確認する。値が0の場合は成功となる。他の数値の場合は、標準の実行時システムエラーコードとなる。詳細は、「エラーメッセージ」内の 「実行時システムエラーメッセージ」の項目を参照のこと。

他参照: