カレントディレクトリのファイルリストを作成します。ファイルリストのハンドルを返します。 得られたファイルリストハンドルを用いてCBL_DIR_SCAN_READおよびCBL_DIR_SCAN_ENDを呼び出します。 検索文字列により対象ファイルのフィルタリングを行うことができます。
指定方法
CALL "CBL_DIR_SCAN_START" USING BY REFERENCE ファイルハンドル 検索対象情報 BY VALUE 検索種別 検索オプション RETURNING 状態コード.
01 ファイルハンドル BINARY-LONG. 01 検索対象情報. 02 検索対象文字列長 PIC 9(4) COMP-5. 02 検索対象文字列 PIC X(n). 01 検索種別 PIC 9(4) COMP-5. 01 検索オプション PIC 9(4) COMP-5. 01 状態コード BINARY-LONG.
ファイルリストハンドルを格納する領域を指定します。 ファイルリストの作成に失敗した場合、“-1”が格納されます。
ファイルリストを作成するための検索文字列を指定します。 検索対象文字列長には検索文字列の長さを指定します。“0”が指定された場合、検索文字列はNull終端まで有効になります。 検索対象文字列には検索文字列を指定します。フォルダ名付きのパスが指定された場合、そのフォルダ内のファイルリストを作成します。
リストアップ対象を指定します。以下の値が指定可能です。
値 | 意味 |
---|---|
1 | フォルダ内のファイルをリストアップします。 |
2 | フォルダ内のフォルダをリストアップします。 |
3 | フォルダ内のファイルとフォルダをリストアップします。 |
検索文字列のオプションを指定します。以下の値が指定可能です。
値 | 意味 |
---|---|
0 | オプションを無効にして検索を行います。 |
1 | エスケープシーケンスを有効にします。 |
2 | ワイルドカードを有効にします。 |
3 | エスケープシーケンスとワイルドカードを有効にします。 |
エスケープシーケンスを有効にした場合、検索文字列中の”!”がエスケープシーケンスとして扱われます。 ”!”と任意の1文字が連続している場合、”!”は無視され、”!”が2つ並んでいる場合”!”1つとして扱います。
例) 検索文字列 が “a!bc!!d!” のとき、エスケープシーケンスを有効にすると “abc!d”で検索することと同義になります。
ワイルドカードを有効にした場合、検索文字列中の”*”は任意の文字列を表し、”?”は任意の1文字を表すものとして検索が行われます。
復帰コード
復帰コードは、RETURNINGに指定した状態コードに設定されます。
0:ファイルリストの作成に成功しました。ファイルリストのハンドルを返します。
1: ファイルリストの作成に失敗しました。ファイルリストのハンドルに”-1”を返します。
2: 無効なファイルリストハンドルが指定されました。
3: 検索条件に該当するファイルがありませんでした。
127:その他のエラーが発生しました。