フォルダのパスを渡して、その中のファイルパスを取得、配列で返す。
//JCL_file_List
//20250924
//フォルダ選択ダイアログを表示してフィルパスの配列を返す
//選択されたかどうか・選択されたフォルダのパス・選択されたフォルダの中身を返す
//JCL_file_SelectFolder でドキュメントリストを取得するやり方はNG。
//ファイルパスが失われるため、階層フォルダの中味をうまく扱えない
C_TEXT($1; $folder_path)
$folder_path:=$1
C_POINTER($2; $aryFileListPtr)
$aryFileListPtr:=$2
C_OBJECT($folder)
$folder:=New object
C_COLLECTION($files)
$files:=New collection
C_LONGINT($i)
C_TEXT($file_path)
$folder:=Folder($folder_Path; fk platform path)
$files:=$folder.files(fk recursive+fk ignore invisible)
For ($i; 1; $files.length)
//ファイルパスを取得して配列に追加
$file_path:=$files[$i-1].path
APPEND TO ARRAY($aryFileListPtr->; $file_path)
End for
$0:=$files.length
DOCUMENT LISTと同じような働きをする。次のように使う。
//zz_test_File2
//20250924
//ファイルオープンダイアログ、フォルダパスはPOSIXファイルパス
C_TEXT($folder_Path; $file_path)
ARRAY TEXT($aryFile; 0)
C_LONGINT($i; $sizeOfAry)
C_OBJECT($myFile)
$myFile:=New object
$folder_Path:=Select folder
JCL_file_List($folder_Path; ->$aryFile)
$sizeOfAry:=Size of array($aryFile)
For ($i; 1; $sizeOfAry)
$file_path:=$aryFile{$i}
//ファイルの中身を取得
$myFile:=File($file_path)
$fileText:=$myFile.getText("UTF-8"; Document with CR)
End for
ALERT($file_path+Char(13)+$fileText)