JCL_file_List

フォルダのパスを渡して、その中のファイルパスを取得、配列で返す。

//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)