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
以下の従属項目を含むグループ項目
01 pattern 03 pattern-length cblt-x2-comp5.*> pic x(2) comp-5 03 pattern-content pic x(n)
search-attribute
呼び出しプロトタイプ:cblt-x4-comp5
PIC:pic x(4) comp-5
search-status
説明の読み方」を参照してください。

入力パラメーター:

pattern-length
pattern-content フィールドのパターン文字列の長さ。この属性は、ハンドルと関連しているため、スキャン中は変更できません。長さが 0 の場合は、pattern-content フィールドが null で終了していることを表します。pattern-length には pattern-content フィールドの長さより小さな値を設定できますが、より大きな値を設定することはできません。
pattern-content
名前検索用の文字列。この属性は、ハンドルと関連しているため、スキャン中は変更できません。この文字列には、ファイル名を含む、または含まないディレクトリ パスの全体または一部や、ファイル名そのものを設定できます。従来のパス内の各要素は「\」で区切られます。pattern-length で提供される文字列の終わりより前に null がある場合や、pattern-length が 0 に設定されている場合、その文字列は null で終了している文字列だと認識されます。flags のビット 1 を設定している場合、ファイル名にワイルドカード文字を使用できます。ワイルドカード文字の「*」は任意の長さの文字列を表し、「?」は任意の 1 文字を表します。flags のビット 0 を設定している場合、プリング文字「!」をエスケープ文字として使用できます。ワイルドカードとエスケープ文字の使い方の詳細については、「説明」のセクションを参照してください。
search-attribute
検索対象ファイルのプロパティを指定するために使用できます。この属性は、ハンドルと関連しているため、スキャン中は変更できません。有効な値は次のとおりです。
ビット セット 意味
1 0 ファイルを検索。
2 1 ディレクトリを検索。
4 2 ファイルでもディレクトリでもないエントリを検索。
上記の指定ビットより上位のビットは無視されます。ビット 0 から 2 は常に OR で結合され、たとえばファイルまたはディレクトリのいずれかを検索対象にする場合はビット 0 と 1 (数値 3) を設定します。すべてのタイプのエントリを検索対象とする場合はビット 0、1 および 2 (数値 7) を設定します。
重要: このうちの少なくとも 1 つはビットを設定してください。
flags
次のいずれかの値を設定できます。
ビット セット 意味
1 0 pattern-content 内のエスケープ シーケンス処理を有効にします。デフォルトでは、エスケープ シーケンス処理は行われません。
2 1 pattern-content フィールドでのワイルドカード使用を可能にします。ワイルドカードはこのオプションが設定されている場合にのみ意味を成します。
4 2 返されるファイル名にパスが含まれるようにします。デフォルトでは、Windows のネイティブ ランタイム システムではパスは返されず、UNIX のネイティブ ランタイム システムとマネージ ランタイム システムではパスが返されます。
上記の指定ビットより上位のビットは無視されます。エスケープ文字の処理とワイルドカードの使用をともに有効にするには、ビット 0 と 1 の両方を設定 (数値 3) します。

出力パラメーター:

handle
この検索の参照。一度、検索パラメーターを指定してハンドルを取得したなら、パラメーターを変更することはできません。
search-status
戻り状態:
0 成功
1 検索を開始できない
2 無効な検索ハンドル
3 検索終了
127 その他のエラー

説明:

ワイルドカードは、次の例のように検索対象パターンのファイル名部分でのみ使用できます。

main/rts/mf*.h

ワイルドカードをディレクトリ名やドライブ文字で使用することはできません。

次のいずれかの文字を強制的に含めるため、パターン中でエスケープ シーケンスを使うことができます。

「\」、「/」、「!」、「*」、「?」。

エスケープ シーケンスを使用するには、エスケープ シーケンス文字、プリング (「!」) のあとにエスケープ指定する文字を入力します。次に例を示します。

「abc?」の場合、現在のフォルダーにあって「abc」で始まり、名前にさらにもう 1 文字を含むすべてのファイルが該当します。

「abc!?」の場合、現在のフォルダーにあって名前が「abc?」のファイルが該当します。